Cloud / HELM Interview Questions
How do you migrate from Helm v2 to Helm v3?
Migrating from Helm v2 to v3 requires careful planning due to architectural changes (removal of Tiller).
Prerequisites: Helm v3 client installed, kubectl access, backup important releases.
Step 1: Install Helm v3 alongside v2 # Download Helm v3 binary wget https://get.helm.sh/helm-v3.12.0-linux-amd64.tar.gz tar -zxvf helm-v3.12.0-linux-amd64.tar.gz sudo mv linux-amd64/helm /usr/local/bin/helm3 helm3 version
Step 2: Install helm-2to3 plugin helm3 plugin install https://github.com/helm/helm-2to3
Step 3: Migrate configuration helm3 2to3 move config # Migrates helm v2 config (repositories, plugins) to v3
Step 4: Migrate releases (dry-run first) # List v2 releases helm3 2to3 list # Dry-run migration for a release helm3 2to3 convert my-release --dry-run # Convert release (moves to v3, deletes from Tiller) helm3 2to3 convert my-release # Convert all releases with label filter helm3 2to3 convert --label-filter="app=myapp" --all
Step 5: Clean up Tiller (after all releases migrated) # Remove Tiller deployment kubectl delete deployment tiller-deploy -n kube-system kubectl delete service tiller-deploy -n kube-system kubectl delete clusterrolebinding tiller kubectl delete clusterrole tiller
Step 6: Chart compatibility updates # Update Chart.yaml apiVersion: v2 # Changed from v1 dependencies: # Moved from requirements.yaml - name: redis version: 16.x.x repository: https://charts.bitnami.com/bitnami # Remove requirements.yaml # Update template references (no architectural changes needed for most charts)
Common migration issues:
- CRDs: v3 installs crds/ before templates; ensure CRDs not in templates/
- Hooks: Job restartPolicy changed (OnFailure recommended)
- Values precedence: v3 merges differently; test with --dry-run
- Release storage: v3 uses Secrets; gets converted automatically
Validation after migration: helm3 list --all-namespaces helm3 history my-release helm3 get values my-release --all helm3 test my-release
Rollback plan: Keep Helm v2 client and Tiller until all releases verified. If issues occur, helm-2to3 plugin can revert: helm3 2to3 revert my-release
More Related questions...