- Docker
- Kubectl
- Login to ghcr.io (docker login ghcr.io) - create and github token as password/
# macOS
brew install loft-sh/tap/vcluster
# Linux
curl -L -o vcluster "https://github.com/loft-sh/vcluster/releases/latest/download/vcluster-linux-amd64" && \
sudo install -c -m 0755 vcluster /usr/local/bin && \
rm -f vcluster
# Windows
# Download from https://github.com/loft-sh/vcluster/releases
vcluster use driver docker
sudo vcluster create test-cluster
Step 1: Prepare the configuration using values.yaml
experimental:
docker:
nodes:
- name: "worker-1"
ports:
- "9090:9090"
- name: "worker-2"
volumes:
- "/tmp/data:/data"
env:
- "NODE_ROLE=worker"
Step 2: Verify the mount path exists (only if you are using volumes)
mkdir -p /tmp/data
Step 3: Create cluster
sudo vcluster create multi-node-cluster --values values.yaml
vcluster ls
I am running in strange issues-
when I try to create vcluster -- it shows working fine in the logs and docker ps but in gui it shows still starting. .
when I try to create vclsuter with multi nodes - It shows an error in the logs but in docker ps. ( working up ) and guy shows still starting
Mar 24 18:52:45 multi-node systemd[1]: vcluster.service: Main process exited, code=exited, status=1/FAILURE
Mar 24 18:52:45 multi-node systemd[1]: vcluster.service: Failed with result 'exit-code'.
Mar 24 18:52:50 multi-node systemd[1]: vcluster.service: Scheduled restart job, restart counter is at 27.
Mar 24 18:52:50 multi-node systemd[1]: Starting vcluster.service - vcluster...
Mar 24 18:52:51 multi-node vcluster[1998]: 18:52:51 info vCluster version: 0.33.0
Mar 24 18:52:51 multi-node systemd[1]: Started vcluster.service - vcluster.
Mar 24 18:52:52 multi-node vcluster[1998]: 2026-03-24 18:52:52 ERROR cmd/root.go:59 error {"component": "vcluster", "error": "parse vCluster config: refresh config: failed to update current config: failed to write current config: open /etc/vcluster/vcluster.yaml: read-only file system"}
Mar 24 18:52:52 multi-node vcluster[1998]: 2026-03-24 18:52:52 INFO osutil/interrupt_unix.go:70 running interrupt handlers {"component": "vcluster"}
Mar 24 18:52:52 multi-node systemd[1]: vcluster.service: Main process exited, code=exited, status=1/FAILURE
Mar 24 18:52:52 multi-node systemd[1]: vcluster.service: Failed with result 'exit-code'.
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
dc3a5e9f5aec ghcr.io/loft-sh/vm-container "/entrypoint.sh" 4 minutes ago Up 4 minutes 0.0.0.0:10205->8443/tcp, [::]:10205->8443/tcp vcluster.cp.multi-node
f48b82d16f6f ghcr.io/loft-sh/vcluster-platform:4.8.0 "loft start" 7 minutes ago Up 7 minutes vcluster-platform
36efdb5ce92b ghcr.io/loft-sh/vm-container "/entrypoint.sh" 9 minutes ago Up 9 minutes 0.0.0.0:12251->8443/tcp, [::]:12251->8443/tcp vcluster.cp.test-cluster