Upgrading OpenChoreo
This guide covers how to upgrade OpenChoreo components to newer versions.
Before You Upgradeβ
- Review release notes for the target version
- Backup critical data (see below)
- Test in non-production environment first
- Plan for downtime if required by the release notes
Backup Recommendationsβ
Before upgrading, consider backing up:
- OpenChoreo CRDs and resources: Organizations, Projects, Components, etc.
- OpenSearch data (if using Observability Plane)
- Container registry data (if using Build Plane)
# Export OpenChoreo resources
kubectl get organizations,projects,components,dataplanes,buildplanes -A -o yaml > openchoreo-backup.yaml
Upgrade Processβ
Single Cluster Deploymentβ
Upgrade each plane in order:
1. Control Plane
helm upgrade openchoreo-control-plane oci://ghcr.io/openchoreo/helm-charts/openchoreo-control-plane \
--version 0.0.0-latest-dev \
--namespace openchoreo-control-plane \
--reuse-values
Wait for pods to be ready:
kubectl rollout status deployment -n openchoreo-control-plane
2. Data Plane
helm upgrade openchoreo-data-plane oci://ghcr.io/openchoreo/helm-charts/openchoreo-data-plane \
--version 0.0.0-latest-dev \
--namespace openchoreo-data-plane \
--reuse-values
3. Build Plane (if installed)
helm upgrade openchoreo-build-plane oci://ghcr.io/openchoreo/helm-charts/openchoreo-build-plane \
--version 0.0.0-latest-dev \
--namespace openchoreo-build-plane \
--reuse-values
4. Observability Plane (if installed)
helm upgrade openchoreo-observability-plane oci://ghcr.io/openchoreo/helm-charts/openchoreo-observability-plane \
--version 0.0.0-latest-dev \
--namespace openchoreo-observability-plane \
--reuse-values
Multi Cluster Deploymentβ
Follow the same order, but use --kube-context for each cluster:
helm upgrade openchoreo-control-plane ... --kube-context $CP_CONTEXT
helm upgrade openchoreo-data-plane ... --kube-context $DP_CONTEXT
helm upgrade openchoreo-build-plane ... --kube-context $BP_CONTEXT
helm upgrade openchoreo-observability-plane ... --kube-context $OP_CONTEXT
Verifying the Upgradeβ
# Check helm releases
helm list -A
# Check pod versions
kubectl get pods -n openchoreo-control-plane -o jsonpath='{.items[*].spec.containers[*].image}'
# Check CRD versions
kubectl get crds | grep openchoreo
Rollbackβ
If issues occur, rollback to the previous release:
# List release history
helm history openchoreo-control-plane -n openchoreo-control-plane
# Rollback to previous revision
helm rollback openchoreo-control-plane -n openchoreo-control-plane
Version Compatibilityβ
| OpenChoreo Version | Kubernetes Version | Helm Version |
|---|---|---|
| 0.7.x | 1.32+ | 3.12+ |
| 0.6.x | 1.31+ | 3.12+ |
| 0.5.x | 1.30+ | 3.12+ |
Getting Helpβ
If you encounter issues during upgrade: