Stage 7 · Master
KCNA — Kubernetes & Cloud Native Associate
Kubernetes Fundamentals (46%)
Architecture, API, containers, scheduling, and networking basics — the largest domain on the KCNA.
Control Plane Components
Kubernetes follows a master-worker architecture. The control plane (formerly the master node) makes global decisions about the cluster — scheduling, scaling, self-healing, and API access. Understanding each component and its role is essential for the KCNA.
- API Server — The front door; all communication goes through it.
- etcd — The distributed key-value store holding all cluster state.
- Scheduler — Assigns Pods to nodes based on constraints and resources.
- Controller Manager — Runs reconciliation loops to maintain desired state.
- Cloud Controller Manager — Interfaces with cloud provider APIs (optional).
Kubernetes is declarative. You describe the desired state in a manifest, and the control plane continuously works to make reality match that state. This reconciliation loop is the heart of Kubernetes.
Worker Node Components
Worker nodes run the actual workloads. Each node runs a set of agents that maintain running Pods and communicate with the control plane.
- kubelet — Agent on each node that ensures containers are running as specified.
- kube-proxy — Maintains network rules for Service abstraction on the node.
- Container Runtime — The software that actually runs containers (containerd, CRI-O).
The API Server
The kube-apiserver is the central management entity. It exposes the Kubernetes API, validates and processes REST requests, and stores the resulting object state in etcd. Every kubectl command, every controller loop, and every kubelet check goes through the API server.
kubectl cluster-info
kubectl get --raw /healthz
kubectl get --raw /versionThese commands verify API server connectivity and version. On the exam, always check cluster-info first if you suspect connectivity issues.
etcd — The Source of Truth
etcd is a distributed, consistent key-value store. It stores all cluster state — every Pod, Service, ConfigMap, Secret, and RBAC policy. If etcd is lost or corrupted, the cluster state is lost.
etcd snapshots are your disaster recovery safety net. On the CKA exam, you will be asked to back up and restore etcd. Practice the etcdctl snapshot save and etcdctl snapshot restore commands until they are second nature.
Scheduler
The scheduler watches for newly created Pods with no assigned node, and assigns them based on resource requests, node selectors, affinity rules, taints, and tolerations. It does not run containers — it only decides where they should run.
Controller Manager
The controller manager runs multiple controller loops. Each controller watches a specific resource type and makes changes to move current state toward desired state. For example, the ReplicaSet controller ensures the correct number of Pod replicas are running.
- Deployment controller — manages rolling updates and rollbacks
- ReplicaSet controller — maintains pod replica counts
- Node controller — handles node failure detection and eviction
- ServiceAccount controller — creates default ServiceAccounts for namespaces
kubectl Fundamentals
kubectl is the command-line tool for interacting with the Kubernetes API server. Every task on the KCNA and CKA exams requires kubectl proficiency. Learn the verb-noun pattern: get, create, describe, delete, apply, patch.
kubectl get pods -A # List all pods in all namespaces
kubectl describe pod my-pod # Detailed pod info
kubectl logs my-pod -c my-container # Container logs
kubectl exec -it my-pod -- /bin/sh # Interactive shell
kubectl apply -f manifest.yaml # Create or update from file
kubectl delete -f manifest.yaml # Delete resources from file
kubectl get events --sort-by=.lastTimestamp # Recent eventsThe -A flag means all namespaces. The -c flag specifies which container in a multi-container Pod. These flags appear frequently on exams.
YAML Manifest Syntax
Kubernetes manifests are YAML files with four top-level keys: apiVersion, kind, metadata, and spec. The apiVersion determines which API group and version to use, and the kind determines which resource type you are creating.
apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.25
ports:
- containerPort: 80Labels are key-value pairs attached to objects. They are used by Services, Deployments, and NetworkPolicies to select resources. Always include meaningful labels.
Pods — The Atomic Unit
A Pod is the smallest deployable unit in Kubernetes. It wraps one or more containers that share networking and storage. Pods are ephemeral — they are created, destroyed, and never rescheduled to the same node. Always use Deployments to manage Pods.
The KCNA is multiple choice, not hands-on. Focus on understanding what each component does and how they interact. Know the architecture diagram cold — it is the foundation for every other question.
Key Commands to Memorize
kubectl cluster-info dump # Full cluster state dump
kubectl get nodes -o wide # Node details with IPs
kubectl api-resources # List all resource types
kubectl api-versions # List available API versions
kubectl config get-contexts # List kubeconfig contexts
kubectl config use-context # Switch contextContext switching is critical when managing multiple clusters. Each exam environment may require connecting to a specific cluster context.
Mark this lesson complete to store local progress and unlock a cleaner resume path the next time you visit.