CKA (CNCF) key terms
CKA · Get comfortable with the vocabulary.
- kube-apiserver
- Related: etcd, kube-controller-manager, kube-scheduler
The central Kubernetes API endpoint that receives REST requests, validates them, and updates cluster state in etcd. Clients and internal components communicate through it.
- etcd
- Related: kube-apiserver, kube-controller-manager
A distributed key-value store that holds Kubernetes cluster state and configuration data. The API server reads and writes objects there, making backups and quorum health important.
- kube-scheduler
- Related: Pod, nodeSelector, Taint and Toleration
A control-plane component that assigns newly created Pods to nodes. It filters and scores nodes using resource requests, constraints, affinity rules, taints, and other scheduling policies.
- kube-controller-manager
- Related: ReplicaSet, kube-apiserver, Deployment
A control-plane process running built-in controllers that reconcile desired state with observed state, such as creating ReplicaSets, handling node lifecycle, and managing service accounts.
- kubelet
- Related: Pod, static Pod, liveness probe
An agent running on each node that watches assigned Pods, starts and monitors their containers, reports node and Pod status, and interacts with the container runtime.
- kube-proxy
- Related: Service, EndpointSlice, CNI plugin
A node component that maintains network rules for Service traffic, enabling Pods to reach Service IPs and load-balanced backends. It may use iptables, IPVS, or nftables modes.
- static Pod
- Related: kubelet, Pod, kubeadm
A Pod defined by a manifest file on a node and managed directly by the kubelet, not by the API server's scheduler. Control-plane components are often run this way.
- kubeadm
- Related: CNI plugin, kubelet, static Pod
A tool for bootstrapping Kubernetes clusters, handling control-plane initialization, joining nodes, certificate setup, and upgrades. It produces a cluster that still needs a CNI plugin.
- RoleBinding
- Related: ClusterRole, ServiceAccount, Namespace
An RBAC object that grants a Role or ClusterRole to users, groups, or ServiceAccounts within a specific Namespace. It connects permissions to identities.
- ClusterRole
- Related: RoleBinding, ServiceAccount
An RBAC object defining permissions that can apply cluster-wide or be bound within Namespaces. It is commonly referenced by RoleBinding objects and cluster-wide bindings.
- ServiceAccount
- Related: RoleBinding, ClusterRole, Pod
An identity for processes running in Pods, used by the API server to authenticate workloads. Tokens or projected credentials let Pods call the Kubernetes API with RBAC permissions.
- Namespace
- Related: RoleBinding, Pod, ServiceAccount
A logical partition within a cluster that scopes names for many objects and supports access control and resource quotas. Some objects are cluster-scoped instead.
- Deployment
- Related: ReplicaSet, Pod, StatefulSet
A workload controller that manages ReplicaSets to provide declarative rolling updates, scaling, and rollback for stateless Pods. It ensures a desired number of replicas is available.
- ReplicaSet
- Related: Deployment, Pod
A controller that maintains a stable number of identical Pod replicas. Deployments create and manage ReplicaSets to perform rolling updates and revisions.
- StatefulSet
- Related: PersistentVolumeClaim, Pod, Deployment
A workload controller for Pods that need stable identity, ordered deployment, and persistent storage per replica. It uses stable network names and PersistentVolumeClaim templates.
- DaemonSet
- Related: Pod, nodeSelector, Taint and Toleration
A controller that runs one Pod copy on selected nodes, often for logging, monitoring, or networking agents. It adds Pods as nodes join and removes them as nodes leave.
- Job
- Related: CronJob, Pod
A workload controller that runs Pods until a specified number of successful completions, then stops. It is suited to batch tasks rather than long-running services.
- CronJob
- Related: Job, Pod
A controller that creates Jobs on a time-based schedule using cron syntax. It handles recurring batch work and retains history according to configured limits.
- Pod
- Related: Deployment, kubelet, ServiceAccount
The smallest deployable Kubernetes unit, containing one or more containers that share networking and storage. Controllers usually create and manage Pods rather than users directly.
- nodeSelector
- Related: kube-scheduler, DaemonSet, Taint and Toleration
A simple scheduling constraint that makes a Pod run only on nodes whose labels match specified key-value pairs. It is evaluated by the scheduler before other scoring.
- Taint and Toleration
- Related: kube-scheduler, nodeSelector, DaemonSet
A taint marks a node to repel Pods unless they declare a matching toleration. Taints allow dedicated nodes or eviction of unsuitable workloads when combined with scheduling behavior.
- ConfigMap
- Related: Secret, Pod, kubectl describe
An object holding non-sensitive configuration data as key-value pairs or files. Pods consume it through environment variables or mounted volumes, decoupling settings from container images.
- Secret
- Related: ConfigMap, Pod, ServiceAccount
An object for storing sensitive data such as passwords, tokens, or certificates. Kubernetes can expose it to Pods as environment variables or mounted files, with optional base64 encoding.
- CNI plugin
- Related: NetworkPolicy, kube-proxy, Pod
Software implementing the Container Network Interface to provide Pod networking, IP allocation, and often network policy enforcement. A cluster needs one for Pods to communicate across nodes.
- Service
- Related: EndpointSlice, kube-proxy, Ingress
A stable virtual IP and DNS name that load-balances traffic to selected Pods. ClusterIP, NodePort, and LoadBalancer types expose workloads internally or externally.
- Ingress
- Related: Service, NetworkPolicy, CoreDNS
An API object defining HTTP and HTTPS routing from outside the cluster to Services, usually implemented by an Ingress controller. It supports host and path rules plus TLS.
- NetworkPolicy
- Related: CNI plugin, Pod, Service
A Kubernetes object that selects Pods and specifies allowed ingress or egress traffic. Enforcement depends on the CNI plugin supporting policy, and default behavior is allow.
- CoreDNS
- Related: Service, ConfigMap, Ingress
The default cluster DNS server that resolves Service names and other records for Pods. It runs as a Deployment and uses ConfigMaps for configuration.
- EndpointSlice
- Related: Service, kube-proxy, Pod
An object containing subsets of network endpoints for a Service, including Pod IPs and ports. kube-proxy and other components use it to route traffic to ready backends.
- PersistentVolume
- Related: PersistentVolumeClaim, StorageClass, CSI driver
A cluster-scoped storage resource representing provisioned storage with capacity, access modes, and a reclaim policy. It can be statically created or dynamically provisioned.
- PersistentVolumeClaim
- Related: PersistentVolume, StorageClass, Pod
A Namespace-scoped request for storage that binds to a matching PersistentVolume or triggers dynamic provisioning. Pods mount the claim to access persistent data.
- StorageClass
- Related: PersistentVolumeClaim, CSI driver, PersistentVolume
A cluster-scoped object describing how to provision storage dynamically, including the provisioner, parameters, and reclaim policy. Claims reference it to request volumes.
- CSI driver
- Related: StorageClass, PersistentVolume, DaemonSet
A plugin implementing the Container Storage Interface so Kubernetes can provision, attach, mount, and snapshot storage from a storage system. It is often deployed via a DaemonSet and controller.
- emptyDir
- Related: Pod, PersistentVolumeClaim
A Pod-scoped temporary volume created when a Pod is assigned to a node. Containers in the Pod can share its files, and its data is deleted when the Pod is removed.
- kubectl describe
- Related: kubectl logs, events, Pod
A kubectl command that shows detailed state, configuration, and recent events for an object. It is often the first step when a Pod, node, or Service behaves unexpectedly.
- kubectl logs
- Related: kubectl describe, CrashLoopBackOff, Pod
A kubectl command that prints container output from a Pod, optionally for a specific container or previous crashed instance. It helps diagnose application startup and runtime failures.
- events
- Related: kubectl describe, Pod, kubelet
Timestamped records emitted by Kubernetes components about object changes, scheduling decisions, and errors. They are visible through kubectl describe or kubectl get events and help locate failures.
- CrashLoopBackOff
- Related: kubectl logs, Pod, kubelet
A Pod status indicating a container repeatedly starts and exits, so kubelet waits before restarting it again. Logs and previous-container output usually reveal the underlying application error.
- readiness probe
- Related: Service, EndpointSlice, liveness probe
A check that tells Kubernetes whether a container is ready to receive traffic. Failing Pods are removed from Service endpoints until the probe succeeds again.
- liveness probe
- Related: readiness probe, kubelet, Pod
A check that tells kubelet whether a running container is still healthy. Repeated failures cause kubelet to restart the container, which can recover stuck processes.