Skip to content
Zurück zu den Lernmaterialien

50 Free CKA Practice Questions — Certified Kubernetes Administrator

29. Juli 2026~17 min read

Preparing for the CKA certification? These 50 free practice questions cover all CKA domains.

Note: The CKA exam is 100% hands-on (terminal-based). These questions test the conceptual knowledge needed to succeed.


Domain 1: Cluster Architecture, Installation & Configuration (Questions 1–15)

Question 1

Which Kubernetes component is the front-end for the control plane?

a) kubelet
b) kube-apiserver
c) kube-proxy
d) etcd

Show Answer

Answer: b) kube-apiserver

Explanation: The API server is the front-end of the Kubernetes control plane. It exposes the Kubernetes API and handles all REST requests, processing them before storing state in etcd.

Question 2

Which component is responsible for scheduling pods to nodes?

a) kube-controller-manager
b) kube-scheduler
c) kubelet
d) kube-proxy

Show Answer

Answer: b) kube-scheduler

Explanation: The scheduler watches for newly created pods with no assigned node and selects the best node for each pod based on resource requirements, policies, and constraints.

Question 3

What is the role of etcd in a Kubernetes cluster?

a) Container runtime
b) Distributed key-value store for cluster state
c) Network proxy
d) Node monitoring

Show Answer

Answer: b) Distributed key-value store for cluster state

Explanation: etcd is a consistent, distributed key-value store that stores all cluster data (state, configuration, secrets). It's the single source of truth for the cluster.

Question 4

Which component runs on each worker node to manage pods?

a) kube-apiserver
b) kube-scheduler
c) kubelet
d) kube-controller-manager

Show Answer

Answer: c) kubelet

Explanation: The kubelet runs on every node (worker and master) and ensures containers are running in pods as desired. It communicates with the API server to receive pod specifications.

Question 5

What is the purpose of kube-proxy?

a) Managing container runtime
b) Maintaining network rules on nodes for service connectivity
c) Scheduling pods
d) Storing cluster state

Show Answer

Answer: b) Maintaining network rules on nodes for service connectivity

Explanation: kube-proxy runs on each node and maintains network rules that allow communication to pods from network sessions inside or outside the cluster.

Question 6

What is the default container runtime interface for Kubernetes?

a) Docker
b) containerd
c) rkt
d) CRI-O

Show Answer

Answer: b) containerd

Explanation: containerd is the default container runtime interface (CRI) for Kubernetes since Docker was deprecated. It's an industry-standard container runtime that focuses on simplicity and security.

Question 7

Which command initializes a Kubernetes control plane node?

a) kubeadm init
b) kubeadm join
c) kubeadm config
d) kubeadm upgrade

Show Answer

Answer: a) kubeadm init

Explanation: kubeadm init initializes a Kubernetes control plane node. kubeadm join adds worker nodes to the cluster. kubeadm upgrade upgrades the cluster version.

Question 8

What is the purpose of a kubeconfig file?

a) Storing container images
b) Configuring access to Kubernetes clusters (clusters, contexts, users)
c) Configuring pod networking
d) Storing application configurations

Show Answer

Answer: b) Configuring access to Kubernetes clusters (clusters, contexts, users)

Explanation: The kubeconfig file (usually ~/.kube/config) defines cluster access configuration, including cluster endpoints, user credentials, and contexts for switching between clusters.

Question 9

What component is responsible for maintaining the desired state of the cluster?

a) kube-scheduler
b) kube-controller-manager
c) kube-apiserver
d) kubelet

Show Answer

Answer: b) kube-controller-manager

Explanation: The controller manager runs controller processes (Node Controller, Replication Controller, Endpoints Controller, etc.) that continuously monitor and reconcile the cluster's actual state with the desired state.

Question 10

What is a namespace in Kubernetes?

a) A network segment
b) A virtual cluster providing scope for resources
c) A type of pod
d) A storage volume

Show Answer

Answer: b) A virtual cluster providing scope for resources

Explanation: Namespaces provide a way to divide cluster resources between multiple users or teams, providing scope for names (resource names must be unique within a namespace, not across namespaces).

Question 11

How can you view pods across all namespaces?

