Skip to main content
Upgrade the ClickHouse Private components — the operator and the ClickHouse cluster (keeper + server) — to a new release.
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:
  1. Verify the cluster is healthy — confirm all server and keeper pods are running and ready, and the ClickhouseCluster CR status shows no errors:
    Do not proceed if any pods are crashlooping or the cluster is degraded.
  2. (Highly recommended for production) Take a full backup of your cluster — see Back Up and Restore ClickHouse. Verify the backup completes successfully (status = BACKUP_DONE in system.backups) before proceeding.
  3. 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.
  4. Copy all images for the new version to your internal ECR. Use the Component Versions reference for the target release.
  5. 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:
Check that there are no errors in the logs and that all managed clusters have been reconciled successfully:

3. Upgrade the onprem-clickhouse-cluster Helm Chart

Upgrade the onprem-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.
This triggers a rolling restart of keeper and server pods (one pod at a time). Repeat for each cluster.
Note: If your values.yaml pins server.image.tag or keeper.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 -fips variant 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:
All pods should be in 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 the clickhouse.com/skip-reconcile annotation. Add the annotation to any cluster you want to protect before upgrading the operator:
The operator skips reconciliation for annotated clusters entirely — no restarts or config changes are applied. Once you have validated the upgrade on your test cluster, remove the annotation to allow the operator to resume normal reconciliation:
Confirm the operator has noticed the annotation by checking its logs for:

Rollback

If issues are detected after the upgrade:
  • Operator rollback: redeploy the previous operator helm chart version.
  • Cluster rollback: redeploy the previous onprem-clickhouse-cluster helm 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.
Last modified on August 28, 2026