Kasm Workspaces on Kubernetes
Kasm Workspaces core services can be deployed to Kubernetes using the open-source Kasm Helm chart.
Live Demo
Try Kasm Workspaces in your browser: kasm.com.
Get Started
Kasm Workspaces Community Edition is free for personal and small-team use. The chart works with both Community and commercial editions.
About This Chart
Kasm Workspaces is a container streaming platform that delivers browsers, desktops, and applications
as disposable, isolated sessions in any modern browser. This chart deploys the Kasm
core control-plane services — api, manager,
guac, rdp-gateway, and rdp-https-gateway — into a Kubernetes
cluster, along with an optional bundled PostgreSQL database.
A few things to know up front:
- Sessions do not run in the cluster. Containerized desktop, browser, and app sessions are hosted on external Docker Agent servers that you provision separately (statically or via auto scaling).
- RDP target hosts are external. RDP sessions are routed by the in-cluster gateways to Windows or Linux hosts running outside the cluster.
- Ingress fronts the deployment. Browser and HTTPS-based client traffic enters through your Ingress controller, typically backed by a cloud load balancer.
Prerequisites
- Kubernetes 1.24+
- Helm 3.18.x+ (install Helm)
kubectlconfigured against your target cluster- A default StorageClass (or explicit
storageClassNamein your values) for the built-in PostgreSQL PVC — not required if you point the chart at an external database - A domain name you control, used as the
publicAddrfor Kasm - A TLS certificate (or cert-manager installed in the cluster)
Quick Start
Create a minimal my-values.yaml:
publicAddr: kasm.example.com
certificate:
secretName: my-tls-secret
Install from the OCI registry (recommended):
helm install kasm oci://registry-1.docker.io/kasmweb/kasm-helm \
--version <CHART_VERSION> \
--namespace kasm --create-namespace \
-f my-values.yaml
Or from the classic Helm repository:
helm repo add kasm https://helm.kasm.com
helm repo update
helm install kasm kasm/kasm-helm \
--version <CHART_VERSION> \
--namespace kasm --create-namespace \
-f my-values.yaml
Replace <CHART_VERSION> with the version you want to install — see the
chart index for what's published.
After the pods are healthy, retrieve generated credentials and post-install notes:
helm get notes kasm -n kasm
For step-by-step instructions — including TLS, DNS, secret pre-seeding, and verification — see the Helm chart repository.
Configuration
The chart is configured through values.yaml. Two values are required to install —
publicAddr (the public DNS name for the deployment) and certificate.secretName
(the TLS secret to terminate ingress with) — both shown in the Quick Start above.
For the full values reference (cert-manager, external database, ingress, per-component overrides, multi-zone topology, and more), see the chart documentation in the Helm chart repository. The repo also includes example manifests for pre-seeding secrets and managing database backups.
Resources
- Kasm Workspaces website
- Kasm documentation — installation, upgrade, configuration, multi-region, VM-to-Kubernetes migration, and troubleshooting
- Helm chart repository — chart source, values reference, and examples
- Kasm on GitHub — KasmVNC and the open-source workspace image library
- Helm chart issues and discussion
License
This chart is published by Kasm Technologies. Kasm Workspaces itself is licensed separately — see kasm.com for license terms.