Pod: KCSA practice questions
A Pod is the smallest deployable unit in Kubernetes: a group of one or more containers with shared storage and network resources and a specification for how to run them. The containers in a Pod are co-located and co-scheduled, and their shared context is a set of Linux namespaces and cgroups.
By Ibrahim Yesilay · Published · Updated
Independent community practice, not affiliated with or endorsed by CNCF or The Linux Foundation.
What Pod covers in KCSA
A Pod is the smallest deployable unit in Kubernetes: a group of one or more containers with shared storage and network resources and a specification for how to run them. The containers in a Pod are co-located and co-scheduled, and their shared context is a set of Linux namespaces and cgroups. Within one Pod, containers share an IP address and port space and can reach each other over localhost, which is why tightly coupled helpers such as a log shipper live in the same Pod as the application rather than in a separate one. A Pod can also hold init containers, which must run to completion before the app containers start.
Pods are designed to be relatively ephemeral and disposable, so you rarely create them directly. Workload resources create and replace them for you. A Deployment manages interchangeable replicas. A StatefulSet runs related Pods that track state, for example by matching each Pod with its own PersistentVolume. A DaemonSet places a Pod on every node that matches its specification, including nodes added later, which suits node-local facilities such as monitoring or log agents. A Job runs a task to completion once, and a CronJob runs the same Job repeatedly on a schedule.
Static Pods are an exception to the usual control-plane management. They are managed directly by the kubelet on one specific node, from manifest files in a directory such as /etc/kubernetes/manifests, and their main use is running a self-hosted control plane. The kubelet creates a read-only mirror Pod in the API server so the static Pod is visible, but deleting that mirror Pod with kubectl does not stop the static Pod; the kubelet simply recreates the mirror.
Termination is graceful by default. When a Pod is deleted, it gets a grace period (terminationGracePeriodSeconds, default 30 seconds) during which the main process receives its stop signal; containers still running when the period expires are killed. kubectl delete accepts --grace-period to override that value, and a force deletion needs --force together with --grace-period=0. A forced delete removes the Pod object from the API server without waiting for the kubelet to confirm the containers have stopped, so the workload may keep running on the node.
Two namespace-level controls shape Pod resources and availability. A LimitRange constrains the requests and limits that each Pod or container in a namespace may specify, enforcing minimums, maximums and defaults. A PodDisruptionBudget limits how many Pods of a replicated application can be down at the same time because of voluntary disruptions such as a node drain; it cannot prevent involuntary failures, and deleting Pods or Deployments directly bypasses it.
Key points
- Containers in one Pod share an IP address and port space and talk to each other over localhost.
- A static Pod is supervised by a single kubelet; its mirror Pod in the API server is read-only.
- Force deletion (--force --grace-period=0) does not wait for the kubelet to confirm termination.
- PodDisruptionBudgets apply to voluntary disruptions through the Eviction API, not to direct deletes.
Three sample questions
12 KCSA questions on Pod, 12 with explanations. How practice works
Question 1
Select all that apply.
- A.They are managed directly by the kubelet on a node
- B.They are defined in the API server and stored in etcd
- C.They are useful for running critical system components
- D.They are automatically rescheduled on other nodes if the node fails
- E.They can be updated using kubectl commands
Correct answers: A, C
Sources: Kubernetes Official Documentation - Static Pods, Kubernetes Blog - Understanding Static Pods
Question 2
- A.To prevent pods from being evicted during maintenance
- B.To limit the number of pods in a namespace
- C.To allocate CPU and memory resources
- D.To define pod scheduling constraints
- E.To enforce network policies
Correct answer: A
Sources: Kubernetes PodDisruptionBudget, Kubernetes Pod Management
Question 3
- A.Run 'kubectl delete pod <pod-name>' normally
- B.Restart the kubelet service on the node
- C.Run 'kubectl delete pod <pod-name> --force --grace-period=0'
- D.Delete the node where the pod is running
- E.Edit the pod's YAML to remove finalizers
Correct answer: C
Sources: Kubernetes Official Documentation - Deleting Pods, Kubernetes GitHub Issue - Pod stuck in Terminating
Practice this topic
Focus mode keeps every question on Pod until you leave it. 10 free guest answers, then a free account; no credit card.
Or open KCSA practice across all topics.
Sources
The explanation above was checked against these official documents.
- Kubernetes docs: Pods (checked 2026-10-23)
- Kubernetes docs: Pod Lifecycle (checked 2026-10-23)
- Kubernetes docs: Create static Pods (checked 2026-10-23)
- Kubernetes docs: Disruptions (checked 2026-10-23)