Skip to main content
Version: 1.19.0 (latest)

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.

note

You must upgrade to 1.1181.0 first before you can further upgrade to 1.1190.0.

At a Glance: Upgrade Steps

  1. Backup your Kasm database
  2. Update StatefulSet PVC Retention Policy
  3. Delete your old Kasm Helm release
  4. Download the 1.1181.0 Helm Chart
  5. Configure Helm Chart Values for Upgrade
  6. Install the 1.1181.0 release
  7. 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: xxx
    db-password: xxx
    manager-token: xxx
    redis-password: xxx
    service-token: xxx
    user-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:

  1. {RELEASE_NAME}: The name of your Kasm Helm release. Run helm list -n {NAMESPACE} if you are unsure.
  2. {NAMESPACE}: The Kubernetes namespace where your Kasm deployment is running.
  3. {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

warning

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
note

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:

  1. The {NAMESPACE} must be the same namespace where your old chart and backup job was deployed.
  2. 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 publicAddr value 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.