Upgrade a DataStax Enterprise Cluster With Zero Downtime
DataStax Mission Control is currently in Public Preview. DataStax Mission Control is not intended for production use, has not been certified for production workloads, and might contain bugs and other functional issues. There is no guarantee that DataStax Mission Control will ever become generally available. DataStax Mission Control is provided on an “AS IS” basis, without warranty or indemnity of any kind.
If you are interested in trying out DataStax Mission Control please join the Public Preview.
Apply and deploy a new version of DataStax Enterprise to an existing cluster. Modify the MissionControlCluster manifest, updating the DSE version from 6.8.25 to 6.8.26.
contextpointing to a
Control PlaneKubernetes cluster.
The existing deployment consists of 1 datacenter (
dc1) with 3 nodes, each node on a separate rack.
Datacenter-level operator repeats steps c-e for all racks in one datacenter.
Cluster-level operator repeats steps b-e for all datacenters in a cluster, one dc at a time, in the case of a multi-datacenter cluster.
User follows Upgrade SSTables steps, if required.
Upgrades of DataStax Enterprise versions follow the same process as configuration change deployments. See Deploying Configuration Changes to a DataStax Enterprise Cluster.
Modify the existing MissionControlCluster YAML (demo.yaml) in the
Control PlaneKubernetes cluster, overwriting the value
apiVersion: missioncontrol.datastax.com/v1beta1 kind: MissionControlCluster metadata: name: demo spec: k8ssandra: cassandra: serverVersion: 6.8.26 ...
Submit the version change to the Kubernetes
Control Planecluster with the following command:
kubectl apply -f demo.yaml
The DSE version upgrade is done as a rolling update.
Monitor the progress of the upgrade from the
Data Planeeast cluster, looking at the status of the CassandraDatacenter with this command:
kubectl get cassandradatacenter dc1 -o yaml
Here is a partial sample of the results:
status: cassandraOperatorProgress: Updating conditions: - lastTransitionTime: "2022-10-20T16:07:10Z" message: "" reason: "" status: "True" type: Healthy - lastTransitionTime: "2022-10-20T16:07:10Z" message: "" reason: "" status: "False" type: Stopped ...
conditions:statusfield value of "True" indicates that the update is in progress. Upon completion of the
Updatingoperation, the Cass-Operator changes the
conditions.statusfield value to "False".
Users may trigger an Upgrade SSTables operation to rewrite SSTables into newer formats, if required.