Anurag's Notes

Introduction

Index · 02 Core Concepts →

Contents


1.1 Course Introduction

Source: KodeKloud notes

Course approach

  • CKA is a hands-on, performance-based exam: concepts alone are not enough; lots of lab practice is needed.
  • Course flow: core concepts (with analogies) → build a cluster from scratch to see how the components fit together → end-to-end validation tests and troubleshooting.
  • Context: Kubernetes is the industry standard for production distributed apps; Indeed data showed Kubernetes job searches up ~173% YoY.
AreaCoveredWhy it matters
FundamentalsAPI objects, controllers, scheduling, networkingBasis for operations and the exam
Cluster design & setupControl plane + worker nodes, kubeadm, TLS, etcd basicsCluster internals, secure config
Workloads & ServicesPods, Deployments, Services, ConfigMaps, SecretsDeploying and running apps
Troubleshooting & SecurityLogs, events, network debugging, RBACDiagnosing faults, securing the cluster
Hands-on labsInteractive labs in the browserPractice without your own cloud or workstation

Lab environment

  • Each lab matches a lesson. Tasks are challenges: inspect the environment, find the information, then apply the right command or config. Answers are auto-validated with instant feedback.
  • Incremental hints and full solutions are available when you are stuck.
  • The prompt is controlplane ~ ➜, so you work on the control-plane node.
kubectl get pod                    # "No resources found in default namespace."
kubectl run nginx --image=nginx    # creates a single Pod: pod/nginx created
kubectl get pod                    # NAME nginx  READY 1/1  STATUS Running

Reading kubectl describe pod (sample from the lab)

Fields in the sample output worth recognising:

Labels:            tier=busybox
Status:            Running
IP:                10.22.0.10
Controlled By:     ReplicaSet/newpods            # owner: the Pod was created by a ReplicaSet
Containers:
  busybox:
    Container ID:  containerd://51bf...           # runtime prefix: containerd, not docker
    Image:         busybox
    Image ID:      docker.io/library/busybox@sha256:fd7d...   # short image name resolved to docker.io/library/<img>, pinned by digest
    Command:       sleep 1000
    State:         Running
    Ready:         True
    Restart Count: 0
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-bqjhg (ro)
Conditions:        Initialized / Ready / ContainersReady / PodScheduled = True
Volumes:
  kube-api-access-bqjhg:
    Type:                    Projected            # auto-injected ServiceAccount token volume
    TokenExpirationSeconds:  3607                 # time-bound token
  • Controlled By shows the owning controller (here a ReplicaSet).
  • Conditions in the sample: PodScheduled → Initialized → ContainersReady → Ready (lifecycle order).

[!NOTE] Beyond the course:

  • kubectl run now creates only a Pod. The old --generator flag is gone, so use kubectl create deployment to get a Deployment.
  • On current clusters the runtime is containerd/CRI-O (dockershim was removed in v1.24), so on nodes you debug containers with crictl, not docker.
  • Projected, time-bound SA tokens (the kube-api-access-* volume above) have been the default since v1.21/1.22. Since v1.24, legacy token Secrets are no longer auto-created; use kubectl create token <sa> for a token on demand.
  • Controlled By: use it to work out why a deleted Pod keeps coming back (its controller recreates it; delete/scale the owner instead).
  • Pods get (unless automountServiceAccountToken: false) a projected kube-api-access-* volume mounted read-only at /var/run/secrets/kubernetes.io/serviceaccount. It holds the SA token, ca.crt and namespace.
  • Since v1.29 a fifth condition, PodReadyToStartContainers (sandbox + networking ready), is also shown by default.

1.2 Certification

Source: KodeKloud notes

The CKA program

  • Run by the CNCF together with the Linux Foundation: https://www.cncf.io/certification/cka.
  • Proves practical skill in designing, building and maintaining production-grade clusters. Relevant for platform, DevOps and SRE roles.
  • Retake policy and exam rules change over time. Always check the Candidate Handbook on the certification site.

Exam format and rules

