npx skills add ...
npx skills add google/skills --skill gke-multitenancy
Plans and configures multi-tenancy on GKE. Covers namespace isolation, RBAC planning for teams, resource quotas, LimitRanges, network isolation, and cost allocation. Use when designing GKE multi-tenancy, configuring GKE namespaces, setting up resource quotas, or isolating GKE teams. Don't use for single-tenant cluster configuration or general deployment instructions (use gke-basics or gke-app-onboarding instead).
npx skills add google/skills --skill gke-multitenancy
This reference covers enterprise multi-tenancy patterns on GKE, including namespace isolation, RBAC planning, resource quotas, and network segmentation.
MCP Tools:
apply_k8s_manifest,get_k8s_resource,check_k8s_auth,describe_k8s_resource,delete_k8s_resource
| Model | Isolation | Complexity | Cost |
|---|---|---|---|
| Namespace-per-team | Soft (RBAC + | Low | Lowest (shared |
| : : Network : : cluster) : | |||
| : : Policy) : : : | |||
| Namespace-per-environment | Soft | Low | Low |
| Node pool-per-team | Medium | Medium | Medium |
| : : (dedicated : : : | |||
| : : compute) : : : | |||
| Cluster-per-team | Hard (full | High | Highest |
| : : isolation) : : : |
Golden path recommendation: Start with namespace-per-team for cost efficiency. Escalate to stronger isolation only when compliance requires it.
Principle: Grant minimal permissions per namespace. Never bind to
system:authenticated.
RBAC best practices: Use Google Groups for subject bindings. Prefer
namespace-scoped Roles over ClusterRoles. See the gke-platform-security skill
for full RBAC hardening guidance.
Prevent any single team from consuming all cluster resources:
Set default and maximum resource constraints per container:
[!IMPORTANT] Mandatory Defaults: When defining
minormaxlimits in aLimitRange, you must also define correspondingdefaultanddefaultRequestvalues. If you set aminormaxwithout defaults, any pod deployed without explicit resource requests/limits will be rejected by the admission controller.
Apply default-deny per namespace (see the gke-workload-security skill), then
allow intra-team traffic:
Enable GKE cost allocation to break down costs by namespace and label:
View in Cloud Billing > GKE Cost Allocation.