CKA
All the articles in "CKA".
kubeadm, etcdctl, systemctl, crictl, and kubectl commands plus minimal YAML for each CKA v1.35 curriculum domain, and where to look in the kubernetes.io docs during the exam.
How the control plane components (kube-apiserver, etcd, scheduler, controller-manager) and node components (kubelet, kube-proxy, container runtime) connect, plus static Pods and the files under /etc/kubernetes, checked hands-on on a kubeadm cluster.
From node prep (swap, sysctl, containerd cgroup driver) to kubeadm init/join, installing a CNI, and a stacked-etcd HA control plane behind kube-vip, all run hands-on on 3 VMs.
Version skew rules, the order for upgrading from 1.34 to 1.35 with kubeadm plus drain/uncordon, etcd backup and restore with etcdctl and etcdutl, and checking and renewing kubeadm certificates, all run hands-on on a VM cluster.
Starting from the fact that Kubernetes has no User object: issuing a user certificate with a CertificateSigningRequest and adding it to a kubeconfig, what changes when a ClusterRole is bound with a RoleBinding vs a ClusterRoleBinding, and aggregated and default ClusterRoles, checked on a kubeadm cluster.
Where CRI (between the kubelet and the container runtime), CNI (Pod networking), and CSI (storage) are configured on a node, installing cluster components with Helm and Kustomize, and how an Operator manages components through CRDs, checked on a kubeadm cluster.
nodeName, nodeSelector, node affinity, taints and tolerations, Pod anti-affinity, topology spread constraints, and PriorityClass with preemption, placed hands-on on a kubeadm cluster with 2 workers.
How metrics-server feeds CPU usage to the HPA, kubectl autoscale and the autoscaling/v2 HPA, watching it scale up under load and back down 5 minutes after the load stops, and how it differs from VPA, on a kubeadm cluster.
The Kubernetes network model, Pod-to-Pod traffic across nodes, how kube-proxy turns Services into iptables rules, NodePort and LoadBalancer, editing the CoreDNS Corefile, and Pod dnsPolicy, checked hands-on on a kubeadm + Calico cluster.
The split of roles between GatewayClass, Gateway, and HTTPRoute, host/path/header matching and weighted splitting, allowedRoutes and ReferenceGrant for Routes and backends in other namespaces, and how it differs from Ingress, checked on a kubeadm cluster with NGINX Gateway Fabric and ingress-nginx installed.
A record of stopping the kubelet and containerd, deliberately breaking the kubelet config and static Pod manifests, then tracking down the cause with kubectl, systemctl, journalctl, crictl, and /var/log/pods on a kubeadm cluster.
Checking resource usage with kubectl top, kubectl logs container selection, previous containers, and stdout/stderr, where log files live on the node, and comparing symptoms after breaking Service selectors, targetPort, readiness, CoreDNS, and NetworkPolicy one at a time.