You must be able to create, scale, update, and troubleshoot Deployments, Jobs, CronJobs, and StatefulSets from YAML and kubectl, and diagnose why pods stay Pending due to taints, affinity, or insufficient resources. The key skill is reading pod events and status to fix scheduling and rollout problems.
Start practicing
Workloads and Scheduling — choose a session length
Free · No account required
Domain overview
This domain covers deploying and managing Kubernetes workloads: Deployments, ReplicaSets, DaemonSets, StatefulSets, Jobs, CronJobs, and pod scheduling controls like nodeSelector, affinity, taints, tolerations, and resource requests/limits. CKA tasks are hands-on: you write YAML, run kubectl commands, scale workloads, inspect rollouts, and fix broken pods or scheduling failures on a live cluster.
Exam objectives
Creating and updating Deployments with kubectl, including rollout status, history, and rollback
Configuring Jobs and CronJobs, including concurrencyPolicy, completions, and parallelism
Managing StatefulSets with stable pod names, headless Services, and persistent volume claims
Controlling pod placement using nodeSelector, node affinity, taints, tolerations, and resource requests
Assuming a CronJob skips or kills an overrunning job: the default concurrencyPolicy is Allow, so overlapping runs proceed unless set otherwise
Editing a Deployment's pod template without triggering a rollout, or rolling back to the wrong revision from rollout history
Forgetting that StatefulSet pods are recreated in ordinal order and that deleting a pod does not delete its PVC
Click any question to see the full explanation and answer options, or start a focused practice session above.
Which kubectl command will show the rollout history of a Deployment named 'web-app'?
2You have a DaemonSet that is supposed to run on all nodes, but you notice it is not running on a node with a taint 'dedicated=monitoring:NoSchedule'. What must be added to the DaemonSet's pod template to make it run on that node?
3You have a Deployment 'db' with 3 replicas. Each pod writes to a PersistentVolumeClaim (PVC). A StatefulSet is required for stable network identities and ordered pod management. Which of the following is a key characteristic that differentiates a StatefulSet from a Deployment?
4You have a CronJob that runs a batch job every 5 minutes. The job takes about 2 minutes to complete. However, if a job takes longer than 5 minutes, you want to prevent a new job from starting until the previous one finishes. Which CronJob field should you configure?
5Which of the following describes the role of init containers in a pod?
6You need to schedule a pod to a specific node named 'worker-2' for testing purposes. Which field should you set in the pod spec?
7A pod with a resource request of 500m CPU and a limit of 1 CPU is scheduled. The node has a CPU capacity of 2 cores. What does the '500m' represent?
8You have a PriorityClass 'high-priority' with value 1000 and 'low-priority' with value 100. A pod A with 'high-priority' is pending because the node has no resources. A pod B with 'low-priority' is running on that node. What will happen if preemption is enabled?
9Which command creates a ConfigMap named 'app-config' from a file 'config.properties'?
10You want to mount a Secret named 'db-secret' as a volume in a pod. Which volume type should you use in the pod spec?
11Which TWO of the following are valid ways to expose environment variables from a ConfigMap to a pod? (Select TWO.)
12Which THREE of the following are valid ways to restrict or influence pod scheduling using taints and tolerations? (Select THREE.)
13Which TWO of the following are valid strategies for a Deployment's rolling update? (Select TWO.)
14You have a DaemonSet that runs a logging agent. You want to ensure it only runs on nodes with GPU. Which field should you set in the DaemonSet's pod template spec?
15Which kubectl command creates a ConfigMap named 'app-config' from a file 'config.properties'?
16A StatefulSet named 'db' has 3 replicas. You need to update the pod template to change the resource limits. After applying the change, you run 'kubectl rollout status sts db' and it hangs. What is the most likely reason?
17A pod with priorityClassName: high is pending. You describe the pod and see the event: '0/3 nodes are available: 3 node(s) didn't match pod affinity/anti-affinity, 1 node(s) had taint {node-role.kubernetes.io/control-plane: }, that the pod didn't tolerate.' The pod has required anti-affinity to avoid co-location with pods from the same app. How can you get the pod scheduled?
18You have a Pod that needs to run a database migration before the main application container starts. Which Kubernetes concept should you use?
19You need to implement a PriorityClass named 'high-priority' with value 1000 and mark it as non-preempting. Which YAML field should you set to true?
20Which of the following is a valid way to mount a Secret as a volume in a Pod?
21What is the default pod phase when a pod is first created but not yet running?
22You have a Deployment with 3 replicas. You run 'kubectl rollout history deployment web-app' and see revision 2 is current. You want to roll back to revision 1. Which command should you use?
23Which TWO statements about Kubernetes resource requests and limits are correct? (Select 2)
24Which THREE of the following are valid taint effects that can be applied to a node? (Select 3)
25Which TWO statements about DaemonSets are correct? (Select 2)
26A Deployment named 'app' has 3 replicas. The rolling update strategy is set with maxSurge=1 and maxUnavailable=1. During an update, a new ReplicaSet is created. How many pods will be in terminating state at the moment when the new ReplicaSet has 2 pods ready?
27A StatefulSet named 'web' with spec.replicas=3 uses the default pod management policy (OrderedReady). The StatefulSet has persistent volume claims. You run 'kubectl scale statefulset web --replicas=5'. Which statement is TRUE about the new pods?
28You have a pod with resource requests: cpu: 500m, memory: 128Mi. The node has 4 CPU cores and 8Gi memory. What is the maximum number of such pods that can be scheduled on this node based on CPU only?
29A pod has tolerations for a taint with key 'dedicated', value 'gpu', and effect 'NoSchedule'. The pod's nodeSelector is {disktype: ssd}. Which node(s) can this pod be scheduled on? (Assume node1 has taint dedicated=gpu:NoSchedule and label disktype=ssd; node2 has taint dedicated=gpu:NoSchedule and label disktype=hdd; node3 has no taint and label disktype=ssd)
30Which of the following creates a ConfigMap named 'my-config' from a file 'app.properties'?
31A DaemonSet is expected to run on all nodes, but a particular node does not have the pod. The node is Ready and has no taints. You run 'kubectl describe daemonset <name>' and see 'MISSING' for that node. What is a likely cause?
32You have a Deployment with spec.replicas=3. You update the container image. The rollout gets stuck because the new ReplicaSet cannot create pods due to an image pull error. Which command would you use to roll back to the previous revision?
33A Job named 'pi' runs a container that computes pi to 2000 digits. The Job's spec has completions=3 and parallelism=2. After some time, you observe that two pods completed successfully, and the third pod is still running. What is the expected behavior when the third pod completes?
34Which CronJob schedule expression runs a job every day at midnight (00:00)?
35You create a PriorityClass named 'high-priority' with value 1000000 (one million). A pod uses this PriorityClass. The cluster has limited resources. What scheduling behavior is most likely?
36You have a HorizontalPodAutoscaler targeting a Deployment with minReplicas=2 and maxReplicas=10. currentReplicas is 2. The HPA uses average CPU utilization across pods, targetting 80% of the requested CPU. Pod CPU request is 500m. The current average CPU utilization is 90%. What will the HPA do?
37A pod is in 'Pending' state. 'kubectl describe pod' shows '0/4 nodes are available: 1 node(s) had taint that the pod didn't tolerate, 2 node(s) didn't match pod's node affinity/selector, 1 node(s) had insufficient memory'. What does this indicate?
38Which TWO of the following will cause a pod to be rescheduled to a different node? (Select TWO.)
39Which TWO of the following are valid ways to inject configuration data into a pod? (Select TWO.)
40A DaemonSet named 'fluentd' is configured to run on all nodes. After adding a new node to the cluster, you notice that the DaemonSet pod is not running on the new node. What could be the cause?
41A StatefulSet named 'web' has 3 replicas. You need to update the container image from 'nginx:1.19' to 'nginx:1.20' using a rolling update with ordered pod management. What must you ensure in the StatefulSet spec?
42Which command creates a ConfigMap named 'app-config' from the file 'config.properties'?
43A pod is in Pending state. You run 'kubectl describe pod' and see the event: '0/4 nodes are available: 1 node(s) had taint {node-role.kubernetes.io/master: }, that the pod didn't tolerate, 3 node(s) had taint {node.kubernetes.io/not-ready: }.'. What is the most likely reason?
44Which annotation is commonly used to trigger a rollout restart of a Deployment when a ConfigMap is updated?
45You have a Deployment with 4 replicas. During a rolling update, you want to ensure that only 2 pods are unavailable at any given time. Which field should you set in the Deployment spec?
46A CronJob is configured to run every hour. You notice that the job did not run at the scheduled time. What is the most likely reason?
47Which TWO of the following are valid ways to inject a ConfigMap into a pod as environment variables? (Select 2)
48Which THREE of the following are characteristics of a StatefulSet? (Select 3)
49Which TWO of the following are valid ways to specify resource requests and limits for a container in a pod? (Select 2)
50A Deployment 'web' has replicas=3 and update strategy RollingUpdate with maxSurge=50% and maxUnavailable=0. You update the container image. During the rollout, what is the maximum number of pods that can be running simultaneously?
51Which command rolls back a Deployment named 'web' to the previous revision?
52You have a DaemonSet that runs on all nodes. You need to ensure it does NOT run on a node labeled 'disk=ssd'. Which field in the DaemonSet spec should you use?
53A StatefulSet 'db' has 3 replicas. You scale it down to 1. In what order are the pods deleted?
54A CronJob runs every hour. The job takes 45 minutes to complete. What is the default behavior if the next scheduled time occurs while the previous job is still running?
55A pod with an init container that runs a database migration fails. The init container exits with code 1. What is the pod's status?
56A container requests 256Mi memory and has a limit of 512Mi. The container tries to allocate 600Mi. What happens?
57You apply a LimitRange that sets default CPU request to 0.5 and default CPU limit to 1. You create a pod without specifying any CPU resources. What are the effective CPU request and limit for the pod?
58A node has a taint 'gpu=true:NoSchedule'. A pod has a toleration 'key: gpu, operator: Exists, effect: NoSchedule'. Will the pod be scheduled on the node?
59What is the purpose of a PriorityClass in Kubernetes scheduling?
60Which two statements about HorizontalPodAutoscaler (HPA) are correct?
61Which three are valid pod phases?
62Which two scheduling constraints can be used to ensure a pod runs on a node that has a specific label?
63A StatefulSet named 'mysql' manages 3 replicas. You need to scale it down to 1 replica. What happens to the PersistentVolumeClaims (PVCs) of the removed pods?
64A Job named 'data-processor' completes successfully. You want to run it again with the same configuration. What is the correct way to rerun the Job?
65A Pod is stuck in 'Pending' state. You run 'kubectl describe pod my-pod' and see the event: '0/3 nodes are available: 1 node(s) had taint {node-role.kubernetes.io/master: }, that the pod didn't tolerate, 2 Insufficient cpu.' The pod has resource requests: cpu: 2, memory: 1Gi. The cluster has 3 nodes: one control-plane with taint node-role.kubernetes.io/master:NoSchedule, and two worker nodes each with 1 CPU. What is the most likely cause?
66A Deployment has been updated with a new image, but the rollout is stuck. You run 'kubectl rollout status deployment/my-app' and see 'Waiting for rollout to finish: 2 out of 5 new replicas have been updated...'. The deployment's strategy is RollingUpdate with maxSurge: 25% and maxUnavailable: 25%. What is the most likely cause?
67You create a CronJob that should run every day at midnight. The CronJob has a startingDeadlineSeconds of 100. If the CronJob controller is down for 2 minutes, what happens?
68You want to ensure that a pod only runs on nodes that have a GPU. Nodes with GPUs are labeled with 'gpu=true'. Which scheduling constraint should you use?
69A Pod has an init container that writes a configuration file, and the main container reads that file. The init container runs successfully, but the main container fails with 'file not found'. What is the most likely cause?
70You have a ResourceQuota in a namespace that sets limits: pods: 10, requests.cpu: 4, requests.memory: 8Gi. You try to create a Pod with requests.cpu: 1, requests.memory: 2Gi, and no limits. The namespace currently has 8 pods using 3 CPUs and 5Gi memory in total requests. What happens?
71A HorizontalPodAutoscaler (HPA) is configured for a Deployment with targetCPUUtilizationPercentage: 80. The current CPU utilization is 90%. The deployment has minReplicas: 3 and maxReplicas: 10. What will the HPA do?
72Which TWO statements are correct regarding DaemonSets?
73Which THREE are valid ways to inject configuration data into a pod?
74You have a Deployment named 'web-app' in the 'default' namespace. You run the following command: kubectl rollout history deployment web-app. The output shows: revision 1, revision 2, revision 3. You want to roll back to revision 1. Which command achieves this?
75A StatefulSet named 'mysql' is deployed with 3 replicas. A developer reports that the pod 'mysql-0' is failing due to persistent volume issues. After fixing the underlying storage, they want to recreate 'mysql-0' while preserving its stable network identity. What is the correct approach?
76You have a Deployment with 5 replicas. During a rolling update, you want to ensure that at most 3 pods are unavailable at any time. Which field should you set in the Deployment's strategy?
77You create a Pod with an init container and a main container. The init container runs a script that writes to a shared volume. The main container reads from that volume. However, the Pod is stuck in 'Init:CrashLoopBackOff'. What is the most likely cause?
78You have a PriorityClass named 'high-priority' with value 1000 and 'low-priority' with value 100. A Pod with 'high-priority' is pending because no node has enough resources. Another Pod with 'low-priority' is running on a node. Will the high-priority Pod preempt the low-priority Pod?
79You are debugging a Pod that is in 'Pending' state. The output of 'kubectl describe pod' shows: Events: Type Reason Age From Message ---- ------ ---- ---- ------- Warning FailedScheduling 2m default-scheduler 0/3 nodes are available: 1 Insufficient cpu, 2 node(s) had taint {node-role.kubernetes.io/master: }, that the pod didn't tolerate. What does this indicate?
80You want to run a batch job that processes a queue and then terminates. The job should be run only once. Which Kubernetes resource should you use?
81You have a Deployment that should have a rolling update with no downtime. You set maxSurge to 25% and maxUnavailable to 0%. With 4 replicas, how many pods will be created above the desired count during the update?
82Which TWO of the following are valid ways to expose a ConfigMap to a pod? (Select TWO)
83Which THREE of the following are characteristics of a Kubernetes StatefulSet? (Select THREE)
84Which TWO of the following are true about a HorizontalPodAutoscaler (HPA) using average CPU utilization? (Select TWO)
85A Deployment named 'web-app' has 5 replicas. You want to perform a rolling update with a maximum of 3 pods unavailable during the update and a maximum of 2 extra pods above the desired count. Which YAML snippet correctly sets the rolling update strategy?
86Which command creates a Job that runs a single pod to execute the command 'echo Hello'?
87A StatefulSet named 'db' manages 3 pods. The pods are named db-0, db-1, db-2. What is the expected behavior when the StatefulSet's pod management policy is set to OrderedReady and you scale down from 3 to 1 replica?
88A pod is stuck in Pending state. You run 'kubectl describe pod my-pod' and see the event: '0/4 nodes are available: 1 node(s) had taint {gpu: true} that the pod didn't tolerate, 3 node(s) had resource pressure.'. What is the most likely cause?
89Which command retrieves the rollout history of a Deployment named 'web'?
90You need to schedule a pod on a node with label 'disktype=ssd'. Which field should you add to the pod spec?
91A pod has resource requests: cpu: 250m, memory: 128Mi. The node has 2 CPU cores and 4Gi memory. What is the maximum number of such pods that can fit on this node based solely on CPU requests?
92You create a ConfigMap named 'app-config' with key 'database.url'. Which command correctly creates a pod that injects this ConfigMap value as an environment variable named 'DB_URL'?
93What is the purpose of a PriorityClass in Kubernetes?
94Which ONE of the following is a valid field in a PodSpec for defining init containers?
95Which TWO taint effects can be used to prevent a pod from being scheduled on a node unless it has a matching toleration?
96Which TWO of the following are valid methods to expose ConfigMap data to pods?
You must be able to create, scale, update, and troubleshoot Deployments, Jobs, CronJobs, and StatefulSets from YAML and kubectl, and diagnose why pods stay Pending due to taints, affinity, or insufficient resources. The key skill is reading pod events and status to fix scheduling and rollout problems.
The Courseiva CKA question bank contains 96 questions in the Workloads and Scheduling domain, covering the 8% of the exam attributed to this domain in the official CNCF blueprint. Click any question to see the full explanation and answer breakdown.
Start with a 10-question focused session to identify your baseline accuracy in this domain. Read every explanation — even for questions you answer correctly — to understand the reasoning. Once you score consistently above 80%, move to a 20–30 question session to confirm depth before moving to the next domain.
Yes — the session launcher on this page draws questions exclusively from the Workloads and Scheduling domain. Choose 10, 20, 30, or 50 questions for a focused session, or click individual questions to review them one by one.
Save your results, see per-domain analytics, and get readiness scores — free, for every certification.
Sign Up FreeFree forever · Every certification included