This page will be a living document to help me prepare for the CKA (Certified Kubernetes Administrator) exam.
The CKA curriculum can be found on github. As of 2022-02-13 it is targetting kubernetes 1.22. It looks intense.
CKA Curriculum
https://raw.githubusercontent.com/cncf/curriculum/master/CKA_Curriculum_v1.22.pdf
25% - Cluster Architecture, Installation & Configuration
- Manage role based access control (RBAC)
- Use Kubeadm to install a basic cluster
- swapoff -a
- nano /etc/fstab and comment out the swap line
- install containerd
- apt update && apt install containerd
- https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/
- all the other stuff
- kubeadm init –pod-network-cidr=192.168.0.0/16 –config kubeadm-config.yaml
- make sure cgroup driver is systemd
- swapoff -a
# kubeadm-config.yaml
kind: ClusterConfiguration
apiVersion: kubeadm.k8s.io/v1beta3
kubernetesVersion: v1.23.4
networking:
podSubnet: "192.168.0.0/16" # --pod-network-cidr
---
kind: KubeletConfiguration
apiVersion: kubelet.config.k8s.io/v1beta1
cgroupDriver: systemd
* cni, install calico
* https://projectcalico.docs.tigera.io/getting-started/kubernetes/quickstart
* are there docs on the kubernetes site?
* older docker stuff
* [switch docker to systemd cgroup driver](https://kubernetes.io/docs/setup/production-environment/container-runtimes/)
* Seriously ???
* /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"]
}
- Manage a highly-available Kubernetes cluster
- Provision underlying infrastructure to deploy a Kubernetes cluster
- Does this mean installing docker or cri-o?
- https://kubernetes.io/docs/setup/production-environment/container-runtimes/ ??????
- Perform a version upgrade on a Kubernetes cluster using Kubeadm
- Implement etcd backup and restore
15% - Workloads & Scheduling
- Understand deployments and how to perform rolling update and rollbacks
- Use ConfigMaps and Secrets to configure applications
- Know how to scale applications
- Increase the replica set? Or horizontal pod audoscaler? Something else?
- https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/
- https://kubernetes.io/docs/concepts/workloads/controllers/deployment/ - set the replicas, increase for more deployments
- 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
- operators? helm? kustomize?
20% - Services & Networking
- 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
- Know how to configure and use CoreDNS
- Choose an appropriate container network interface plugin
10% - Storage
- 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
30% - Troubleshooting
- Evaluate cluster and node logging
- Understand how to monitor applications
- Manage container stdout & stderr logs
- Troubleshoot application failure
- Troubleshoot cluster component failure
- Troubleshoot networking