Lab 7: CKA Mock Sprint (Draft Skeleton)
Time: 120 minutes
Objective: Simulate exam-style pressure with mixed Kubernetes admin and troubleshooting tasks across all CKA domains.
The Story
This is your dress rehearsal: a compressed incident window where context switching, verification discipline, and calm execution matter more than memorizing one command. The goal is to simulate exam pressure while preserving production-style troubleshooting habits.
Background: Sprint Strategy Under Exam Constraints
CKA-style performance depends on triage and time management as much as technical depth. Fast passes secure high-confidence points first, then remaining time is used for heavier troubleshooting and control-plane tasks. Evidence capture for each task prevents false positives and mirrors incident-review expectations.
Status
This lab is a draft skeleton for instructor build-out. It defines structure, scoring, and task blueprint. Fault-injection scripts and full answer key are intentionally not included in this learner-facing file.
CKA Domains Covered
- Troubleshooting (30%)
- Cluster Architecture, Installation and Configuration (25%)
- Services and Networking (20%)
- Workloads and Scheduling (15%)
- Storage (10%)
Exam Rules (Mock)
- You have 120 minutes total.
- You may use
kubectl, official Kubernetes docs, and local notes. - No AI tools, no internet search beyond official docs, no peer help.
- Work in the target context only. Verify context before each task.
- Skip and return if blocked. Do not tunnel on one task.
- Record command evidence and verification output for each completed task.
Prerequisites
kubectl,helm,jqavailable- Local cluster ready (
kind-labor instructor-provided context) - Baseline resources applied by instructor preflight
Preflight checks:
kubectl config current-context
kubectl get nodes
kubectl get nsSprint Blueprint (12 Tasks)
Use this blueprint to build final task manifests and checks.
| # | Domain | Task Prompt (Draft) | Points |
|---|---|---|---|
| 1 | Cluster Arch | Fix wrong kubeconfig context and verify target cluster | 6 |
| 2 | Cluster Arch | Repair RBAC so dev-user can get/list pods in team-a only |
8 |
| 3 | Workloads | Fix failing rollout caused by bad readiness probe path | 8 |
| 4 | Workloads | Create one-shot Job and trigger a CronJob manually | 6 |
| 5 | Services/Net | Repair Service selector so endpoints populate | 8 |
| 6 | Services/Net | Fix CoreDNS/service discovery failure for one namespace | 10 |
| 7 | Services/Net | Apply NetworkPolicy allowing app->db and DNS only | 8 |
| 8 | Storage | Resolve PVC Pending by correcting StorageClass and access mode | 8 |
| 9 | Cluster Arch | Take etcd snapshot to required path and verify status | 10 |
| 10 | Troubleshooting | Recover node from NotReady symptom (kubelet path) | 10 |
| 11 | Troubleshooting | Triage control-plane scheduling symptom and restore scheduling | 10 |
| 12 | Troubleshooting | Identify failing container in multi-container pod and fix startup | 8 |
Total points: 100
Time Budget Guidance
- First pass (0-70 min): complete easiest 8-9 tasks
- Second pass (70-105 min): complete heavy admin/troubleshooting tasks
- Final pass (105-120 min): verification, evidence capture, cleanup of partial changes
Required Evidence Per Task
For each task, capture in starter/mock-scorecard.md:
- Commands used
- Final verification command
- Verification output summary (1-2 lines)
- If incomplete, current blocker and next command
Passing target:
- CKA-ready threshold: >= 70 points
- Strong pass: >= 80 points
Verification Checklist
You are done when:
- Completed scorecard includes command evidence for each attempted task
- Final verification output is recorded for each completed task
- Total score is calculated and compared against pass thresholds
- Remaining blockers are documented with next command to run
Suggested Verification Commands Bank
kubectl get nodes
kubectl get pods -A
kubectl get events -A --sort-by=.metadata.creationTimestamp
kubectl auth can-i --as=dev-user get pods -n team-a
kubectl get svc,endpoints -n <namespace>
kubectl describe pod <pod> -n <namespace>
kubectl logs <pod> -c <container> -n <namespace> --previous
kubectl get pvc,pv -AInstructor Build Notes
To finalize this lab:
- Create deterministic setup and fault injection scripts under
instructor/. - Add starter manifests per task under
starter/. - Add private answer key and grading rubric in
container-course/instructor/docs/CKA_MOCK_GRADING_RUBRIC.md. - Add optional mapping to existing
gymctlscenarios for remediation loops.
Reinforcement Scenarios
jerry-rbac-deniedjerry-kubeconfig-context-confusionjerry-coredns-loop37-jerry-scheduler-missingjerry-node-notready-kubeletjerry-pvc-pending-storageclassjerry-etcd-snapshot-missing
Deliverable
Submit completed starter/mock-scorecard.md with task outcomes and verification evidence.