a) kubectl get pods
b) kubectl get pods --all-namespaces
c) kubectl get pods -n default
d) kubectl list pods

Show Answer

Answer: b) kubectl get pods --all-namespaces

Explanation: kubectl get pods --all-namespaces (or -A) lists pods in all namespaces. Without this flag, only pods in the default namespace (or current context namespace) are shown.

Question 12

What is the purpose of a taint on a Kubernetes node?

a) Marking a node as unhealthy
b) Preventing pods from being scheduled unless they tolerate the taint
c) Assigning pods to specific nodes
d) Configuring node networking

Show Answer

Answer: b) Preventing pods from being scheduled unless they tolerate the taint

Explanation: Taints repel pods from nodes unless the pod has a matching toleration. They're used to ensure dedicated nodes (e.g., for GPU workloads, master-only functions).

Question 13

What is the purpose of a nodeSelector?

a) Randomly selecting a node
b) Constraining pods to run on nodes with specific labels
c) Scheduling pods across multiple nodes
d) Removing pods from nodes

Show Answer

Answer: b) Constraining pods to run on nodes with specific labels

Explanation: nodeSelector is a simple constraint that limits which nodes a pod can run on based on node labels (e.g., disktype: ssd).

Question 14

Which command applies a YAML manifest to create or update resources?

a) kubectl create
b) kubectl apply
c) kubectl run
d) kubectl update

Show Answer

Answer: b) kubectl apply

Explanation: kubectl apply -f manifest.yaml creates or updates resources declaratively, maintaining the desired state defined in the YAML file.

Question 15

What is the difference between kubectl create and kubectl apply?

a) create is imperative; apply is declarative
b) apply is imperative; create is declarative
c) They are identical
d) create works with YAML only; apply works with JSON only

Show Answer

Answer: a) create is imperative; apply is declarative

Explanation: kubectl create is imperative (tells Kubernetes what to do). kubectl apply is declarative (tells Kubernetes the desired state, and Kubernetes makes it happen).


Domain 2: Workloads & Scheduling (Questions 16–24)

Question 16

What is the difference between a Pod and a Deployment?

a) A pod is an instance of containers; a Deployment manages pod replicas and updates
b) A Deployment is an instance of containers; a Pod manages deployments
c) They are interchangeable
d) Pods are for stateful workloads; Deployments are for stateless

Show Answer

Answer: a) A pod is an instance of containers; a Deployment manages pod replicas and updates

Explanation: A Pod is the smallest deployable unit. A Deployment manages ReplicaSets and provides declarative updates for pods (rollouts, rollbacks, scaling).

Question 17

Which resource is best for stateful applications requiring stable network identities?

a) Deployment
b) StatefulSet
c) DaemonSet
d) ReplicaSet

Show Answer

Answer: b) StatefulSet

Explanation: StatefulSet is designed for stateful applications that require stable, unique network identifiers, stable persistent storage, and ordered deployment/scaling.

Question 18

What is a DaemonSet used for?

a) Running a single pod on a specific node
b) Running a pod on every node in the cluster
c) Running multiple replicas of a pod
d) Running batch jobs

Show Answer

Answer: b) Running a pod on every node in the cluster

Explanation: DaemonSet ensures that a copy of a pod runs on all (or selected) nodes. Typically used for cluster infrastructure like monitoring agents (Prometheus Node Exporter), log collectors (Fluentd), and network plugins.

Question 19

Which Kubernetes resource is used to run batch jobs to completion?

a) Deployment
b) StatefulSet
c) Job
d) DaemonSet

Show Answer

Answer: c) Job

Explanation: A Job creates one or more pods and ensures they successfully complete their task. When the pod exits successfully, the Job is marked complete. CronJob creates Jobs on a schedule.

Question 20

What is a CronJob in Kubernetes?

a) A job that runs on a schedule (time-based)
b) A job that monitors cron processes
c) A resource for managing logs
d) A resource for managing backups

Show Answer

Answer: a) A job that runs on a schedule (time-based)

Explanation: A CronJob creates Jobs on a recurring schedule, defined using cron syntax. It's used for periodic tasks like backups, report generation, or cleanup.

Question 21

