Upgrade existing Ceph Controller to Pelagia#
In the new version of k0rdent virtualization, k0rdent is moving to use the upstream Pelagia Ceph controller. This change allows us to leverage the latest features and improvements from the Pelagia Ceph community while maintaining enterprise-grade stability and support.
If the cluster already has Ceph installed using an older controller, follow the steps below to upgrade to the Pelagia controller without downtime.
Supported Versions#
The Pelagia controller supports Ceph version 18.2 (Reef) and 19.2 (Squid).
Prerequisites#
Before upgrading to the Pelagia controller, ensure that:
- Your current Ceph deployment is healthy and all PVCs are bound
- You have performed a backup of all critical data
Upgrade Steps#
To upgrade the Ceph Controller to the Pelagia version on k0rdent, follow these steps:
-
Create a new
ServiceTemplatewith migration chart:2. AfterapiVersion: k0rdent.mirantis.com/v1beta1 kind: ServiceTemplate metadata: name: ceph-1-2-2 namespace: kcm-system spec: helm: chartSpec: chart: ceph-operator interval: 10m0s reconcileStrategy: ChartVersion sourceRef: kind: HelmRepository name: ceph-templates version: 1.2.2ceph-1-2-2ServiceTemplatebecomes valid, edit theClusterDeploymentto update to migration chart:... spec: serviceSpec: services: ... - name: ceph namespace: ceph-lcm-mirantis template: ceph-1-2-2 values: | global: namespace: "" pelagia-ceph: rookConfig: csiKubeletPath: /var/lib/k0s/kubelet controllers: cephMaintenance: enabled: false installNamespaces: false <existing values> -
Wait for the migration to complete. Monitor the logs of the Ceph Controller pod in the
ceph-lcm-mirantisnamespace to track the progress of the migration:kubectl -n ceph-lcm-mirantis logs -l app=ceph-controller -f -
After migration is complete, Ceph cluster will be running with the Pelagia controller. You can verify the CephDeployment status:
kubectl get cephdeployment -n ceph-lcm-mirantis