Amazon EKS — Node Management Practice Questions
Test your understanding of EKS node management with these 10 multiple-choice questions.
Question 1
What happens during a managed node group rolling update when you upgrade the AMI version?
- A. All nodes are terminated simultaneously and new nodes are created
- B. AWS cordons, drains, and replaces nodes one at a time (respecting maxUnavailable)
- C. Pods are live-migrated to new nodes without any restart
- D. The update only applies to new nodes; existing nodes keep the old AMI
Show Answer
Correct Answer: B
| Option | Explanation |
|---|---|
| A | Simultaneous termination would cause downtime — EKS performs rolling updates |
| B | AWS launches new nodes, cordons old ones, drains pods (respecting PDBs), and terminates old nodes. The maxUnavailable setting controls parallelism |
| C | Kubernetes does not support live pod migration — pods are terminated and rescheduled |
| D | The update replaces all nodes in the node group, not just new ones |
Question 2
Which EKS compute option does NOT support DaemonSets?
- A. Managed node groups
- B. Self-managed node groups
- C. Fargate
- D. Bottlerocket nodes
Show Answer
Correct Answer: C
| Option | Explanation |
|---|---|
| A | Managed node groups are regular EC2 nodes — DaemonSets work normally |
| B | Self-managed nodes are EC2 instances — DaemonSets work normally |
| C | Fargate has no “nodes” in the traditional sense — each pod runs in isolation. DaemonSets have no node to target |
| D | Bottlerocket runs as EC2 instances — DaemonSets work normally |
Question 3
A team wants to save costs on their dev/test workloads. Which approach gives the highest savings?
- A. Use t3.micro On-Demand instances
- B. Use Reserved Instances for 1 year
- C. Use Graviton Spot instances with multiple instance types
- D. Use Fargate for all workloads
Show Answer
Correct Answer: C
| Option | Explanation |
|---|---|
| A | t3.micro is cheap but On-Demand pricing is still full price |
| B | Reserved Instances save 30-40% but require commitment — not ideal for dev/test |
| C | Graviton Spot combines ARM price-performance (~20-40% savings) with Spot discounts (~60-90% savings) for maximum savings |
| D | Fargate can be more expensive than EC2 for steady workloads due to per-pod pricing |
Question 4
What is the primary advantage of Bottlerocket over Amazon Linux 2023 for EKS nodes?
- A. Better performance for compute-intensive workloads
- B. Minimal attack surface with an immutable, container-focused OS
- C. Lower EC2 instance pricing
- D. Support for more instance types
Show Answer
Correct Answer: B
| Option | Explanation |
|---|---|
| A | Performance is comparable — Bottlerocket’s advantage is security, not raw compute |
| B | Bottlerocket is minimal (no shell, no package manager), immutable (read-only root), and hardened (SELinux, dm-verity) — significantly reducing the attack surface |
| C | Bottlerocket uses the same EC2 instances — pricing is identical |
| D | Both AMI types support the same instance types |
Question 5
How does Fargate determine the compute resources allocated to a pod?
- A. Based on the node’s total capacity
- B. Based on the pod’s resource requests, rounded up to the nearest supported tier
- C. A fixed allocation of 1 vCPU and 2 GB memory for all pods
- D. Based on the pod’s resource limits only
Show Answer
Correct Answer: B
| Option | Explanation |
|---|---|
| A | Fargate has no shared nodes — each pod gets its own compute allocation |
| B | Fargate uses the pod’s CPU and memory requests, rounding up to the nearest supported configuration (e.g., 0.25 vCPU / 0.5 GB) |
| C | Fargate supports multiple tiers from 0.25 vCPU to 16 vCPU |
| D | Fargate uses requests, not limits, for allocation sizing |
Question 6
What is the recommended way to handle Spot instance interruptions in an EKS cluster?
- A. Configure the ASG with a longer termination cooldown
- B. Install AWS Node Termination Handler to cordon and drain nodes before interruption
- C. Use larger instance types that are less likely to be interrupted
- D. Set all pods to have a terminationGracePeriodSeconds of 0
Show Answer
Correct Answer: B
| Option | Explanation |
|---|---|
| A | ASG cooldown controls scaling, not interruption handling |
| B | NTH watches for Spot interruption notices (2-minute warning) and gracefully drains pods before the node is reclaimed |
| C | Larger instances may have fewer interruptions but this isn’t a guaranteed or recommended strategy |
| D | Setting terminationGracePeriodSeconds to 0 causes ungraceful shutdowns — the opposite of good practice |
Question 7
Which Spot instance allocation strategy should you use for EKS node groups?
- A. Lowest price
- B. Capacity-optimized
- C. Diversified
- D. Price-capacity-optimized
Show Answer
Correct Answer: D
| Option | Explanation |
|---|---|
| A | Lowest price picks the cheapest pools but they tend to have the highest interruption rates |
| B | Capacity-optimized selects from the deepest pools to minimize interruptions |
| C | Diversified is not a valid Spot allocation strategy for managed node groups |
| D | Price-capacity-optimized (the default for EKS managed node groups) balances between price and capacity, giving the best overall experience |
Question 8
What must be true for container images to run on Graviton (ARM) EKS nodes?
- A. Images must be built with Docker 20.10 or later
- B. Images must be built for the arm64 architecture (or be multi-arch)
- C. Images must use a special Graviton base image from ECR Public
- D. No special requirements — all container images work on Graviton
Show Answer
Correct Answer: B
| Option | Explanation |
|---|---|
| A | Docker version doesn’t determine architecture compatibility |
| B | Container images are architecture-specific. ARM nodes need arm64 images. Use docker buildx to create multi-arch images that work on both x86 and ARM |
| C | There’s no special Graviton base image — standard arm64 base images work |
| D | x86 (amd64) images will fail to run on ARM nodes with an exec format error |
Question 9
For a self-managed node group, how do new EC2 instances register with the EKS cluster?
- A. EKS automatically discovers instances in the VPC
- B. The bootstrap.sh script on the EKS-optimized AMI joins the node to the cluster
- C. You manually run kubectl to add each node
- D. CloudFormation registers nodes during stack creation
Show Answer
Correct Answer: B
| Option | Explanation |
|---|---|
| A | EKS does not auto-discover instances — nodes must actively register |
| B | The /etc/eks/bootstrap.sh script configures kubelet with the cluster’s API endpoint and CA certificate, causing the node to register with the control plane |
| C | Nodes self-register — there’s no manual kubectl step |
| D | CloudFormation creates the infrastructure but bootstrap.sh handles the Kubernetes registration |
Question 10
A company runs a mixed workload: a stateful database, a web API, and batch processing jobs. What is the recommended node group strategy?
- A. One large node group with all workloads mixed together
- B. Three separate node groups: On-Demand for database, On-Demand for API, Spot for batch
- C. Everything on Fargate for simplicity
- D. One Spot node group for everything to minimize cost
Show Answer
Correct Answer: B
| Option | Explanation |
|---|---|
| A | Mixing all workloads loses the ability to optimize each workload type |
| B | Databases need stable On-Demand nodes (with EBS). APIs need reliable On-Demand. Batch jobs tolerate interruption and benefit from Spot savings. Separate node groups let you optimize each |
| C | Fargate doesn’t support EBS (needed for databases) and DaemonSets (common in production) |
| D | Spot instances can be interrupted — not suitable for stateful databases |