CKA Exam Study Guide: A Complete Resource For CKA Aspirants

CKA Exam Study Guide (Certified Kubernetes Administrator)

This CKA Exam study guide will help you prepare for the Certified Kubernetes Administrator (CKA) exam with all the required resources. We will also be sharing tips that can help you pass the CKA exam with ease.

Certified Kubernetes Administrator (CKA) is one of the sought-after certifications from the Linux Foundation. Even you can say it is the top DevOps certification now. It is aimed at engineers interested in setting up and managing Kubernetes clusters.

What is the Certified Kubernetes Administrator (CKA) exam?

The official CNCF certification page says:

The purpose of the Certified Kubernetes Administrator (CKA) program is to provide assurance that CKAs have the skills, knowledge, and competency to perform the responsibilities of Kubernetes administrators.

As one of the highest velocity open source projects, Kubernetes use is exploding. In this scenario – the demand for skilled DevOps Engineers with Kubernetes cluster administration knowledge is growing.

Therefore passing CKA certification can increase your chances for continued growth across the broad set of companies and organizations using Kubernetes.

Registering for the CKA exam [Save $57]

To begin your journey of becoming a Certified Kubernetes Administrator – start by registering for the exam on the Linux Foundation portal.

Note: Save $57 Today on CKA | CKAD | CKS certification using the Voucher code given below. This offer expires soon.

CKA Exam Voucher: Use coupon DCUBEOFFER at checkout

Here are some things to keep in mind regarding the exam.

  1. The CKA exam is to be taken online and it is proctored remotely.
  2. A score of 66% or above must be earned to pass.
  3. CKA Certification is valid for 3 years.
  4. After registration, you get one year to schedule the exam.
  5. After registration, you get a maximum of 2 attempts to give the test. If you miss a scheduled exam for any reason – your second attempt gets nullified.

Note: You can always check the latest Kubernetes Certification Voucher Codes to save costs on the CKA, CKAD, and CKS certification registration

Certified Kubernetes Administrator – CKA Exam Preparation Guide

This section will go over resources and links that can help you prepare for the CKA exam better.

CKA Exam Prerequisites

CKA does not require any candidate to have any other certification before they can appear for the CKA exam. The only thing required to clear the exam is a conceptual understanding of Kubernetes internal working and a lot of practice.

CKA Exam details

Exam Duration 2 hours
Pass Percentage 66%
Kubernetes Version v1.21
CKA Validity 3 Years
Exam Cost $375 USD
CKA Exam details

CKA exam is an open book exam i.e. you can use the following websites while you are taking the exam.

  1. https://kubernetes.io/docs/
  2. https://github.com/kubernetes/
  3. https://kubernetes.io/blog/ and their subdomains. This includes all available language translations of these pages (e.g. https://kubernetes.io/zh/docs/)

CKA Exam syllabus

The following are the domains and competencies part of the syllabus along with their respective weightage.

TopicWeightage
Cluster Architecture, Installation & Configuration25 %
Workloads & Scheduling15 %
Services & Networking20 %
Storage10 %
Troubleshooting30 %
CKA Exam Syllabus

CKA Preparation courses

Investing in a course will help you understand all the concepts for the exam in an easier manner. If you are a beginner, we strongly suggest you invest some time and money in a course of your choice.

We have the following recommendation.

  1. CKA preparation course by Mumshad With Practice Tests [Udemy]: His course has a lot of quizzes and the quality is top-notch.

CKA Practice Labs

The best way to prepare is to get a clear understanding of the concepts involved and do a lot of hands-on practice! The below setups will give you a Kubernetes cluster where you can do all the required practice. The exam expects you to solve problems on a live cluster.

CKA does not have any MCQ-type format – so hands-on practice is a must.

Note: When you purchase the subscription, you will get free access to https://killer.sh/cka exam simulator. You can make use of the simulator to give the CKA practice exam.

  1. Katacoda
  2. Minikube
  3. Kubernetes Setup using Kubeadm [Detailed Guide]
  4. Kubernetes Vagrant Setup using Kubeadm
  5. GKE Cluster using free Google Cloud Credits
  6. EKS Service on AWS using Free tier program
  7. AKS service on Azure using free cloud credits
  8. Kubernetes Cluster on Digital Ocean[ Get $100 Digital Ocean Free Credits]

CKA Syllabus Wise Study resources

Here, we will be discussing the CKA syllabus-wise official and useful resources that can be used to prepare for each topic of the CKA exam.

Cluster Architecture,Installation & Configuration [ 25% ]

Manage role-based Access Control (RBAC)

Role-based access control is a method of managing access levels to applications or individual users. It’s a handy tool in the hands of an administrator to give fine-grained controls to others.

RBAC essentialsCheck RBAC Documentation

Use Kubeadm to Install a Basic Cluster

This section focuses on the setting up of a cluster using the kubeadm tool. The candidate must have a clear understanding of the underlying components of Kubernetes such as etcd, Kube API servers, SSL certificate management, etc.

Note: Ensure swap is disabled on all nodes before deploying the Kubeadm cluster.

