This guide deploys SurrealDB to a local KIND cluster (Kubernetes in Docker) with RocksDB on a persistent volume. That is a single-node topology: one SurrealDB pod owns the database file. See Deployment models.
For highly available clusters on managed Kubernetes, see Amazon EKS, Google GKE, and Azure AKS. For a managed service, see SurrealDB Cloud.
Requirements
Create a KIND cluster
Deploy SurrealDB
Use the SurrealDB Helm chart with a ReadWriteOnce persistent volume. Keep replicaCount: 1 — multiple pods must not share one RocksDB file.
1. Add the Helm repository
2. Install with persistence
The chart mounts storage at /home/nonroot so the non-root container user can write to the volume:
3. Create initial credentials
Port-forward the service, define a root user, then re-enable authentication:
In another shell:
Upgrade the release without unauthenticated:
4. Verify persistence
Delete the SurrealDB pod and confirm data survives on the PVC:
Note
Next steps
Docker — single-node RocksDB without Kubernetes
Run a single-node, on-disk server — CLI startup options for RocksDB and SurrealKV
Deployment models — Cloud, single-node, and highly available options