Kubernetes Certified Administration
Online resources that will help you prepare for taking the Kubernetes Certified Administrator Certification exam.
Disclaimer: This is not likely a comprehensive list as the exam will be a moving target with the fast pace of k8s development - please make a pull request if there something wrong, should be added, or updated.
I tried to restrict the cross references of resources to kubernetes.io. Youtube videos and other blog resources are optional; however, I still found them useful in my k8s learning journey.
Ensure you have the right version of Kubernetes documentation selected (e.g. v1.19 as of 1st Sept 2020 exam) especially for API objects and annotations.
Other CK exams:
CKA Exam Objectives
These are the exam objectives you review and understand in order to pass the test.
Cluster Architecture, Installation, and Configuration 25%
- Manage role based access control
- Use kubeadm to install a basic cluster
- Manage a highly available Kubernetes cluster Weaveworks Kubeadm HA cluster
- Provision underlying infrastructure to deploy Kubernetes cluster
- Peform a version upgrade on Kubernetes cluster using kubeadm
- implment etcd backup and restore
Workloads & Scheduling – 15%
- Understand deployments and how to perform rolling update and rollbacks
- Use ConfigMaps and Secrets to configure applications
- Know how to scale applications
- Understand the primitives used to create robust, self-healing, application deployments
- Understand how resource limits can affect Pod scheduling
- Awareness of manifest management and common templating tools
- Kustomize
- manage kubernetes objects
- Install service catalog using helm
- Non-k8s.io resource: External resource: templating-yaml-with-code
Services & Networking – 20%
- Understand host networking configuration on the cluster nodes
- Understand connectivity between Pods
- Understand ClusterIP, NodePort, LoadBalancer service types and endpoints
- Know how to use Ingress controllers and Ingress resources
- Ingress concepts
Storage – 10%
- Understand storage classes, persistent volumes
- Understand volume mode, access modes and reclaim policies for volumes
- Understand persistent volume claims primitive
- Know how to configure applications with persistent storage
Troubleshooting – 30%
- Evaluate cluster and node logging
- Understand how to monitor applications
- Manage container stdout & stderr logs
- Troubleshoot application failure
- Troubleshoot cluster component failure
- Troubleshoot networking
- [DNS troubleshooting] (https://kubernetes.io/docs/tasks/administer-cluster/dns-debugging-resolution/)
Tips:
Get familiar with:
- kubectl explain --recurisve
- kubectl cheatsheet
- 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
-
In
kubectl
utilizie--all-namespaces or better -A
to ensure deployments, pods, objects are on the right name space, and right desired state -
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
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 > /tmp/srv.yaml
kubectl create --edit -f /tmp/srv.yaml