Courseiva

CKA · domain

Workloads and Scheduling

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.

96 questions20 easy49 medium27 hard

Focused practice

Practice Workloads and Scheduling questions

Scored sessions drawing only from this domain — pick a length below.

Start 20-question practice test →

What this domain covers

What to know about Workloads and Scheduling

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.

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

Watch out for

Common Workloads and Scheduling exam traps

  • ▸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

Question index

All Workloads and Scheduling questions (96)

Click any question to see the full explanation, or start a practice session above.

1

Which THREE of the following are characteristics of a Kubernetes StatefulSet? (Select THREE)

Medium
2

A 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?

Medium
3

You 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?

Hard
4

Which of the following creates a ConfigMap named 'my-config' from a file 'app.properties'?

Easy
5

You 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?

Easy
6

Which command rolls back a Deployment named 'web' to the previous revision?

Easy
7

Which CronJob schedule expression runs a job every day at midnight (00:00)?

Easy
8

What is the default pod phase when a pod is first created but not yet running?

Easy
9

A 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?

Medium
10

Which annotation is commonly used to trigger a rollout restart of a Deployment when a ConfigMap is updated?

Easy
11

Which TWO of the following are true about a HorizontalPodAutoscaler (HPA) using average CPU utilization? (Select TWO)

Hard
12

A 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?

Medium
13

Which THREE are valid ways to inject configuration data into a pod?

Hard
14

You 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'?

Medium
15

Which kubectl command creates a ConfigMap named 'app-config' from a file 'config.properties'?

Easy
16

You 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?

Medium
17

You 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?

Hard
18

Which TWO of the following are valid ways to inject configuration data into a pod? (Select TWO.)

Easy
19

A 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?

Medium
20

You 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?

Medium
21

Which TWO of the following are valid methods to expose ConfigMap data to pods?

Easy
22

You need to schedule a pod on a node with label 'disktype=ssd'. Which field should you add to the pod spec?

Medium
23

You 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?

Medium
24

A 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?

Hard
25

A 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?

Medium
26

You 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?

Medium
27

A 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?

Hard
28

You want to mount a Secret named 'db-secret' as a volume in a pod. Which volume type should you use in the pod spec?

Medium
29

A 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?

Hard
30

A 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?

Medium
31

You 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?

Medium
32

What is the purpose of a PriorityClass in Kubernetes scheduling?

Easy
33

You 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?

Medium
34

Which TWO of the following are valid ways to expose environment variables from a ConfigMap to a pod? (Select TWO.)

Medium
35

You 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?

Medium
36

Which TWO of the following are valid ways to expose a ConfigMap to a pod? (Select TWO)

Easy
37

Which THREE of the following are valid taint effects that can be applied to a node? (Select 3)

Hard
38

A 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?

Hard
39

You 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?

Medium
40

A 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?

Hard
41

A 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?

Medium
42

Which command creates a Job that runs a single pod to execute the command 'echo Hello'?

Easy
43

Which TWO statements about DaemonSets are correct? (Select 2)

Medium
44

You need to schedule a pod to a specific node named 'worker-2' for testing purposes. Which field should you set in the pod spec?

Medium
45

A 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?

Medium
46

A 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?

Hard
47

A 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?

Hard
48

A 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?

Medium
49

Which TWO taint effects can be used to prevent a pod from being scheduled on a node unless it has a matching toleration?

Medium
50

Which TWO statements are correct regarding DaemonSets?

Medium
51

A 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?

Medium
52

A 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?

Hard
53

You 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?

Hard
54

You 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?

Medium
55

What is the purpose of a PriorityClass in Kubernetes?

Easy
56

Which of the following is a valid way to mount a Secret as a volume in a Pod?

Easy
57

Which command retrieves the rollout history of a Deployment named 'web'?

Easy
58

You 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?

Hard
59

You 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?

Easy
60

A container requests 256Mi memory and has a limit of 512Mi. The container tries to allocate 600Mi. What happens?

Medium
61

You 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?

Hard
62

Which command creates a ConfigMap named 'app-config' from the file 'config.properties'?

Easy
63

Which TWO of the following are valid ways to specify resource requests and limits for a container in a pod? (Select 2)

Hard
64

You 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?

Hard
65

Which kubectl command will show the rollout history of a Deployment named 'web-app'?

Easy
66

You 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?

Hard
67

Which THREE of the following are valid ways to restrict or influence pod scheduling using taints and tolerations? (Select THREE.)

Hard
68

A 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?

Medium
69

A 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?

Medium
70

You 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?

Medium
71

Which TWO of the following are valid strategies for a Deployment's rolling update? (Select TWO.)

Medium
72

A 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?

Hard
73

You 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?

Medium
74

A pod with an init container that runs a database migration fails. The init container exits with code 1. What is the pod's status?

Medium
75

You 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?

Hard
76

Which THREE of the following are characteristics of a StatefulSet? (Select 3)

Medium
77

Which ONE of the following is a valid field in a PodSpec for defining init containers?

Medium
78

Which TWO of the following will cause a pod to be rescheduled to a different node? (Select TWO.)

Medium
79

A 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?

Hard
80

You 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?

Medium
81

A 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?

Medium
82

You 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?

Medium
83

A 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?

Medium
84

Which two scheduling constraints can be used to ensure a pod runs on a node that has a specific label?

Hard
85

A 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?

Medium
86

Which three are valid pod phases?

Medium
87

Which two statements about HorizontalPodAutoscaler (HPA) are correct?

Medium
88

Which TWO of the following are valid ways to inject a ConfigMap into a pod as environment variables? (Select 2)

Medium
89

Which command creates a ConfigMap named 'app-config' from a file 'config.properties'?

Easy
90

Which TWO statements about Kubernetes resource requests and limits are correct? (Select 2)

Medium
91

A 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)

Hard
92

A 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?

Medium
93

Which of the following describes the role of init containers in a pod?

Easy
94

A StatefulSet 'db' has 3 replicas. You scale it down to 1. In what order are the pods deleted?

Hard
95

You have a Pod that needs to run a database migration before the main application container starts. Which Kubernetes concept should you use?

Medium
96

You 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?

Hard

Frequently asked questions

What does the Workloads and Scheduling domain cover on the CKA exam?
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.
How many questions are in this domain?
This page lists all 96 Workloads and Scheduling questions in the CKA question bank. The actual exam draws from this domain proportionally to its weighting in the official exam blueprint.
What is the best way to practise this domain?
Start with a short focused session (10 questions) to identify gaps, then work through explanations. Repeat with a longer session once the weak areas feel solid.
Can I practise only Workloads and Scheduling questions?
Yes — the session launcher on this page filters questions to this domain only. Choose any session length for inline explanations and scoring.
cncf-cka CNCF-CKA cka workloads scheduling Practice Questions