Best practice: Always run the upgrade on a staging or test cluster first before applying it to production. A dedicated test cluster that mirrors production is strongly recommended as part of your standard upgrade process.ClickHouse Private follows the slow ClickHouse Cloud release channel. See Release channel for what that means for the versions you upgrade to and when new ones become available.
Pre-Upgrade Checklist
Before beginning the upgrade:-
Verify the cluster is healthy — confirm all server and keeper pods are running and ready, and the
ClickhouseClusterCR status shows no errors:Do not proceed if any pods are crashlooping or the cluster is degraded. -
(Highly recommended for production) Take a full backup of your cluster — see Back Up and Restore ClickHouse. Verify the backup completes successfully (
status = BACKUP_DONEinsystem.backups) before proceeding. - Ensure the previous version is available for rollback — verify that the previous artifact versions are still accessible in your internal ECR. Having the images and charts present is sufficient to roll back quickly if needed.
- Copy all images for the new version to your internal ECR. Use the Component Versions reference for the target release.
- Run preflight checks. Preflight checks validate additional requirements and checks for deprecated feature flags. For more details see the How To: Run Preflight Checks page.
Upgrade Procedure
1. Upgrade the Operator Helm Chart
Keep all existing helm values the same, updating only the operator versions to the new target versions.Note: Upgrading the operator may trigger a rolling restart of all ClickHouse clusters it manages. If you have multiple clusters and want to validate the upgrade on one before allowing the operator to reconcile others, see Protecting Clusters During Upgrade below.
2. Validate the Upgraded Operator
Confirm the operator deployment is running and healthy:3. Upgrade the onprem-clickhouse-cluster Helm Chart
Upgrade theonprem-clickhouse-cluster helm chart for each cluster. Keep all existing helm values the same and change only the chart version — each chart version carries the tested and validated ClickHouse server and keeper versions for its release, so no image tags need to be set.
Note: If yourvalues.yamlpinsserver.image.tagorkeeper.image.tag, those values override the versions the chart ships with and the upgrade will not move ClickHouse. Remove them unless you intentionally need a specific version. FIPS deployments are the exception — they select the-fipsvariant by tag and must keep the tags set, updated to the new release.
4. Validate the Upgraded Cluster
After the rolling restart completes, confirm the cluster is healthy:Running state and the ClickhouseCluster CR should show no errors. To further validate connectivity, port-forward the ClickHouse service (see the Port-forward section in the relevant tutorial) and run a test query.
Protecting Clusters During Upgrade
If you manage multiple clusters under a single operator and want to validate the operator upgrade on one cluster before allowing it to reconcile others (e.g., test on a staging cluster before production), pause reconciliation on specific clusters using theclickhouse.com/skip-reconcile annotation.
Add the annotation to any cluster you want to protect before upgrading the operator:
Rollback
If issues are detected after the upgrade:- Operator rollback: redeploy the previous operator helm chart version.
- Cluster rollback: redeploy the previous
onprem-clickhouse-clusterhelm chart version, which restores the server and keeper versions that shipped with it. - Data recovery: if data issues are suspected, restore from the backup taken in the pre-upgrade checklist — see Back Up and Restore ClickHouse.