Learn About KubeadmKubeadm Documentation
TutorialKubeadm Cluster Setup Guide

Manage a Highly-available Kubernetes Cluster

One of the duties of a Kubernetes administrator is to ensure the high availability of the cluster. This involves proper maintenance tasks on the cluster as well as managing the worker nodes.

HA Kubernetes ClusterHA cluster setup using Kubeadm

Most clusters today are created on AWS, Azure, or GCP where the respective cloud providers take responsibility for cluster availability. However, it is important to understand the logic behind the HA kubernetes cluster.

Provision Underlying Infrastructure to Deploy a Kubernetes cluster

A Kubernetes cluster needs a lot of components to work in sync. Therefore, a clear understanding of each component like etcd, Kube api-service, controllers, schedulers, kubelet, docker runtime are required.

Kubernetes ComponentesKubernetes components overview

Perform a Version upgrade on a Kubernetes Cluster Using Kubeadm

Kubernetes is a continuously improving tool. Every now and then, a new version comes up with improvements and features. It is the duty of the administrator to take care of version upgrades.

TaskKubernetes Version Upgrade
Use Kubeadm

Implement etcd Backup and Restore

Etcd is a key-value store of the cluster. All the information regarding pods, services, etc are stored here in key-value format

Basic etcd commands to try:

etcdctl cluster-health

etcdctl member-list

etcdctl set k1 v1

etcdctl get k1
Referenceetcd Backup & Operations

Workloads & Scheduling [ 15% ]

Understand Deployments and How to Perform Rolling Update and rollbacks

Kubernetes Deployment ensures a minimum no of replicas of an application is running at all times. In case a replica goes down, the Kubernetes API ensures that a new one is created within minutes.

Imperative commands: These are commands which let you create Kubernetes objects via a CLI. Meaning they remove the need to write the whole YAML. Knowing imperative commands can help you save time in the exam. I highly recommend them!

Kubectl commands:

kubectl create deployment <name> --image=<name> //create deployment

kubectl create deployment <name> --image=<name> -- sleep 300 //with command arguments

kubectl scale deployment <name> --replicas=4 //scale up or down
ReferenceKubernetes Deployment Concepts

Sometimes, you may want to rollback a Deployment; for example, when the Deployment is not stable, such as a crash loopback error, you can roll back the Deployment

Kubectl commands:

kubectl set image deployment <name of deployment> <name of container>=<new image name> // update image

kubectl rollout status deployment <name of deployment> //see status

kubectl rollout history deployment <name of deployment> //see history 

ReferenceKubernetes Rolling Update

Use Config Maps and Secrets to Configure applications

Kubernetes Configmaps are useful to store non-critical data in key-value pair format. They can also be used to inject env vars into pods.

ReferenceKubernetes Configmap Concepts

Kubectl Commands for Configmaps:

kubectl create cm <name of configmap> --from-file=hello.txt 
kubectl create cm <name of configmap> --from-literal=key1=value1 

Secrets are useful to store sensitive data in key value pair format. They can also be used to inject env vars into pods.

ReferenceKubernetes Secrets Concepts

Kubectl commands for secrets:

kubectl create secrets <name of secret> --from-file=hello.txt 
kubectl create secrets <name of secret> --from-literal=key1=value1 

Know How to Scale Applications

Kubernetes provides a no. of ways to scale applications, you can use deployment objects and increase the no. of replicas of your application.

Horizontal Pod Autoscalers (HPAs) can also be used to increase the no. of replicas according to the application metrics

TaskWorking With Horizontal Pod Autoscaler

Understand the Primitives Used to Create Robust, Self-healing, Application Deployments

This section is mostly conceptual, for any self-healing application you should use deployments or stateful sets so that whenever pods go down, Kubernetes recreates them instantly.

Deployments also give you the option to keep a track of all the changes you make. You can also roll back to a previous state very easily.

kubectl set image deployment <name of deployment> <name of container>=<new image name> // update image

kubectl rollout status deployment <name of deployment> //see status

kubectl rollout history deployment <name of deployment> //see history 

Understand How Resource Limits Can Affect Pod Scheduling

Cluster management also involves the management of workloads, as an admin – you should ensure that each pod is able to get resources based upon its needs.

In kubernetes, each pod can be assigned a minimum and maximum CPU and memory usage.

Reference 01Manage Container Resources
Reference 02Pods with resoruce requests

Awareness of manifest management and common templating tools

This section expects you to be familiar with tools like kustomization, helm, etc.

Kubernetes ManifestsManaging Kubernetes Objects
KustomizationManage objects with Kustomize

Services & Networking [ 20% ]

Understand host networking configuration on the cluster nodes

Kube-proxy is the component required on each worker node for the pods to communicate with each other. Networking between nodes involves Kube proxy participation as well.

Kubelet is how a worker node is in-network with the master node. All these concepts are required for understanding networking inside kubernetes.

ReferenceKubernetes Networking

Understand Connectivity Between Pods

Pods communicate with each other using services. Kube proxy is the component that makes this possible.