What is a ResourceQuota in Kubernetes?

a) A pricing tool
b) A limit on resource consumption per namespace
c) A limit on pod size
d) A billing tool

Show Answer

Answer: b) A limit on resource consumption per namespace

Explanation: A ResourceQuota sets limits on total resource consumption (CPU, memory, storage, object count) within a namespace, preventing any single team from consuming all cluster resources.

Question 22

What is the purpose of requests and limits in a pod spec?

a) Requests define minimum resources; limits define maximum resources
b) Requests define maximum resources; limits define minimum resources
c) They are identical
d) Only limits are used for scheduling

Show Answer

Answer: a) Requests define minimum resources; limits define maximum resources

Explanation: requests specify the minimum resources guaranteed to the container (used for scheduling). limits specify the maximum resources the container can consume (used for throttling/eviction).

Question 23

What happens when a container exceeds its memory limit?

a) Container is throttled
b) Container may be terminated (OOMKilled)
c) Container continues with lower priority
d) Container's limit is automatically increased

Show Answer

Answer: b) Container may be terminated (OOMKilled)

Explanation: When a container exceeds its memory limit, it may be terminated with OOMKilled (Out Of Memory) and potentially restarted depending on the restart policy.

Question 24

What is the purpose of a liveness probe?

a) Checking if the application is ready to serve traffic
b) Checking if the container is healthy (restart if not)
c) Checking CPU usage
d) Checking network connectivity

Show Answer

Answer: b) Checking if the container is healthy (restart if not)

Explanation: A liveness probe determines if a container is running properly. If the probe fails, kubelet kills the container and restarts it.


Domain 3: Services & Networking (Questions 25–34)

Question 25

What is the purpose of a Kubernetes Service?

a) Running background tasks
b) Exposing pods as a network service with stable IP and DNS
c) Storing configuration data
d) Managing secrets

Show Answer

Answer: b) Exposing pods as a network service with stable IP and DNS

Explanation: A Service provides a stable IP address and DNS name for accessing a set of pods, abstracting the underlying pod IPs (which change as pods are created/deleted).

Question 26

Which Service type exposes a service externally using a load balancer?

a) ClusterIP
b) NodePort
c) LoadBalancer
d) ExternalName

Show Answer

Answer: c) LoadBalancer

Explanation: LoadBalancer exposes the Service externally using a cloud provider's load balancer (e.g., AWS ELB, Azure LB, GCP LB). It's the standard way to expose services to the internet.

Question 27

What is the default Service type in Kubernetes?

a) NodePort
b) LoadBalancer
c) ClusterIP
d) ExternalName

Show Answer

Answer: c) ClusterIP

Explanation: ClusterIP is the default Service type. It exposes the Service on a cluster-internal IP, making it accessible only within the cluster.

Question 28

What is an Ingress in Kubernetes?

a) A type of Service
b) A resource that manages external access to services via HTTP/HTTPS routes
c) A pod that handles incoming traffic
d) A network plugin

Show Answer

Answer: b) A resource that manages external access to services via HTTP/HTTPS routes

Explanation: Ingress provides HTTP/HTTPS routing to Services based on hostnames or paths, also handling SSL/TLS termination, load balancing, and name-based virtual hosting.

Question 29

Which component implements Service networking on each node?

a) kubelet
b) kube-proxy
c) kube-controller-manager
d) coredns

Show Answer

Answer: b) kube-proxy

Explanation: kube-proxy handles Service networking by maintaining iptables or IPVS rules that route traffic from a Service's ClusterIP to the backend pods.

Question 30

What is the coreDNS component used for?

a) Service discovery within the cluster
b) Managing container images
c) Monitoring cluster metrics
d) Handling ingress traffic

Show Answer

Answer: a) Service discovery within the cluster

Explanation: coreDNS provides DNS resolution within the cluster, allowing pods to discover services by name (e.g., my-service.namespace.svc.cluster.local).

Question 31

What is the Kubernetes network model requirement?

a) Pods can communicate with each other across nodes without NAT
b) All pods must be on the same subnet
c) Only services can communicate across nodes
d) Pods cannot communicate across nodes

Show Answer

Answer: a) Pods can communicate with each other across nodes without NAT

