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.
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.
Which THREE of the following are characteristics of a Kubernetes StatefulSet? (Select THREE)
Medium2A 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?
Medium3You 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?
Hard4Which of the following creates a ConfigMap named 'my-config' from a file 'app.properties'?
Easy5You 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?
Easy6Which command rolls back a Deployment named 'web' to the previous revision?
Easy7Which CronJob schedule expression runs a job every day at midnight (00:00)?
Easy8What is the default pod phase when a pod is first created but not yet running?
Easy9A 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?
Medium10Which annotation is commonly used to trigger a rollout restart of a Deployment when a ConfigMap is updated?
Easy11Which TWO of the following are true about a HorizontalPodAutoscaler (HPA) using average CPU utilization? (Select TWO)
Hard12A 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?
Medium13Which THREE are valid ways to inject configuration data into a pod?
Hard14You 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'?
Medium15Which kubectl command creates a ConfigMap named 'app-config' from a file 'config.properties'?
Easy16You 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?
Medium17You 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?
Hard18Which TWO of the following are valid ways to inject configuration data into a pod? (Select TWO.)
Easy19A 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?
Medium20You 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?
Medium21Which TWO of the following are valid methods to expose ConfigMap data to pods?
Easy22You need to schedule a pod on a node with label 'disktype=ssd'. Which field should you add to the pod spec?
Medium23You 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?
Medium24A 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?
Hard25A 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?
Medium26You 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?
Medium27A 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?
Hard28You want to mount a Secret named 'db-secret' as a volume in a pod. Which volume type should you use in the pod spec?
Medium29A 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?
Hard30A 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?
Medium31You 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?
Medium32What is the purpose of a PriorityClass in Kubernetes scheduling?
Easy33You 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?
Medium34Which TWO of the following are valid ways to expose environment variables from a ConfigMap to a pod? (Select TWO.)
Medium35You 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?
Medium36Which TWO of the following are valid ways to expose a ConfigMap to a pod? (Select TWO)
Easy37Which THREE of the following are valid taint effects that can be applied to a node? (Select 3)
Hard38A 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?
Hard39You 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?
Medium40A 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?
Hard41A 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?
Medium42Which command creates a Job that runs a single pod to execute the command 'echo Hello'?
Easy43Which TWO statements about DaemonSets are correct? (Select 2)
Medium44You need to schedule a pod to a specific node named 'worker-2' for testing purposes. Which field should you set in the pod spec?
Medium45A 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?
Medium46A 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?
Hard47A 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?
Hard48A 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?
Medium49Which TWO taint effects can be used to prevent a pod from being scheduled on a node unless it has a matching toleration?
Medium50Which TWO statements are correct regarding DaemonSets?
Medium51A 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?
Medium52A 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?
Hard53You 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?
Hard54You 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?
Medium55What is the purpose of a PriorityClass in Kubernetes?
Easy56Which of the following is a valid way to mount a Secret as a volume in a Pod?
Easy57Which command retrieves the rollout history of a Deployment named 'web'?
Easy58You 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?
Hard59You 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?
Easy60A container requests 256Mi memory and has a limit of 512Mi. The container tries to allocate 600Mi. What happens?
Medium61You 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?
Hard62Which command creates a ConfigMap named 'app-config' from the file 'config.properties'?
Easy63Which TWO of the following are valid ways to specify resource requests and limits for a container in a pod? (Select 2)
Hard64You 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?
Hard65Which kubectl command will show the rollout history of a Deployment named 'web-app'?
Easy66You 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?
Hard67Which THREE of the following are valid ways to restrict or influence pod scheduling using taints and tolerations? (Select THREE.)
Hard68A 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?
Medium69A 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?
Medium70You 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?
Medium71Which TWO of the following are valid strategies for a Deployment's rolling update? (Select TWO.)
Medium72A 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?
Hard73You 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?
Medium74A pod with an init container that runs a database migration fails. The init container exits with code 1. What is the pod's status?
Medium75You 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?
Hard76Which THREE of the following are characteristics of a StatefulSet? (Select 3)
Medium77Which ONE of the following is a valid field in a PodSpec for defining init containers?
Medium78Which TWO of the following will cause a pod to be rescheduled to a different node? (Select TWO.)
Medium79A 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?
Hard80You 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?
Medium81A 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?
Medium82You 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?
Medium83A 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?
Medium84Which two scheduling constraints can be used to ensure a pod runs on a node that has a specific label?
Hard85A 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?
Medium86Which three are valid pod phases?
Medium87Which two statements about HorizontalPodAutoscaler (HPA) are correct?
Medium88Which TWO of the following are valid ways to inject a ConfigMap into a pod as environment variables? (Select 2)
Medium89Which command creates a ConfigMap named 'app-config' from a file 'config.properties'?
Easy90Which TWO statements about Kubernetes resource requests and limits are correct? (Select 2)
Medium91A 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)
Hard92A 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?
Medium93Which of the following describes the role of init containers in a pod?
Easy94A StatefulSet 'db' has 3 replicas. You scale it down to 1. In what order are the pods deleted?
Hard95You have a Pod that needs to run a database migration before the main application container starts. Which Kubernetes concept should you use?
Medium96You 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?
HardOther domains
All CKA exam domains
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.