Upgrade Ceph from Squid (v19) to Tentacle (v20)
Each Ceph major version is delivered in its own Operator channel of the rook-operator package:
An existing cluster stays on its current channel. Publishing the Tentacle package to the catalog does not move it. You choose when to upgrade by switching the Subscription channel. If you do not switch the channel, the cluster keeps running Ceph Squid.
The upgrade from Squid to Tentacle cannot be rolled back. After Ceph daemons run Tentacle, do not switch the Subscription back to alpha, and do not set CephCluster.spec.cephVersion.image to a Squid image.
TOC
RequirementsPlatformNode kernelCluster stateProcedure1. Check the current state2. Switch the Subscription channel3. Approve the InstallPlan4. Wait for the upgrade to finish5. VerifyIf the upgrade does not progressRelated topicsRequirements
Platform
- The cluster runs 4.5 or later. Rook 1.20 requires Kubernetes 1.31 or later, so upgrade the platform before you upgrade Alauda Storage.
- The
rook-operatorpackage that contains thestable-1.20channel is uploaded to the catalog. See Upload Packages.
Node kernel
All nodes that run Ceph daemons or mount Ceph volumes must run Linux kernel 5.11 or later.
Check the kernel version of every node:
This upgrade was validated on Red Hat Enterprise Linux 9.6 with kernel 5.14.0-570.12.1.el9_6 for both RBD and CephFS kernel clients.
Cluster state
CephClusterisReadyandstatus.ceph.healthisHEALTH_OK.- All PVCs that use Ceph storage classes are
Bound. - The
rook-operatorSubscriptionuses Manual approval. See Confirm Manual approval.
Procedure
1. Check the current state
Expected: channel=alpha, approval=Manual, phase=Ready, health=HEALTH_OK, and a 19.2.x version.
Confirm that the catalog offers the stable-1.20 channel:
2. Switch the Subscription channel
OLM creates an InstallPlan for the latest CSV in stable-1.20. Intermediate versions are skipped.
3. Approve the InstallPlan
Approve the pending plan from the Ceph details page or with kubectl, as described in Approve the Operator package. Approving the plan starts the Ceph major version upgrade.
Confirm that the plan targets a stable-1.20 CSV before you approve it.
4. Wait for the upgrade to finish
Watch the daemon versions until every daemon reports 20.2.x:
In validation on a three-node cluster with six OSDs, the upgrade finished in about 7 minutes. The time grows with the number of OSDs.
5. Verify
- The new CSV is
Succeeded. phase=Ready,health=HEALTH_OK, and the version is20.2.x.- No Ceph-backed PVC is in a state other than
Bound. - Existing workloads can read their data, and new PVCs can be created and mounted.
If the toolbox is available, confirm that all daemons run Tentacle:
If the upgrade does not progress
- No InstallPlan after switching the channel: confirm that the
stable-1.20channel exists in thePackageManifestand that theSubscriptionhas nostartingCSVthat pins an older version. - The Operator is upgraded but Ceph daemons do not roll: confirm that the new CSV is
Succeededand that itsrelatedImagescontains exactly one entry namedceph. - Health stays at
HEALTH_WARNorHEALTH_ERRafter all daemons restart: runceph health detailfrom the toolbox and resolve the reported checks before you continue.
Do not delete the CephCluster, Rook Operator, or PV objects to recover an upgrade.
Related topics
- Upgrade the Operator — publish and approve a new Operator version within the current channel
- Upload Packages — upload the Operator package
- Operator —
Subscription,InstallPlan, and approval strategy - Supported OS and Kernel Versions
Ceph is a trademark or registered trademark of Red Hat, Inc. or its subsidiaries in the United States and other countries. Rook® is a registered trademark of The Linux Foundation. Alauda is an independent vendor. This product is not affiliated with, endorsed by, or sponsored by LF Projects, LLC or The Linux Foundation. All trademarks are the property of their respective owners and are used here for identification purposes only.