Explanation: The Kubernetes network model requires: every pod gets a unique IP, pods can communicate with all other pods without NAT, and agents (kubelet) can communicate with pods.

Question 32

What is a NetworkPolicy in Kubernetes?

a) A firewall rule for pods
b) A security policy for users
c) A network configuration file
d) A pod scheduling rule

Show Answer

Answer: a) A firewall rule for pods

Explanation: NetworkPolicy defines how pods are allowed to communicate with each other and other network endpoints. It's like a firewall for pods, using labels and ports.

Question 33

Which Service type exposes a static port on each node's IP?

a) ClusterIP
b) NodePort
c) LoadBalancer
d) Headless

Show Answer

Answer: b) NodePort

Explanation: NodePort exposes the Service on a static port (30000-32767) on each node's IP address. Traffic to NodeIP:NodePort is forwarded to the Service's ClusterIP and backend pods.

Question 34

What is a Headless Service?

a) A Service without endpoints
b) A Service without a ClusterIP (used for DNS-based service discovery)
c) A Service without a selector
d) A Service without a name

Show Answer

Answer: b) A Service without a ClusterIP (used for DNS-based service discovery)

Explanation: A headless Service (clusterIP: None) doesn't provide load balancing. Instead, DNS returns the pod IPs directly, enabling client-side service discovery for stateful applications.


Domain 4: Storage (Questions 35–40)

Question 35

What is a PersistentVolume (PV) in Kubernetes?

a) A volume that exists independently of pods
b) A pod-specific storage resource
c) A container image storage
d) A temporary storage volume

Show Answer

Answer: a) A volume that exists independently of pods

Explanation: A PersistentVolume (PV) is a cluster-wide storage resource provisioned by an administrator. It exists independently of pods and has its own lifecycle.

Question 36

What is a PersistentVolumeClaim (PVC)?

a) A request for storage by a user/pod
b) A claim that a persistent volume exists
c) A storage configuration
d) A storage class definition

Show Answer

Answer: a) A request for storage by a user/pod

Explanation: A PVC is a request for storage resources. Users request storage (size, access mode) and Kubernetes binds the PVC to an appropriate PV.

Question 37

What is a StorageClass in Kubernetes?

a) A class of pods
b) A way to classify storage and provision PVs dynamically
c) A type of storage driver
d) A class of services

Show Answer

Answer: b) A way to classify storage and provision PVs dynamically

Explanation: StorageClass defines different storage types (SSD, HDD, network storage) and enables dynamic provisioning of PersistentVolumes when PVCs request them.

Question 38

What is the default storage provisioner in most cloud Kubernetes clusters?

a) Local storage
b) The cloud provider's CSI driver (e.g., EBS, Persistent Disk, Azure Disk)
c) NFS
d) iSCSI

Show Answer

Answer: b) The cloud provider's CSI driver (e.g., EBS, Persistent Disk, Azure Disk)

Explanation: Cloud Kubernetes clusters typically use the cloud provider's Container Storage Interface (CSI) driver to dynamically provision block storage volumes.

Question 39

What are the three access modes for PersistentVolumes?

a) ReadWriteOnce, ReadOnlyMany, ReadWriteMany
b) ReadWrite, ReadOnly, WriteOnce
c) Single, Multi, Shared
d) Local, Network, Cloud

Show Answer

Answer: a) ReadWriteOnce, ReadOnlyMany, ReadWriteMany

Explanation: RWO (single node read-write), ROX (many nodes read-only), RWX (many nodes read-write). The access mode depends on the underlying storage type.

Question 40

What happens when a PVC is deleted and the associated PV has a reclaim policy of "Delete"?

a) The PV is also deleted
b) The PV is retained
c) The PV is recycled
d) The PV is moved to another namespace

Show Answer

Answer: a) The PV is also deleted

Explanation: With reclaim policy "Delete," when a PVC is deleted, the PV and its underlying storage are also deleted. "Retain" keeps the PV for manual reclamation. "Recycle" is deprecated.


Domain 5: Troubleshooting (Questions 41–50)

Question 41

Which command shows the logs of a pod's container?

