System Design: Practical Kubernetes (K8s) Use and Operations
Context: In a technical screen, you are asked to describe how you have used Kubernetes in production to build and operate services. Provide concrete practices, tools, and trade-offs you made.
Cover the following areas:
-
Deployments and rollout strategies
-
How you package manifests (kubectl, Helm, Kustomize) and promote across environments
-
Readiness/liveness/startup probes, resource sizing, PDBs, surge/unavailable settings
-
GitOps or CI/CD approach; blue/green or canary
-
Services and Ingress
-
Service types (ClusterIP/LoadBalancer), internal vs. external routing
-
Ingress controller choice, TLS/certificate management, host/path routing
-
Service mesh usage (if any) and when it’s helpful
-
Autoscaling
-
HPA/VPA/Cluster Autoscaler configuration and metrics used
-
Stabilization, min/max bounds, and preventing thrash
-
Configuration and secret management
-
ConfigMaps vs. Secrets, mounting patterns, reload strategies
-
Encryption, rotation, and access controls (RBAC)
-
Observability
-
Metrics, logs, traces; dashboards and alerting
-
Golden signals and SLOs; synthetic checks
-
Rollback and upgrade strategies
-
Application rollbacks and database migrations
-
Node/cluster upgrades, draining, PDBs, and disruption management
-
Specific challenges and how you solved them
-
Share 2–3 concrete issues (e.g., downtime during rollout, HPA flapping, NAT exhaustion) and your resolution