Design a shared Kubernetes platform used by 30 product teams. How do you handle isolation, security, cost and upgrades?
What the interviewer wants to hear
- Namespace per team with RBAC, ResourceQuotas and LimitRanges
- Network policies and admission policies for baseline security
- Workload identity per service account for cloud access
- Separate clusters for prod vs non-prod or high-risk tenants
- Cost allocation per namespace and autoscaling with Karpenter or cluster autoscaler
- Regular, tested upgrade process with GitOps
Model answer
I would run separate clusters for production and non-production, and give highly sensitive tenants their own cluster, because namespaces are a soft boundary. Inside a cluster, each team gets namespaces created through a self-service template with RBAC, ResourceQuotas, LimitRanges and a default-deny NetworkPolicy. Admission policies with Kyverno or Gatekeeper enforce Pod Security standards, approved registries, required labels and resource requests. Each workload uses its own service account mapped to a cloud role through workload identity, so teams never share credentials. For cost, Karpenter or Cluster Autoscaler handles capacity, and a tool like OpenCost charges spend back per namespace label. Everything is managed through GitOps with Argo CD or Flux. Upgrades follow a fixed cadence: test in a canary cluster, check deprecated APIs, then roll node pools gradually with PodDisruptionBudgets respected.
Can you answer it under time pressure?
Take a timed hard round and get scored on every answer.
More hard Cloud Engineer questions
- Design a multi-region disaster recovery setup for a payments API with an RPO of under 1 minute and an RTO of 15 minutes. What trade-offs do you consider?
- How would you design a multi-account cloud landing zone for a company with 20 product teams?
- Leadership asks you to reduce the cloud bill by 30 percent without hurting reliability. How do you approach it?
- How would you migrate a large production database to a managed cloud database with near-zero downtime?
- A company needs reliable connectivity between its data center and the cloud. Compare site-to-site VPN and a dedicated connection like AWS Direct Connect, and describe a resilient design.
- You find out that long-lived AWS access keys were pushed to a public GitHub repository an hour ago. How do you respond?
- Design observability and alerting for a customer-facing API so on-call gets paged for real problems but not for noise.
- Design an event-driven order processing system on a public cloud that must handle traffic spikes and never lose or double-charge an order.
- Your company has hundreds of Terraform configurations owned by many teams. How do you structure modules, state and governance so it scales safely?