Skip to content

A comprehensive guide to prepare for the Certified Kubernetes Administrator (CKA) exam. Includes key concepts, commands, and practical examples covering essential topics like cluster setup, networking, storage, security, and troubleshooting.

Notifications You must be signed in to change notification settings

Cloud-Native-Islamabad/Certified-Kubernetes-Administrator-CKA-Guide-2025

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 

Repository files navigation

License: CC BY-SA 4.0 PRs Welcome

Certified Kubernetes Administrator (CKA) Exam Preparation Guide

Updated for the latest CKA Exam

This guide focuses on the core objectives of the CKA exam. It includes recommended resources, tools, and hands-on labs to help you prepare effectively. Please verify that all resources match the exam's Kubernetes version.

Disclaimer: This is not an exhaustive list, as the exam evolves with K8s rapid development. Please make a pull request if there something wrong, should be added, or updated.


Exam Overview

The Certified Kubernetes Administrator (CKA) exam is a performance-based test that requires you to solve multiple tasks on a live Kubernetes cluster. The exam is proctored and lasts for 2 hours. You must score at least 74% to pass the exam.

Exam Curriculum

These are the exam objectives you review and understand in order to pass the test.

  • Workloads and Scheduling – 15%
  • Storage – 10%
  • Services and Networking – 20%
  • Cluster Architecture, Installation, and Configuration – 25%
  • Security – 20%
  • Troubleshooting – 30%

Exam Prerequisites

Workloads and Scheduling – 15%

Understand application deployments and how to perform rolling updates and rollbacks

Use ConfigMaps and Secrets to configure applications

Configure workload autoscaling

Understand the primitives used to create robust, self-healing deployments

  • Replicasets, Deployments, Statefulsets, Daemonsets

Configure Pod admission and scheduling


Storage – 10%

Implement storage classes and dynamic volume provisioning

Configure volume types, access modes, and reclaim policies

Manage persistent volumes and persistent volume claims


Services and Networking – 20%

Understand connectivity between Pods

Define and enforce Network Policies

Use ClusterIP, NodePort, LoadBalancer service types, and endpoints

Use the Gateway API to manage Ingress traffic

Know how to use Ingress controllers and Ingress resources

Understand and use CoreDNS


Cluster Architecture, Installation, and Configuration – 25%

Manage role-based access control (RBAC)

Prepare underlying infrastructure for Kubernetes clusters

Create and manage Kubernetes clusters using kubeadm

Manage the lifecycle of Kubernetes clusters

  • Upgrades, backups, and scaling

Implement and configure a highly-available control plane

Use Helm and Kustomize to install cluster components

Understand extension interfaces (CNI, CSI, CRI, etc.)

  • Container Networking Interface (CNI)
  • Container Storage Interface (CSI)

Understand CRDs, install, and configure operators


Troubleshooting – 30%

Troubleshoot clusters and nodes

Troubleshoot cluster components

Monitor cluster and application resource usage

Manage and evaluate container output streams

Troubleshoot services and networking


Tips and Best Practices

Practice, Practice, Practice! 🏋️‍♂️

Familiarize yourself with the documentation, initially concepts and mostly tasks, kubectl explain command, kubectl cheatsheet, and kubectl commands reference

  • When using kubectl for investigations and troubleshooting utilize the wide output it gives your more details
     $kubectl get pods -o wide  --show-labels  --all-namespaces
     or
     $kubectl get pods -o wide  --show-labels  -A     # -A is quicker than --all-namespaces
  • For events and troubleshooting utilize kubectl describe if its pod/resource related and logs if it is application issue related
     $kubectl describe pods <PODID>   # for pod, deployment, other k8s resource issues/events
     $kubectl logs <PODID>            # for container/application issues like crash loops
     
  • The '-o yaml' in conjuction with --dry-run=client allows you to create a manifest template from an imperative spec, combined with --edit it allows you to modify the object before creation
kubectl create service clusterip my-svc -o yaml --dry-run=client > /tmp/srv.yaml
kubectl create --edit -f /tmp/srv.yaml
  • use kubectl aliases to speed up and reduce typo errors, practice them in your daily work some examples:
alias k='kubectl'
alias kg='kubectl get'
alias kgpo='kubectl get pod'
alias kcpyd='kubectl create pod -o yaml --dry-run=client'
alias ksysgpo='kubectl --namespace=kube-system get pod'

alias kd='kubectl delete'
alias kdf='kubectl delete -f'
## for quick deletes you can add --force --grace-period=0  **Not sure if it is a good idea if you are in a production cluster**
alias krmgf='kubectl delete --grace-period 0 --force'
alias kgsvcoyaml='kubectl get service -o=yaml'
alias kgsvcwn='watch kubectl get service --namespace'
alias kgsvcslwn='watch kubectl get service --show-labels --namespace'

#example usage of aliases
krmgf nginx-8jk71    # kill pod nginx-8jk71 using grace period 0 and force

Books:

Webinar & Streams

Study Resources

About

A comprehensive guide to prepare for the Certified Kubernetes Administrator (CKA) exam. Includes key concepts, commands, and practical examples covering essential topics like cluster setup, networking, storage, security, and troubleshooting.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •