⚠️ This Helm chart is currently under technical Preview. Potential users should be advised that it is suitable for demo and evaluation purposes.
For advanced configurations, see the Chart README.
This Helm chart enables you to deploy Kasm Workspaces in Kubernetes with minimal friction. For more detailed information or procedures for upgrading your Kasm Kubernetes deployment, refer to our additional documentation.
Important: The Kasm agent is not included in this Helm chart. It must be installed separately on a VM or bare-metal server. A Kasm session cannot be started without a running agent.
Get up and running in just a few steps!
-
Clone the Helm Chart Repository:
git clone https://github.com/kasmtech/kasm-helm.git cd kasm-helm -
Select the Kasm Workspaces Release (Optional):
(Skip if you want the latest release build)git checkout develop
-
Prepare TLS Certificate Secret:
- Create a Kubernetes secret containing your TLS cert.
- For cert-manager, see cert-manager integration.
- For manual upload, see Uploading Certs to K8s.
-
Install the Chart:
(Replace variables in brackets with your own values.)helm install kasm ./charts/kasm \ --namespace {namespace} \ --set publicAddr="kasm.contoso.com" \ --set certificate.secretName="<some-cert-secret>"
Note:
It may take several minutes for all Kasm services to be ready.
For custom configuration, editvalues.yamlas described in the Chart README.
After deployment, get your connection details and credentials:
-
Kasm URL:
https://kasm.contoso.com(use port 8443 if using the quick deploy with no ingress or cloud load balancer) -
Admin Login:
-
Username:
[email protected] -
Retrieve password:
kubectl get secret --namespace {namespace} {secret-name} \ -o jsonpath="{.data.admin-password}" | base64 -dReplace
{namespace}the namespace where the Kasm is running,{secret-name}with your actual kasm secret name. You can retrieve secret name by running:kubectl -n {namespace} get secrets | grep secrets
-
-
User Login:
- Username:
[email protected] - Retrieve password:
kubectl get secret --namespace {namespace} {secret-name} \ -o jsonpath="{.data.user-password}" | base64 -d
- Username:
| Secret Description | Command |
|---|---|
| Database Password | kubectl get secret --namespace {namespace} {secret-name} -o jsonpath="{.data.db-password}" | base64 -d |
| Manager Token | kubectl get secret --namespace {namespace} {secret-name} -o jsonpath="{.data.manager-token}" | base64 -d |
| Service Registration Token | kubectl get secret --namespace {namespace} {secret-name} -o jsonpath="{.data.service-token}" | base64 -d |
Tip:
Store these secrets in a secure vault. They will be reused for chart upgrades.
- Branching:
This repo maintains a release branch matching each Kasm Workspaces version (e.g.,release/1.18.1).
Use the matching branch for your Kasm deployment version. - Development:
Use the defaultdevelopbranch for developer previews.
- For detailed chart values and configuration, see the Chart README.
- For backup, restore, or upgrade procedures, see this additional documentation
- It may take several minutes for pods to be ready after install.
- If you have issues with ingress or service access consult your cloud provider's troubleshooting documentation.