
Why namespaces alone are not enough
Consider an example where four teams share one cluster and each team has its own namespace. It’s a common assumption that namespaces act as security boundaries—this is incorrect. By default, namespaces do not enforce security or resource boundaries between teams. Without guardrails, shared clusters are vulnerable to several common failure modes.Four common failure modes in a shared cluster
Failure mode 1 — secrets exposure: If a developer runs the following command without RBAC restrictions, they may list secrets across namespaces:Secrets and credential leakage is one of the highest-risk outcomes in shared clusters. Ensure RBAC and least-privilege access are configured before allowing broad
kubectl access.


Start with these minimum guardrails for a multi-team cluster: RBAC (least privilege), ResourceQuotas, and NetworkPolicies. These three reduce the most common cross-tenant risks.
Why Kubernetes is not multi-tenant out of the box
- Network: by default all pods can reach all other pods using cluster IPs—no network segmentation.
- Resources: no per-namespace resource limits exist by default; a namespace can consume the entire cluster.
- RBAC: role-based access control must be explicitly configured. What a user can do depends entirely on your Role and ClusterRole bindings; some managed services apply broad defaults.

Why organizations still share clusters
The primary reason organizations share clusters is cost efficiency. Running many clusters multiplies control plane, monitoring, upgrade, and operational overhead.
Two main multi-tenancy models
Choose a model based on trust boundaries and compliance requirements. The two primary approaches are soft multi-tenancy and hard multi-tenancy. Soft multi-tenancy- Use case: internal teams within the same organization (semi-trusted tenants).
- Isolation mechanisms: namespaces, RBAC, NetworkPolicies, ResourceQuotas (Kubernetes-native objects).
- Advantages: simpler, cost-effective, single cluster, minimal extra tooling.
- Downsides: tenants share the Linux kernel and control plane—kernel or control plane vulnerabilities can affect all tenants.
- Typical recommendation: start here for internal teams where risk is manageable.
- Use case: untrusted tenants (external customers), or strict compliance (healthcare, finance).
- Isolation mechanisms: separate clusters or virtual clusters (for example,
vcluster). - Advantages: stronger boundaries and contained blast radius.
- Downsides: higher cost and greater operational complexity.


Isolation mechanisms (soft multi-tenancy layers)
Compare options by isolation strength, cost, and operational complexity. Start with the simplest model that satisfies your security and compliance requirements and add layers only as needed.
Next steps and references
- Kubernetes RBAC docs: https://kubernetes.io/docs/reference/access-authn-authz/rbac/
- NetworkPolicy / CNI: https://www.cni.dev/
- Virtual clusters:
vcluster— https://github.com/loft-sh/vcluster