
Deploy a vCluster on EKS Using Helm
In modern Kubernetes deployments, multi-tenancy is a common challenge. Virtual clusters(vClusters) offer a lightweight way to create isolated environments without the overhead of multiple Kubernetes clusters. In this post, I’ll guide you through deploying a vCluster on Amazon EKS using Helm and connecting to it locally.
- An EKS Cluster up and running(v1.28+).
- kubectl and Helm installed locally.
- Access to the EKS cluster
- vCluster CLI installed.
helm repo add loft-sh https://charts.loft.sh
kubectl create ns vcluster
helm install sample-vcluster loft-sh/vcluster -n vcluster
kubectl get pods -n vcluster
vcluster connect sample-vcluster -n vcluster
- Sets up port-forwarding to the vCluster.
- Creates a temporary kubeconfig for the vCluster.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
sync:
services:
enabled: true
configmaps:
enabled: true
all: false
secrets:
all: false
enabled: true
endpoints:
enabled: true
pods:
enabled: true
ephemeralContainers: false
status: false
events:
enabled: true
persistentvolumeclaims:
enabled: true
ingresses:
enabled: true
1
2
3
4
5
6
7
8
9
syncer:
storage:
persistence: false
env:
- name: K3S_DATASTORE_ENDPOINT
valueFrom:
secretKeyRef:
name: postgres-db
key: sample-vcluster-endpoint
1
2
3
isolation:
enabled: false
namespace: vcluster