The CKS drill block, as a timed harness against a node you must edit¶
Artifact — a repeatable timed session, run until every task lands inside its clock twice in a row on a cluster you did not prepare — and, unlike CKA, half the clock is spent in ssh and vim on the control-plane node, not in kubectl.
This is a different activity from every exercise above it. Everything above optimises for mechanism — read the rule, cite the byte. This optimises for speed and correctness under a clock, and it runs last, after the CVE capstone, per the phase's framing. Do not blend them, and do not read source during this block.
Topology — pair, freshly provisioned, and not the cluster you hardened across this phase — a drill against a cluster you built is a drill against your own memory of it. Two nodes because CKS tasks touch kubelet config and node-local files on a worker as well as the control plane.
The harness
| Clock | Per task, below. Start it before reading the task, as the exam does. |
| Docs | Only the CKS allowed list — Falco, Cilium, Kyverno/OPA, Trivy and the k8s docs. Practising against those exact pages is part of the drill. |
| Environment | A cluster you did not prepare, context set to the wrong namespace, and a node you must ssh into. |
| Pass mark | Every task inside its clock, twice in consecutive sessions. One clean run is luck. |
| Scoring | Binary per task. A task that needed a second look did not pass, even if the object is right. |
Three rules specific to CKS, from the phase block: CKS is kubectl plus the node — drill the ssh+vim edits (apiserver flags, audit policy, EncryptionConfiguration, kubelet config), not only the API objects; the allowed docs are the map, so navigate them fast; pod-to-pod encryption is both Cilium and Istio. Domains and weights are in certs.md#cks and are not restated here.
The task list — the timed items are the phase's own live checklist, each already built once in an exercise above; the drill is doing it under time, from memory, on an unfamiliar cluster:
- A least-privilege Role that denies the action just outside it,
defaultSA automount off — 4 minutes, from exercise 1. restrictedPSA on a namespace + a Kyverno policy that rejects a violating pod — 5 minutes, from exercises 6 and 7.- Write an
EncryptionConfiguration, restart the apiserver, prove a new Secret is ciphertext on disk — 6 minutes, a node edit, from exercise 12. - An audit policy logging exec at
Metadata, confirmed by onekubectl execin the log — 5 minutes, a node edit, from exercise 13. - A Kyverno
verifyImagesrule that rejects an unsigned image — 4 minutes, from exercise 20. - A behavioral Falco rule firing on an unexpected exec in a marked container, not on a benign one — 6 minutes, from exercise 24.
Expect — tasks 3 and 4 fail first, and they fail on vim and manifest-restart speed rather than on recall — a mis-indented apiserver flag that takes the control plane down costs you the task and the ones after it while you recover. That is the point of the clock: CKS punishes slow, error-prone node edits harder than CKA does. Everything about weights, exam mechanics and vouchers lives in the certs strand and is not repeated here.
Write down — per session, which tasks passed and the wall-clock for each. The trend is the signal, not any single run.
Teardown — just tofu labs destroy when the block ends. Sit the exam after this block, not before — and the exam result is deliberately not a gate condition.