CrackOps
Interview PrepTracksLinuxAWS LabSoonInterview RoomSoon
Sign inStart free
CrackOps

Interview prep for the people who keep production up.

[email protected]
ProductInterview PrepTracksDashboardInterview Room
RolesDevOpsSREPlatformCloud
CompanyAboutContactPrivacyTerms
© CrackOps
Tracks/Kubernetes & EKS
Advanced 3 minTroubleshooting

Grafana shows CPU above 90%, but the HPA won't add pods. How do you debug it?

Scenario

A live-sports streaming platform runs its playback API on Kubernetes across three regional clusters. Fifteen minutes before a football final, viewers start joining; the Grafana CPU panel for the playback pods reads 92%, and p99 latency is climbing. The HorizontalPodAutoscaler targets 70% CPU with minReplicas 40 and maxReplicas 200, but the Deployment has sat at 40 replicas for twelve minutes.

The interviewer asks

“Your dashboard says the pods are above 90% CPU, the HPA target is 70%, and the replica count hasn't moved. How do you find out why the HPA isn't scaling, and what do you change so it can't happen at the next toss?”

The 30-second answer

I'd stop trusting the dashboard and read the HPA's own view with kubectl describe hpa: the current utilisation it computed, desired versus current replicas, and the three conditions. HPA CPU utilisation is usage over requests, averaged over every container in every ready pod, so a sidecar with a big request, a container with no request, unready pods, or a dashboard showing percent of limit can all explain the gap. If the HPA did ask for more pods, I follow the chain downstream: maxReplicas, behaviour policies, ResourceQuota on the ReplicaSet, Pending pods waiting for nodes, or GitOps resetting replicas. Right now I'd raise minReplicas to get capacity, then fix the metric — container-level targets or a request-rate metric — and pre-scale before scheduled matches.

Sign in to finish this question

A free account unlocks the rest of it, and saves your progress across every track.

  • The voiced mock interview (3 min)
  • The full senior answer, step by step
  • Animated architecture diagrams
  • The whole conversation, 12 turns
  • Deep dive: how it works, mistakes, risks and trade-offs
  • 2 copy-ready command snippets
  • 5 follow-up questions they'll ask next
  • A self-check of 8 things interviewers listen for
Create a free accountSign in

More Kubernetes & EKS interview questions

  • A Kubernetes pod is stuck in CrashLoopBackOff. How do you diagnose and fix it?
  • How would you auto-scale a live-sports platform for 50M+ concurrent viewers without over-provisioning?
  • A new region must take live traffic mid-final with zero cold-start impact. How do you make it truly warm?
  • How do you spread streaming workloads across zones so a node or zone failure never breaches the regional SLO?
  • Festival traffic just hit 10x and autoscaling is minutes behind. What do you do first, and what do you fix after?
All Kubernetes & EKS questions

Linux commands for this track

  • kubectl get List Kubernetes resources and their status
  • kubectl describe Explain an object's state, conditions and events
  • kubectl logs Read and follow container logs
  • kubectl exec Run a command or shell inside a running container
  • kubectl apply Create or update resources from YAML, declaratively
  • kubectl delete Delete Kubernetes resources safely
  • kubectl scale Change the replica count of a workload
  • kubectl rollout Watch, undo and restart Deployment rollouts