ReferenceUnderstand Kube Proxy

Understand ClusterIP, NodePort, LoadBalancer service types and endpoints

Understanding each service type along with their use cases is very important. Special attention should be paid to understanding how pods can be added under a service.

ReferenceKubernetes Service Explained

Know how to use Ingress controllers and Ingress resources

Ingress resources are how external entities are assigned access to internal cluster services. Ingress controllers are load balancers that make it possible.

Reference 01Kubernetes Ingress
Reference 02Kubernetes Ingress Controller
BlogIngress Tutorial for Beginners

Know How to Configure and Use CoreDNS

CoreDNS is a flexible, extensible DNS server that can serve as the Kubernetes cluster DNS. Like Kubernetes, the CoreDNS project is hosted by the CNCF.

TaskUsing CoreDNS for Service Discovery

Choose an appropriate container network interface plugin

CNI stands for Container Networking Interface and its goal is to create a generic plugin-based networking solution for containers.

There are a lot of solutions such as Flannel, Calico, etc. This section explores some of them.

ReferenceKubernetes Network Plugins

Storage [ 10% ]

Understand Storage Classes, Persistent Volumes, Persistent Volume Claims

StorageClasses: StorageClass provides a way to describe the “classes” of storage available.

PersistentVolume: It is a piece of storage in the cluster that has been provisioned by an administrator or dynamically provisioned using StorageClasses. They are created over StorageClasses.

PersistentVolumeClaim: It is a request for storage by a user. They are created over PersistentVolumes.

ReferenceKubernetes Persistent Volumes

Understand Volume Mode, Access Modes and Reclaim Policies for volumes

Volume modes: Kubernetes supports two types of volume modes: Filesystem & Block.

Access modes: Kubernetes supports three types of access modes: ReadWriteOnce, ReadOnlyMany & ReadWriteMany.

Reclaim Policy: Kubernetes supports three policies: Retain, Recycle & Delete

ReferenceKubernetes Volume Modes
Kubernetes Volume Access Modes

Know How to Configure Applications With Persistent Storage

Application pods can use persistent storage by mounting a PVC.

Task Configure Kubernetes Volume in Pod

Troubleshooting [ 30% ]

Evaluate Cluster and Node Logging & Managing Logs

Application logs can help in understanding the activities and status of the application. The logs are particularly useful for debugging problems and monitoring cluster activity.

Going through logs of kubernetes control plane components like etcd, scheduler can also be very helpful.

There are certain flags in kubectl commands which can help speed up your debugging cases, they are given below.

Kubectl Command To Check Logs:

kubectl logs deployment/<name of deployment> 
kubectl logs deployment/<name of deployment> --tail=10
kubectl logs deployment/<name of deployment> --tail=10 -f
Reference Kubernetes Logging

Understand How to Monitor Applications

Monitoring applications can be done by storing logs and studying the application’s metrics.

Tools like Prometheus & Grafana are popular as they make management of metrics very easy.

Very often, sidecar containers are used as metrics exporters of the main application container.

Troubleshoot Application Failure

Administrators are also required to help users debug applications that are deployed into Kubernetes and not behaving correctly.

ReferenceUnderstanding Kubernetes Logging
TaskDebug Kubernetes Objects

Troubleshoot Cluster Component Failure

Cluster components need to be debugged and perform troubleshooting for failures when users are sure that their application has everything perfectly set up.

TaskDebug Kubernetes Cluster

Troubleshoot Networking

There can be scenarios where things are going wrong on the network end such as some incorrect configuration in ingress resources etc.

Some Unofficial Useful CKA Resources

  1. Understand kubernetes SSL certificates
  2. Simulator for hands-on practice
  3. Vim shortcuts. This will help you save time on exams.
  4. Hands on CKA practical question bank on Github


CKA Exam DO’s

  • While giving CKA practice exams, try to wrap up 15 minutes before the deadline – it will give you additional time to revise the solutions.
  • Give a couple of practice exams, identify your weak topics and spend more time on those.
  • On the exam day, keep an alternative internet source handy in case of Wi-Fi internet goes down. We don’t want all our handwork to be wasted, do we?
  • If any particular question will take more than 6-7 mins to solve, flag/mark it to solve for later and come back once you solve the rest.


CKA Exam DON’Ts

  • Most people don’t even use an alias. So no need to overwhelm yourself with an alias for everything.
  • Don’t give the exam on the last day. The idea is to give it in a pressure-free environment.
  • At the time of the exam, you don’t have anything on the table other than your workstation or laptop. Linux Foundation has strict rules on the CKA exam environment.

Conclusion

This CKA exam study guide will help you understand cluster components and their management in a much better way and help in your career progression.

CKA is a great certificate to have for every DevOps engineer out there who is looking to climb up the ranks! Its importance will only grow in the future. So give your best and prepare well!

This guide has given you all the resources, tips, and methods to help you prepare. we will keep updating it with new tools and resources. All the best for your preparations.

Also, checkout out Kubernetes beginners tutorials to learn more about Kubernetes.



0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like