Getting Started
Verified against the
masterexample manifests at commit63eed4e. Commands assume a running Kubernetes cluster andkubectlconfigured against it.
Prerequisites
- A Kubernetes cluster with nodes that have raw block devices or unformatted partitions available for Ceph OSDs.
kubectlwith cluster-admin access.- Optionally
helmif you prefer the chart-based install.
Install
Apply the three operator manifests from deploy/examples in order:
git clone https://github.com/rook/rook.git
kubectl apply -f rook/deploy/examples/crds.yaml
kubectl apply -f rook/deploy/examples/common.yaml
kubectl apply -f rook/deploy/examples/operator.yamlThe Helm path is equivalent: install the rook-ceph chart for the operator, then the rook-ceph-cluster chart for the cluster (Getting Started).
A first working setup
Confirm the operator pod is running.
bashkubectl -n rook-ceph get pod -l app=rook-ceph-operatorCreate the cluster. Use
cluster.yamlfor a real multi-node cluster, orcluster-test.yamlfor a single-node test setup.bashkubectl apply -f rook/deploy/examples/cluster.yamlDeploy the toolbox pod so you can run Ceph commands.
bashkubectl apply -f rook/deploy/examples/toolbox.yaml
Verify it works
Watch the CephCluster resource until its health reports HEALTH_OK:
kubectl -n rook-ceph get cephclusterThen exec into the toolbox and ask Ceph directly:
kubectl -n rook-ceph exec -it deploy/rook-ceph-tools -- ceph statusRook drives the cluster through status.conditions, moving the resource to Progressing while it configures mons, mgr, and OSDs (pkg/operator/ceph/cluster/cluster.go:116), so the CephCluster status is the authoritative signal that orchestration finished.
Where to go next
For production concerns such as high availability, storage class configuration, object and file storage, monitoring, and upgrades, see the official Rook Ceph documentation.