Upgrade Legacy Helm Deployment to 1.1181.0
If you are using the legacy kasm-single-zone chart, follow the steps below to upgrade your Kasm Helm deployment to 1.1181.0.
You must upgrade to 1.1181.0 first before you can further upgrade to 1.1190.0.
At a Glance: Upgrade Steps
- Backup your Kasm database
- Update StatefulSet PVC Retention Policy
- Delete your old Kasm Helm release
- Download the 1.1181.0 Helm Chart
- Configure Helm Chart Values for Upgrade
- Install the 1.1181.0 release
- Verify and log in
1. Backup Your Database and Secrets
-
Deploy the DB backup job template to your Kasm namespace:
kubectl apply -f db-backup.yaml -n {NAMESPACE}kubectl logs backup-<job-id> -n {NAMESPACE} --follow -
Sample output:
kasm-old-db-backup-container Creating DB Backup...-rwxr-xr-x. 1 kasm kasm 1.8M Jul 23 18:26 /data/kasm-db-dump/kasm_dump.tar -
Backup secrets and store output securely:
kubectl -n {NAMESPACE} get secrets/kasm-secrets --template='{{ range $key, $value := .data }}{{ printf "%s: %s\n" $key ($value | base64decode) }}{{ end }}' -
Sample output:
admin-password: xxxdb-password: xxxmanager-token: xxxredis-password: xxxservice-token: xxxuser-password: xxx
2. Update StatefulSet PVC Retention Policy
This ensures your Persistent Volumes are preserved when the Helm release is deleted.
helm upgrade --no-hooks {RELEASE_NAME} {old-chart-path} -n {NAMESPACE} --reuse-values --set kasmApp.servicesToDeploy.db.persistentVolumeClaimRetentionPolicy.enabled=true --set kasmApp.servicesToDeploy.db.persistentVolumeClaimRetentionPolicy.whenDeleted=Retain
Replace the placeholders:
{RELEASE_NAME}: The name of your Kasm Helm release. Runhelm list -n {NAMESPACE}if you are unsure.{NAMESPACE}: The Kubernetes namespace where your Kasm deployment is running.{old-chart-path}: The file path to your existing chart directory (for example:/home/user/kasm-helm/kasm-single-zone).
Verify the retention policy has been updated:
kubectl -n {NAMESPACE} get statefulset kasm-db-statefulset -o yaml | grep whenDeleted
Expected output (if you don't see this, the retention policy isn't applied correctly):
whenDeleted: Retain
3. Delete the Old Kasm Helm Release
This step will remove your Kasm deployment. However, because you updated the StatefulSet PVC retention policy in Step 2, your database and persistent volumes will be preserved.
helm uninstall {RELEASE_NAME} -n {NAMESPACE} --no-hooks
4. Download the 1.1181.0 Helm Chart
git clone https://github.com/kasmtech/kasm-helm.git
cd kasm-helm
git checkout release/1.18.1
5. Configure Helm Chart Values for Upgrade
Refer to the chart documentation to configure your my-values.yaml override file. For example:
publicAddr: "kasm.contoso.com"
certificate:
secretName: kasm-ingress-cert
proxyService:
type: ClusterIP
ingress:
enabled: true
Then add the following dbManagement section:
dbManagement:
initialize: false
upgrade:
enable: true
Leave other dbManagement.upgrade values as default unless you customised your PVC or DB backup file name.
6. Install the 1.1181.0 Release
helm install {RELEASE_NAME} ./charts/kasm -n {NAMESPACE} -f my-values.yaml
Notes:
- The
{NAMESPACE}must be the same namespace where your old chart and backup job was deployed. - Ensure you have already updated your
my-values.yaml(see Step 5) before running the install.
7. Verify and Log In
-
Wait several minutes for all services to come online.
-
Access your Kasm environment using the
publicAddrvalue you set. -
For admin and user credentials, see the helm note via:
helm get notes {RELEASE_NAME} -n {NAMESPACE}
Upgrade to 1.1190.0
To further upgrade to 1.1190.0, follow the Upgrade New Helm Deployment.
Upgrade Troubleshooting
See Kubernetes Troubleshooting for assistance.