ItemCourse says
DeliveryOnline, proctored, taken from home or an approved location
RequirementsWebcam, microphone, compliant workspace/system (see Candidate Handbook)
FormatPerformance-based: real tasks on live clusters, no multiple choice
Duration3 hours (see Correction below)
Allowed resourcesOfficial Kubernetes docs (online). Personal notes and other external sites are generally not allowed
DomainsCluster architecture, installation, configuration, workloads & scheduling, services & networking, storage, troubleshooting, security

[!CAUTION] Correction: the course gives the exam length as three hours. The CKA has been 2 hours since the Sept 2020 revision, with roughly 15–20 tasks and a passing score of 66%. Confirm the current figures in the Candidate Handbook.

[!NOTE] Beyond the course: current CKA facts (verify against the handbook, because they change):

  • Curriculum weights since the Feb 2025 revision: Troubleshooting 30%, Cluster Architecture/Installation & Configuration 25%, Services & Networking 20%, Workloads & Scheduling 15%, Storage 10%. Helm, Kustomize, Gateway API, CRDs/operators and CNI/CSI/CRI are explicitly in scope.
  • The exam runs in a remote Linux desktop via the PSI Secure Browser. The docs are opened in the browser inside that desktop, and the allowed list is in the handbook (kubernetes.io/docs, kubernetes.io/blog and their subdomains, among others). In the terminal, copy/paste is Ctrl+Shift+C / Ctrl+Shift+V.
  • Each task names the host/context to use: run the given ssh <host> (current exam) or kubectl config use-context <ctx> before starting it. Working on the wrong cluster scores zero for that task.
  • The purchase includes one free retake and two killer.sh simulator sessions.

Exam strategy (course tips)

  • Practise often on real clusters: minikube, k3s, kind, or a cloud-managed cluster. Have at least one local and one cloud-managed cluster.
  • Learn to find things in kubernetes.io/docs fast using the table of contents, search and anchor links.
  • Time management: skip and flag slow tasks, then come back to them.
  • Memorise common kubectl commands, YAML snippets, and label/selector syntax.
  • Scripts are fine for practice. Check the exam rules before relying on any automation.
  • Practise under time limits. Get fast at editing YAML and validating manifests.
# Core commands the course says to have in muscle memory
kubectl get <resource>
kubectl apply -f <file>.yaml
kubectl describe <resource> <name>
kubectl edit <resource> <name>
kubectl logs <pod>
kubectl exec -it <pod> -- sh

[!NOTE] Beyond the course: generate YAML instead of typing it, and validate before you apply.

alias k=kubectl                                   # usually pre-set in the exam env, with completion
export do="--dry-run=client -o yaml"              # e.g. k run web --image=nginx $do > pod.yaml
kubectl create deployment web --image=nginx --replicas=3 --dry-run=client -o yaml > deploy.yaml
kubectl explain pod.spec.containers --recursive   # field reference without leaving the terminal
kubectl apply -f deploy.yaml --dry-run=server     # server-side validation, nothing persisted

Resources

ResourceUse
CNCF CKA certificationProgram overview, links to exam pages
Kubernetes documentationAuthoritative reference, allowed during the exam
kubectl referenceCommand and flag reference
Candidate HandbookPolicies, environment, proctoring rules
KodeKloud CKA courseLabs and hands-on practice

Suggested study plan (8–12 weeks)

WeeksFocus
1–2Core concepts: Pods, Deployments, Services, basic networking, persistent storage. kubectl and YAML practice
3–5Cluster admin: nodes, kubeadm installs, kubelet, control-plane components, RBAC
6–8Advanced: network plugins, Ingress, StorageClasses, PV/PVC lifecycle, troubleshooting scenarios
Final 2–4Mock exams and timed labs. Work on speed and efficient use of the docs

[!WARNING] Exam traps / remember:

  • Every task is hands-on on a live cluster. Partial knowledge with no speed does not pass, so practise under a timer.
  • Only the official docs are allowed. Bookmarks and notes from outside are not.
  • Read the Candidate Handbook before exam day: workspace, ID, system check and proctoring rules.

Index · 02 Core Concepts →


Reference

Based on the KodeKloud Certified Kubernetes Administrator (CKA) course notes.

On this page