Skip to main content

k8s-multitenant

Helm

k8s-multitenant is a production-ready Helm chart that gives platform engineering teams a single declarative interface to onboard tenants onto a shared Kubernetes cluster. Instead of manually creating namespaces, writing RBAC manifests, and configuring resource quotas for each team, you describe your tenants in a values.yaml and the chart does the rest.

Repository: clouddrove/k8s-multitenant Helm repository: helm repo add k8s-multitenant https://clouddrove.github.io/k8s-multitenant Supported clusters: EKS, AKS, GKE


What it createsโ€‹

For every tenant you define, the chart provisions:

ResourcePurpose
NamespaceIsolated workspace for the tenant
ResourceQuotaCPU, memory, and object-count limits
LimitRangeDefault container requests/limits injected at admission
Role + RoleBindingNamespace-scoped RBAC with support for users, groups, and service accounts
NetworkPolicyDefault-deny isolation with configurable allow-lists

Architectureโ€‹

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ k8s-multitenant Helm Chart โ”‚
โ”‚ โ”‚
โ”‚ tenants[].name โ”€โ”€โ–บ Namespace โ”‚
โ”‚ โ”€โ”€โ–บ ResourceQuota โ”‚
โ”‚ โ”€โ”€โ–บ LimitRange โ”‚
โ”‚ โ”€โ”€โ–บ Role + RoleBinding โ”‚
โ”‚ โ”€โ”€โ–บ NetworkPolicy โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ”‚ โ”‚ โ”‚
ns/team-alpha ns/team-beta ns/team-gamma

Quick installโ€‹

helm repo add k8s-multitenant https://clouddrove.github.io/k8s-multitenant
helm repo update

helm upgrade --install tenants k8s-multitenant/k8s-multitenant \
-f values.yaml \
-n platform-system --create-namespace

Next stepsโ€‹