a) kubectl logs pod-name
b) kubectl describe pod-name
c) kubectl get pod-name
d) kubectl exec pod-name logs

Show Answer

Answer: a) kubectl logs pod-name

Explanation: kubectl logs pod-name retrieves the logs from a container in a pod. Use -c container-name for multi-container pods and -f to follow logs.

Question 42

Which command executes a command inside a running container?

a) kubectl logs
b) kubectl attach
c) kubectl exec
d) kubectl run

Show Answer

Answer: c) kubectl exec

Explanation: kubectl exec -it pod-name -- /bin/bash opens an interactive shell in a container. kubectl exec pod-name -- ls / runs any command inside the container.

Question 43

Which command shows detailed information about a pod including events?

a) kubectl get pods
b) kubectl describe pod pod-name
c) kubectl logs pod-name
d) kubectl explain pod

Show Answer

Answer: b) kubectl describe pod pod-name

Explanation: kubectl describe pod shows detailed information about a pod including status, conditions, events, container statuses, and resource usage.

Question 44

What does a CrashLoopBackOff status indicate?

a) The pod is starting successfully
b) The container is repeatedly crashing after startup
c) The pod is waiting to be scheduled
d) The container is running normally

Show Answer

Answer: b) The container is repeatedly crashing after startup

Explanation: CrashLoopBackOff means the container starts, crashes, is restarted, crashes again, and Kubernetes is increasing the backoff delay between restarts.

Question 45

What command is used to drain a node for maintenance?

a) kubectl delete node
b) kubectl cordon node
c) kubectl drain node
d) kubectl maintain node

Show Answer

Answer: c) kubectl drain node

Explanation: kubectl drain node-name safely evicts all pods from a node for maintenance, respecting PodDisruptionBudgets and ensuring workloads are moved to other nodes.

Question 46

What does kubectl cordon do?

a) Removes a node from the cluster
b) Marks a node as unschedulable (new pods won't be assigned)
c) Shuts down a node
d) Restarts a node

Show Answer

Answer: b) Marks a node as unschedulable (new pods won't be assigned)

Explanation: kubectl cordon node-name marks a node as unschedulable (SchedulingDisabled). Existing pods continue running, but no new pods are scheduled to the node.

Question 47

Which command would you use to check the health of cluster components?

a) kubectl cluster-info
b) kubectl health
c) kubectl status
d) kubectl get health

Show Answer

Answer: a) kubectl cluster-info

Explanation: kubectl cluster-info shows cluster information including control plane component health. kubectl get componentstatuses (or cs) also shows control plane health but is deprecated.

Question 48

How can you check which nodes are in the cluster?

a) kubectl get nodes
b) kubectl list nodes
c) kubectl show nodes
d) kubectl cluster-nodes

Show Answer

Answer: a) kubectl get nodes

Explanation: kubectl get nodes lists all nodes in the cluster with their status (Ready, NotReady), roles (master, worker), and Kubernetes version.

Question 49

What does the "ImagePullBackOff" error mean?

a) Pod image was pulled successfully
b) Kubernetes cannot pull the container image
c) The image is too large
d) The image is outdated

Show Answer

Answer: b) Kubernetes cannot pull the container image

Explanation: ImagePullBackOff means kubelet tried to pull the container image but failed (e.g., image not found, wrong tag, authentication error, network issue).

Question 50

What command is used to find which pod is running on a specific node?

a) kubectl get pods --field-selector spec.nodeName=node-name
b) kubectl get pods --node node-name
c) kubectl get node-pods node-name
d) kubectl describe node node-name | grep pods

Show Answer

Answer: a) kubectl get pods --field-selector spec.nodeName=node-name

Explanation: You can filter pods by node using field selectors. Alternatively, kubectl get pods -o wide shows the node column for all pods.


How Did You Score?

  • 0–25 correct: Review the CKA Exam Guide.
  • 26–40 correct: On track. Practice hands-on labs.
  • 41–50 correct: Ready for the exam!

Access all CKA practice questions →


Related Articles

Bereit, dein Wissen zu testen?

Probiere unsere Übungsprüfungen mit Hunderten von realistischen Fragen aus.

Üben starten →

This site uses essential cookies for Stripe payments. No tracking cookies.