Marketplace

Ceph Storage (Rook)

Block, shared file and S3-compatible object storage for in-cluster workloads, backed by Ceph and Rook

By System · 0.5.0-master.3794

About

Overview

The Ceph Storage plugin deploys a Rook-managed Ceph cluster on your Kubernetes nodes and turns their spare raw disks into block, shared file and object storage. Once installed, create a DiskPool to contribute disks, then a BlockStorage or FileStorage to provision a StorageClass that any PersistentVolumeClaim can reference, or an ObjectStorage to provision S3-compatible buckets through ObjectBucketClaims.

Installed versions

  • Rook v1.21.1
  • Ceph v19.2.7
  • Ceph CSI v3.18.2

Key Features

  • Automatic disk discovery: nodes are scanned for raw block devices, which appear in the console as Disks
  • Declarative disk pools: a DiskPool selects which discovered disks to contribute to the shared cluster
  • Block, file and object storage classes: a BlockStorage produces a ready-to-use ReadWriteOnce StorageClass; a FileStorage produces a ReadWriteMany StorageClass backed by a shared filesystem with active and standby metadata servers; an ObjectStorage produces an S3-compatible object store (Ceph RGW) whose StorageClass provisions buckets for ObjectBucketClaims
  • Tunable replication: set 1, 2 or 3 replicas per storage object, or leave it unset to derive the count from the number of nodes contributing disks

Use Cases

  • Persistent block volumes for stateful workloads (databases, message queues)
  • Shared volumes many pods can mount at once (shared caches, content repositories)
  • S3-compatible buckets for in-cluster workloads (artifacts, backups, media)
  • ReadWriteOnce and ReadWriteMany volumes on bare-metal or VM clusters
  • Cost-effective in-cluster storage using spare raw disks

Requirements

  • Raw, unpartitioned disks on the cluster nodes. Disks that already hold a filesystem or partition table are not offered.
  • Cluster-admin-equivalent permissions. The Rook operator runs privileged, host-networked device-discovery DaemonSets, installs the Ceph CSI driver, and manages its own cluster-wide RBAC, so this plugin requests wildcard permissions and runs as cluster-admin on the cluster you install it into.

Limitations

  • The S3 endpoint is reachable in-cluster only; exposing it externally (and standalone S3 users) is not offered yet.
  • All disk pools feed one shared Ceph cluster, and data is placed across every disk in it. Additional BlockStorage/FileStorage/ObjectStorage objects give you additional StorageClasses over the same disks.

Permissions

Once installed, Ceph Storage (Rook) is granted the following access to your cluster.

This plugin asks for access to every resource in your cluster, which amounts to full administrator rights.

Can view and change 21

  • All resources*

    Every kind of resource in the cluster, including ones added later.

  • Block storagesblockstorages
  • Ceph block poolscephblockpools
  • Ceph clusterscephclusters
  • Ceph file systemscephfilesystems
  • Ceph object storescephobjectstores
  • Custom resource definitionscustomresourcedefinitions

    New kinds of resources added to the cluster.

  • Disk poolsdiskpools
  • Disksdisks
  • File storagesfilestorages
  • Finalizers of block storagesblockstorages/finalizers

    Cleanup steps that must finish before the resource is removed.

  • Finalizers of disk poolsdiskpools/finalizers

    Cleanup steps that must finish before the resource is removed.

  • Finalizers of file storagesfilestorages/finalizers

    Cleanup steps that must finish before the resource is removed.

  • Finalizers of object storagesobjectstorages/finalizers

    Cleanup steps that must finish before the resource is removed.

  • Object storagesobjectstorages
  • Status of block storagesblockstorages/status

    The state reported back on the resource.

  • Status of disk poolsdiskpools/status

    The state reported back on the resource.

  • Status of disksdisks/status

    The state reported back on the resource.

  • Status of file storagesfilestorages/status

    The state reported back on the resource.

  • Status of object storagesobjectstorages/status

    The state reported back on the resource.

  • Storage classesstorageclasses

    The kinds of storage workloads can request.

Can view 2

  • Config mapsconfigmaps

    Non-secret configuration data.

  • Object bucketsobjectbuckets