KCA study materials
KCA study resources

KCA: Kubernetes Core Concepts

KCA · Work through your exam, one topic at a time.

All guide sections

Kubernetes Core Concepts

Kubernetes Core Concepts

This domain tests the control loop and the API objects that express it: control-plane and node components, namespaces, labels and selectors, and declarative versus imperative operations.

Control plane and nodes

The API server is the only component that talks to etcd; it validates and persists objects. The scheduler assigns unscheduled Pods to nodes using requests, affinity, taints, and topology. Controllers such as Deployment, ReplicaSet, and StatefulSet reconcile observed state toward desired state. On each node, kubelet runs Pods through the container runtime, and kube-proxy implements Service rules.

Objects, namespaces, labels

A Pod is the smallest schedulable unit and is usually managed by a controller. Namespaces scope names and many policies, but not all objects are namespaced: Nodes, PersistentVolumes, and ClusterRoles are cluster-scoped. Labels are queryable key/value pairs used by selectors; annotations carry non-identifying metadata. Services select Pods by label, so a selector mismatch produces a Service with no endpoints.

Worked example

A Deployment requests 3 replicas and a Service selects app=web. kubectl get pods shows 3 Running Pods, but kubectl get endpoints web shows <none>. Check the Deployment template labels: they are tier=web. The Service selector app=web matches nothing. Fix the Service selector to tier=web; endpoints populate after the endpoint controller syncs. Endpoints are derived from Pod labels that match the Service selector and pass readiness.

Traps

Editing a Pod managed by a Deployment is temporary; the controller replaces it. kubectl run creates a bare Pod, not a Deployment. Namespace flags are easy to omit. Labels are for selection, not documentation.