CKA 1.21-1.22 Write-UP / Tips
Rules #
During the CKA & CKAD exam, candidates may:
- review the Exam content instructions that are presented in the command line terminal
- review Documents installed by the distribution (i.e. /usr/share and its subdirectories)
- open one additional tab in order to access assets at:
- No other tabs may be opened and no other sites may be navigated to (including https://discuss.kubernetes.io/). The allowed sites above may contain links that point to external sites. It is the responsibility of the candidate not to click on any links that cause them to navigate to a domain that is not allowed.
Exam Breakdown/Weights #
- Storage: 10%
- Troubleshooting: 30%
- Workloads & Scheduling: 15%
- Cluster Architecture, Installation & Configuration: 25%
- Services & Networking: 20%
Exam (Mileage will vary) CKA 1.21 Topics to cover / Study #
Storage: 10% #
-
Creating a Persistent Volume with specific requirements such as memory space, ReadWriteType
-
Creating a Persistent Volume Claim that uses PV
-
Mounting that Persistent Volume Claim to a pod (Just add a Additional container)
Troubleshooting: 30% #
-
Kubelet / Server issues Crash simulation , Read debugging to understand where to look
-
Cordon / Draining Take a server down for maintenance without effecting downtime
-
Debugging Pods such as typos in a yaml fix them to deploy, or running pods
-
Debugging Services verifying that a service is working correctly and that endpoints are actually being created / accessible to the pod
-
Accessing logs to pods to see what is wrong in a pod and write the contents toa file
Workloads & Scheduling: 15% #
-
Mutiple Containers within in a pod
-
Static Pods create a static pod on a given node (/etc/kubernetes/manifest/)
-
Liveness Probes Creating them and attaching them to pods
-
DaemonSet Deploying DaemonSets
-
Deployments Creating deployments and using –record
-
Taints / Tolerations Deploying to the master node, or applying taints to specific pods to control scheduling behavior
-
Node Affinity and anti-affinity configurations in pods
Cluster Architecture, Installation & Configuration: 25% #
-
Backing up ETCD server (Note you will need to know where the certs are on the master node, example /etc/kubernetes)
-
1 2 3 4
#Example you will need the correct paths and certs ETCDCTL_API=3 etcdctl --endpoints=https://127.0.0.1:2379 \ --cacert=<trusted-ca-file> --cert=<cert-file> --key=<key-file> \ snapshot save <backup-file-location>
-
Upgrading a node with kubeadm, one node will be using a old version, you will need to update to the specific version they ask for example 1.21.2-00 (Question also might ask you to move pods to another node before performing maintenance)
-
1 2 3
# Update apt-get cache apt-get update -y apt-get install apt-get install -y kubeadm=1.21.2-00 kubelet=1.21.2-00 kubectl=1.21.2-00
-
Cordon / Draining node for question above
-
Joining a new Node to a cluster, you will need to create a new token on the control plain cluster
-
Kubectl get writing specific cluster acitecture to a txt file, such as name the pod with the highest CPU and memory
Services & Networking: 20% #
-
Network Policies allowing pods to talk across vpc from a specific ingress TCP port
-
Service creation, exposing existing pods or creating pods with labels
-
NodePort Creating a service using NodePorts, and verifying it works correctly
-
Ingress managing and creating ingress objects point to service and endpoint
-
DNS Objects How DNS works in kubernetes focus on WeaveNet for external as its the most popular
Important things to consider / Tips #
-
kubectl tab completion is not enabled on any of the nodes, you will need to install that yourself
-
Refer to the documentation as much as possible, just to verify your work, its faster to find the documentation and copy and paste it into your yaml
-
17 questions in 2 hours ~8.0 min per, if you exceed 8min you should flag and come back to the question, better to miss a question than to miss 5 easy ones because you are stuck
-
Use imperative ways of creating resources as much as possible, such as
kubectl run nginx --image=nginx
, reuse documentation examples as much as possible to save time. -
kubernetes docs for all the commands and what they do, this is a website version of MAN page
-
kubectl explain Helpful to explain quickly the yaml syntax
-
vi is the default editor