KCNA practice questions and answers
All 60 questions from Full Practice Test 1 for Kubernetes and Cloud Native Associate (KCNA), with the correct answer and a full explanation for each — including why the other options are wrong. Free to read, no signup.
What this set covers
Questions are weighted to match the official KCNA exam guide. The real exam is 60 multiple choice (count not published on the exam page; CNCF states "90 minutes to answer 60 questions") questions in 90 minutes with a pass mark of 75%.
- Kubernetes Fundamentals27 q · 44%
- Container Orchestration16 q · 28%
- Cloud Native Application Delivery9 q · 16%
- Cloud Native Architecture8 q · 12%
Which of the following best describes serverless in a cloud native context?
- AThe platform manages capacity and scales to zero, and you pay per execution rather than for idle capacity✓
- BThere are no servers involved anywhere
- CApplications must be written in a single specific language
- DContainers are never used
Correct answer: A — The platform manages capacity and scales to zero, and you pay per execution rather than for idle capacity
Serverless means the operator no longer provisions or manages capacity and billing follows actual execution, including scaling to zero. Servers still exist beneath the abstraction, language choice is open, and many serverless platforms run containers.
CNCF — ServerlessWhich vendor-neutral project provides APIs and SDKs for generating traces, metrics, and logs from applications?
- AOpenTelemetry✓
- BKubernetes
- Cetcd
- DRook
Correct answer: A — OpenTelemetry
OpenTelemetry standardises instrumentation across the three telemetry signals so backends become interchangeable. Kubernetes orchestrates workloads, etcd stores cluster state, and Rook manages storage.
CNCF — OpenTelemetryWhich object restricts which Pods may communicate with a given set of Pods at the network level?
- ANetworkPolicy✓
- BService
- CIngress
- DEndpoint
Correct answer: A — NetworkPolicy
NetworkPolicies define allowed ingress and egress for selected Pods, and require a CNI plugin that implements them. Services provide load balancing, Ingress routes external HTTP traffic, and Endpoints list backing Pod addresses.
Kubernetes — Network policiesWhich two are benefits of running an application in containers rather than directly on a virtual machine? (Select TWO.)
- AConsistent runtime environment from a developer laptop through to production✓
- BFaster start-up because there is no guest operating system to boot✓
- CStronger isolation than hardware virtualisation
- DAutomatic elimination of application bugs
- ENo need for any resource limits
Correct answer: A, B — Consistent runtime environment from a developer laptop through to production · Faster start-up because there is no guest operating system to boot
Containers package dependencies so the environment travels with the application, and they start in seconds because they share the host kernel. They provide weaker isolation than virtual machines, they fix no bugs, and resource limits remain important to prevent noisy neighbours.
Kubernetes — Why containersWhich component adds and removes worker nodes based on unschedulable Pods and node utilisation?
- ACluster Autoscaler✓
- BHorizontalPodAutoscaler
- CVerticalPodAutoscaler
- Dkubelet
Correct answer: A — Cluster Autoscaler
The Cluster Autoscaler grows the node pool when Pods cannot be scheduled and shrinks it when nodes are underused. The horizontal and vertical Pod autoscalers change replica counts and resource requests, and the kubelet manages Pods on a node it already belongs to.
Kubernetes — Cluster AutoscalerWhich project maturity levels does the CNCF use to describe the adoption and stability of its hosted projects?
- ASandbox, incubating, and graduated✓
- BAlpha, beta, and stable only
- CBronze, silver, and gold
- DDraft, review, and published
Correct answer: A — Sandbox, incubating, and graduated
CNCF projects progress from sandbox through incubating to graduated as adoption, governance, and maturity criteria are met. Alpha and beta describe API versions rather than project maturity, and the other schemes are not used by the CNCF.
CNCF — Project maturity levelsWhich controller is appropriate for a database that requires stable network identities and ordered, graceful deployment?
- AStatefulSet✓
- BDeployment
- CJob
- DDaemonSet
Correct answer: A — StatefulSet
StatefulSets give each Pod a stable ordinal name, stable storage, and ordered rollout and termination, which stateful systems depend on. Deployments treat Pods as interchangeable, Jobs run to completion, and DaemonSets pin one Pod per node.
Kubernetes — StatefulSetsWhich capability of a service mesh helps deliver a new version gradually without changing application code?
- ATraffic splitting between service subsets at the proxy layer✓
- BStoring application secrets
- CBuilding container images
- DProvisioning persistent volumes
Correct answer: A — Traffic splitting between service subsets at the proxy layer
A mesh's sidecar proxies can route a percentage of requests to a new subset, which enables canaries without application changes. Secret storage, image building, and volume provisioning are handled by other components entirely.
CNCF — Service mesh conceptsWhich two practices support a reliable continuous delivery pipeline for Kubernetes workloads? (Select TWO.)
- ABuild the image once and promote the same digest through environments✓
- BRun automated tests before an artefact is promoted✓
- CDeploy directly from a developer's laptop to production
- DUse the latest tag in production manifests
- ESkip staging when the change looks small
Correct answer: A, B — Build the image once and promote the same digest through environments · Run automated tests before an artefact is promoted
Promoting an immutable artefact that has passed automated tests is what makes a release predictable. Laptop deploys bypass review, mutable latest tags make it impossible to know what is running, and skipping staging removes the safety net exactly when confidence is unverified.
CNCF — CI/CD for KubernetesWhich two are true about Kubernetes rolling updates on a Deployment? (Select TWO.)
- AmaxUnavailable and maxSurge control how aggressively Pods are replaced✓
- BThe previous ReplicaSet is retained so a rollback is possible✓
- CAll Pods are terminated before any new Pod starts
- DRolling updates require the cluster to be drained first
- ERolling updates only work with StatefulSets
Correct answer: A, B — maxUnavailable and maxSurge control how aggressively Pods are replaced · The previous ReplicaSet is retained so a rollback is possible
The rolling update strategy is tuned with maxUnavailable and maxSurge, and old ReplicaSets are kept within the revision history limit so rollback works. Terminating everything first is the Recreate strategy, no drain is needed, and Deployments are the canonical rolling update controller.
Kubernetes — Rolling updatesWhich Kubernetes feature automatically adjusts the number of Pod replicas based on observed CPU utilisation?
- AHorizontalPodAutoscaler✓
- BCluster Autoscaler
- CPodDisruptionBudget
- DResourceQuota
Correct answer: A — HorizontalPodAutoscaler
The HorizontalPodAutoscaler changes the replica count of a workload based on metrics such as CPU utilisation. The Cluster Autoscaler adds and removes nodes, a PodDisruptionBudget limits voluntary evictions, and a quota caps namespace usage.
Kubernetes — Horizontal Pod AutoscalingWhich object protects availability during voluntary disruptions such as a node drain?
- APodDisruptionBudget✓
- BResourceQuota
- CLimitRange
- DPriorityClass
Correct answer: A — PodDisruptionBudget
A PodDisruptionBudget specifies the minimum available or maximum unavailable Pods so a drain cannot evict too many at once. Quotas and LimitRanges govern resource consumption, and PriorityClasses affect preemption during scheduling pressure.
Kubernetes — DisruptionsWhat is the purpose of an init container?
- AIt runs to completion before the application containers start, for setup tasks✓
- BIt runs alongside the application container for the Pod's lifetime
- CIt restarts the node when the Pod fails
- DIt replaces the need for readiness probes
Correct answer: A — It runs to completion before the application containers start, for setup tasks
Init containers run sequentially to completion before app containers begin, which suits waiting for a dependency or preparing a volume. A container that runs alongside is a sidecar, containers do not restart nodes, and readiness probes serve a different purpose.
Kubernetes — Init containersWhich two mechanisms let an administrator restrict what actions a user can perform in a namespace? (Select TWO.)
- ARole and RoleBinding✓
- BClusterRole bound within a namespace by a RoleBinding✓
- CLabels on the namespace
- DPod annotations
- ENode taints
Correct answer: A, B — Role and RoleBinding · ClusterRole bound within a namespace by a RoleBinding
RBAC grants permissions through Roles and RoleBindings, and a ClusterRole can be reused inside a namespace by binding it with a RoleBinding. Labels and annotations are metadata without authorisation effect, and node taints influence scheduling.
Kubernetes — RBACWhich two commands would help diagnose why an application in a running Pod returns errors? (Select TWO.)
- Akubectl logs <pod>✓
- Bkubectl exec -it <pod> -- sh✓
- Ckubectl delete pod <pod>
- Dkubectl drain <node>
- Ekubectl taint nodes <node> key=value:NoSchedule
Correct answer: A, B — kubectl logs <pod> · kubectl exec -it <pod> -- sh
Reading container logs and opening a shell inside the container are the two standard first diagnostic steps. Deleting the Pod destroys the evidence, draining evicts workloads from a node, and tainting affects future scheduling.
Kubernetes — Debug running PodsWhich two are valid ways to expose an application running in Pods to clients outside the cluster? (Select TWO.)
- AA Service of type LoadBalancer✓
- BAn Ingress resource with an ingress controller✓
- CA ConfigMap mounted into the Pod
- DA PersistentVolumeClaim
- EA ResourceQuota in the namespace
Correct answer: A, B — A Service of type LoadBalancer · An Ingress resource with an ingress controller
LoadBalancer Services provision an external address and Ingress routes external HTTP traffic through a controller. ConfigMaps supply configuration, PersistentVolumeClaims request storage, and ResourceQuotas cap namespace consumption.
Kubernetes — IngressWhich pattern prevents a failing dependency from consuming all of a caller's resources?
- ACircuit breaker with timeouts and bounded concurrency✓
- BUnbounded retries with no timeout
- CSynchronous chaining of every call
- DRemoving all health checks
Correct answer: A — Circuit breaker with timeouts and bounded concurrency
A circuit breaker combined with timeouts and concurrency limits makes the caller fail fast instead of piling up blocked work. Unbounded retries amplify the outage, synchronous chaining propagates it, and removing health checks hides it.
Which probe tells Kubernetes whether a container is ready to receive traffic from a Service?
- AReadiness probe✓
- BLiveness probe
- CStartup probe
- DTermination probe
Correct answer: A — Readiness probe
A failing readiness probe removes the Pod from Service endpoints without restarting it. The liveness probe restarts an unhealthy container, the startup probe protects slow-starting containers from premature liveness failures, and there is no termination probe.
Kubernetes — Configure probesWhich statement best summarises the CNCF definition of cloud native?
- ATechnologies that build and run scalable applications in modern, dynamic environments using containers, meshes, microservices, and declarative APIs✓
- BAny application that runs on a public cloud provider
- CApplications written exclusively in Go
- DMonolithic applications lifted onto virtual machines
Correct answer: A — Technologies that build and run scalable applications in modern, dynamic environments using containers, meshes, microservices, and declarative APIs
The CNCF definition centres on loosely coupled, resilient, observable systems built with containers, service meshes, microservices, immutable infrastructure, and declarative APIs. Running on a cloud provider, choosing a language, or lifting a monolith does not make a system cloud native.
CNCF — Cloud native definitionWhich component runs on every worker node and is responsible for starting containers described by PodSpecs?
- Akubelet✓
- Bkube-apiserver
- Ckube-controller-manager
- Dcloud-controller-manager
Correct answer: A — kubelet
The kubelet is the node agent that receives PodSpecs and instructs the container runtime to run them, reporting status back. The API server serves the API, the controller manager runs control loops, and the cloud controller manager integrates with cloud provider APIs.
Kubernetes — kubeletWhich object provides a stable virtual IP and DNS name that load balances traffic to a set of Pods inside the cluster?
- AService of type ClusterIP✓
- BConfigMap
- CPersistentVolumeClaim
- DNamespace
Correct answer: A — Service of type ClusterIP
A ClusterIP Service gives a stable in-cluster address and DNS name that fronts the Pods matching its selector. ConfigMaps hold configuration, PersistentVolumeClaims request storage, and Namespaces partition objects logically.
Kubernetes — ServiceWhich deployment strategy runs two full environments and switches traffic from the old to the new in one step, with an immediate switch back if needed?
- ABlue/green deployment✓
- BRolling update
- CCanary deployment
- DRecreate deployment
Correct answer: A — Blue/green deployment
Blue/green keeps a complete standby environment and cuts traffic over atomically, making rollback a second cutover. Rolling updates replace Pods incrementally, canary shifts a small traffic percentage first, and Recreate takes the old version down before starting the new one.
Kubernetes — Deployment strategiesWhich two CNCF projects are commonly used to implement GitOps continuous delivery for Kubernetes? (Select TWO.)
- AArgo CD✓
- BFlux✓
- CPrometheus
- DEnvoy
- Eetcd
Correct answer: A, B — Argo CD · Flux
Argo CD and Flux are the two widely used GitOps controllers that reconcile clusters to a repository. Prometheus is a monitoring system, Envoy is a proxy, and etcd is Kubernetes' datastore.
CNCF — Argo projectWhich practice makes a Git repository the single source of truth for the desired state of a cluster, with automated reconciliation?
- AGitOps✓
- BManual kubectl edits
- CSnowflake server configuration
- DAd hoc shell scripts on the control plane
Correct answer: A — GitOps
GitOps keeps declarative configuration in version control and uses an agent to converge the cluster to it, giving review, audit, and drift correction. Manual edits, snowflakes, and ad hoc scripts all break the link between repository and reality.
CNCF — GitOps principlesWhich component programs the node's networking rules so that traffic to a Service ClusterIP reaches a backing Pod?
- Akube-proxy✓
- Bkube-scheduler
- Cetcd
- Dkube-controller-manager
Correct answer: A — kube-proxy
kube-proxy watches Services and Endpoints and maintains iptables or IPVS rules that direct ClusterIP traffic to Pod addresses. The scheduler places Pods, etcd stores state, and the controller manager runs reconciliation loops.
Kubernetes — kube-proxyWhich statement about immutable infrastructure is correct?
- AChanges are made by replacing instances or containers with new versions rather than modifying running ones✓
- BRunning containers are patched in place to preserve state
- CConfiguration drift is expected and acceptable
- DEvery deployment requires manual server login
Correct answer: A — Changes are made by replacing instances or containers with new versions rather than modifying running ones
Immutable infrastructure means you replace rather than mutate, so what runs always matches a known artefact. In-place patching, tolerated drift, and manual logins are exactly the practices this model removes.
CNCF — Cloud native conceptsWhat does the declarative model in Kubernetes mean in practice?
- AYou submit the desired state and controllers continuously work to make actual state match✓
- BYou issue imperative commands that execute once and are never reconciled
- CThe scheduler places Pods only when an administrator triggers it
- DObjects are deleted automatically after each reconciliation
Correct answer: A — You submit the desired state and controllers continuously work to make actual state match
Kubernetes runs control loops that continuously compare desired state in the API to observed state and act to close the gap. Imperative one-shot execution is the opposite model, scheduling is automatic, and reconciliation does not delete healthy objects.
Kubernetes — ControllersWhich control plane component watches for newly created Pods with no assigned node and selects a node for them?
- Akube-scheduler✓
- Bkubelet
- Ckube-proxy
- Detcd
Correct answer: A — kube-scheduler
The scheduler is responsible for placement decisions based on resource requests, affinity, taints, and other constraints. The kubelet runs on each node and starts containers once placement is decided, kube-proxy programs service networking, and etcd stores cluster state.
Kubernetes — kube-schedulerWhich mechanism prevents Pods without a matching toleration from being scheduled onto a specific node?
- AA taint on the node✓
- BA label on the node
- CA ResourceQuota
- DA NetworkPolicy
Correct answer: A — A taint on the node
Taints repel Pods that do not carry a matching toleration, which is how nodes are reserved for particular workloads. Labels attract Pods through node selectors rather than repelling, quotas limit resource consumption, and NetworkPolicies control traffic.
Kubernetes — Taints and tolerationsWhich Kubernetes object is the smallest deployable unit and holds one or more containers that share a network namespace?
- APod✓
- BDeployment
- CService
- DNode
Correct answer: A — Pod
A Pod is the atomic scheduling unit and its containers share the same network namespace and can share volumes. A Deployment manages Pods through ReplicaSets, a Service provides stable networking to Pods, and a Node is a worker machine.
Kubernetes — PodsWhich Kubernetes controller runs a Pod to completion and retries on failure, suitable for a one-off data migration?
- AJob✓
- BDeployment
- CDaemonSet
- DReplicaSet
Correct answer: A — Job
A Job creates Pods and tracks successful completions, retrying according to its backoff policy. Deployments and ReplicaSets keep long-running Pods alive indefinitely, and a DaemonSet places Pods on every node.
Kubernetes — JobsWhich two statements about a Kubernetes Deployment are correct? (Select TWO.)
- AIt manages ReplicaSets to maintain a declared number of Pod replicas✓
- BIt supports rolling updates and rollbacks to previous revisions✓
- CIt provides a stable network identity for each Pod
- DIt guarantees ordered startup of Pods
- EIt runs exactly one Pod on every node
Correct answer: A, B — It manages ReplicaSets to maintain a declared number of Pod replicas · It supports rolling updates and rollbacks to previous revisions
Deployments own ReplicaSets to keep the desired replica count and provide rolling update and rollback semantics. Stable per-Pod identity and ordered startup are StatefulSet properties, and one Pod per node is what a DaemonSet does.
Kubernetes — DeploymentsWhich statement about namespaces is correct?
- AThey provide a scope for object names and a boundary for quotas and RBAC✓
- BThey provide network isolation by default
- CThey are physical partitions of the cluster nodes
- DAll Kubernetes objects are namespaced
Correct answer: A — They provide a scope for object names and a boundary for quotas and RBAC
Namespaces scope object names and give a natural boundary for ResourceQuota and RBAC. They do not isolate network traffic unless NetworkPolicies are applied, they are logical rather than physical, and cluster-scoped objects such as Nodes and PersistentVolumes are not namespaced.
Kubernetes — NamespacesA Pod is stuck in Pending state and events show insufficient memory on all nodes. What is happening?
- ANo node can satisfy the Pod's memory request, so the scheduler cannot place it✓
- BThe container image cannot be pulled
- CThe liveness probe is failing repeatedly
- DThe Service has no endpoints
Correct answer: A — No node can satisfy the Pod's memory request, so the scheduler cannot place it
Pending with an insufficient resources event means scheduling failed because no node has enough allocatable capacity for the request. Image pull problems show as ImagePullBackOff, probe failures require the Pod to be running first, and missing Service endpoints is a networking symptom.
Kubernetes — Node allocatable and schedulingWhich observability signal is best suited to answering how long a single request spent in each service it touched?
- ADistributed traces✓
- BAggregate metrics
- CUnstructured text logs
- DConfiguration snapshots
Correct answer: A — Distributed traces
Traces record a request's path across services as spans with timings, which is exactly a per-hop breakdown. Metrics aggregate across requests, unstructured logs are hard to correlate, and configuration snapshots describe state rather than request flow.
CNCF — OpenTelemetryWhich two Linux kernel features underpin container isolation? (Select TWO.)
- ANamespaces✓
- BControl groups✓
- CHypervisor virtualisation
- DBIOS settings
- ESwap partitions
Correct answer: A, B — Namespaces · Control groups
Namespaces isolate what a process can see and cgroups limit what it can consume, which together provide container isolation. Hypervisors virtualise hardware for virtual machines, and BIOS settings and swap are unrelated to container boundaries.
Kubernetes — ContainersWhich object limits the aggregate CPU, memory, and object counts that a namespace may consume?
- AResourceQuota✓
- BPodDisruptionBudget
- CHorizontalPodAutoscaler
- DPriorityClass
Correct answer: A — ResourceQuota
A ResourceQuota caps total resource consumption and object counts within a namespace. A PodDisruptionBudget limits voluntary disruption, the HorizontalPodAutoscaler scales replicas, and a PriorityClass influences preemption order.
Kubernetes — Resource quotasA container must read a database password that should not appear in the Pod manifest in plain text. Which object should hold it?
- ASecret✓
- BConfigMap
- CAnnotation
- DLabel
Correct answer: A — Secret
Secrets are the object intended for sensitive values and can be mounted or exposed as environment variables with access controlled by RBAC. ConfigMaps hold non-sensitive configuration, and annotations and labels are metadata attached to objects.
Kubernetes — SecretsWhich object requests durable storage for a Pod, decoupled from the specific storage backend?
- APersistentVolumeClaim✓
- BemptyDir volume
- CConfigMap volume
- DhostPath volume
Correct answer: A — PersistentVolumeClaim
A PersistentVolumeClaim expresses a storage request that is satisfied by a PersistentVolume, often provisioned dynamically by a StorageClass. emptyDir is ephemeral and dies with the Pod, ConfigMap volumes project configuration, and hostPath ties the Pod to a specific node's filesystem.
Kubernetes — Persistent volumesWhat does the Kubernetes API group and version in a manifest, such as apps/v1, indicate?
- AWhich API group the resource belongs to and the stability level of that API version✓
- BThe version of the container image to run
- CThe Kubernetes cluster's patch release
- DThe namespace the object is created in
Correct answer: A — Which API group the resource belongs to and the stability level of that API version
apiVersion names the API group and version, where v1 indicates a stable API and beta or alpha indicate less stable ones. It has nothing to do with image tags, cluster patch versions, or namespace placement.
Kubernetes — API versioningWhich tool packages Kubernetes manifests into versioned, parameterisable releases for repeatable installation?
- AHelm✓
- Betcdctl
- Ccrictl
- Dkubeadm
Correct answer: A — Helm
Helm charts bundle templated manifests with values, and releases are versioned and upgradeable. etcdctl administers etcd, crictl talks to the container runtime, and kubeadm bootstraps clusters.
CNCF — HelmWhat is the effect of setting a CPU request of 200m and a CPU limit of 500m on a container?
- AThe scheduler reserves 200m for placement and the container is throttled above 500m✓
- BThe container always receives exactly 500m of CPU
- CThe container is terminated if it exceeds 200m
- DRequests and limits are ignored for CPU
Correct answer: A — The scheduler reserves 200m for placement and the container is throttled above 500m
The request drives scheduling and guaranteed share, while the CPU limit causes throttling rather than termination when exceeded. CPU is compressible, so exceeding it slows the container instead of killing it, which is what happens with memory limits.
Kubernetes — Resource managementWhere does Kubernetes persist all cluster state such as objects and their status?
- Aetcd✓
- BThe container runtime
- CThe kubelet's local cache
- Dkube-proxy's iptables rules
Correct answer: A — etcd
etcd is the consistent key-value store that holds all API objects, which is why backing it up is essential. The container runtime runs containers, the kubelet caches for its own node, and kube-proxy programs networking rules derived from state rather than storing it.
Kubernetes — etcdWhich statement about ConfigMaps is accurate?
- AThey store non-confidential configuration as key-value pairs that can be mounted or exposed as environment variables✓
- BThey encrypt their contents at rest by default in every cluster
- CThey can only be consumed as command-line arguments
- DThey are cluster-scoped rather than namespaced
Correct answer: A — They store non-confidential configuration as key-value pairs that can be mounted or exposed as environment variables
ConfigMaps carry non-sensitive configuration and can be projected as files or environment variables. They are not designed for confidentiality, they support multiple consumption methods, and they are namespaced objects.
Kubernetes — ConfigMapsWhich Kubernetes extension mechanism lets you define your own object types that the API server will store and serve?
- ACustomResourceDefinition✓
- BConfigMap
- CIngress class
- DPodPreset
Correct answer: A — CustomResourceDefinition
A CustomResourceDefinition registers a new resource type so instances can be created and watched like built-in objects. ConfigMaps hold data rather than defining types, ingress classes select controllers, and PodPreset was an older removed feature.
Kubernetes — Custom resourcesWhich interface allows third-party storage vendors to provide volume plugins to Kubernetes without changing core code?
- AContainer Storage Interface✓
- BContainer Runtime Interface
- CService Mesh Interface
- DContainer Network Interface
Correct answer: A — Container Storage Interface
CSI is the standard that lets storage systems provide drivers out of tree. CRI covers runtimes, SMI is a service mesh specification, and CNI covers pod networking.
Kubernetes — CSIWhich command shows the current state, events, and conditions of a specific Pod, including why it failed to start?
- Akubectl describe pod <name>✓
- Bkubectl get nodes
- Ckubectl apply -f pod.yaml
- Dkubectl config view
Correct answer: A — kubectl describe pod <name>
kubectl describe prints the object's spec, status, conditions, and recent events, which is where scheduling and image pull failures appear. Listing nodes, applying a manifest, and viewing kubeconfig do not report a Pod's failure reason.
Kubernetes — Debug PodsWhich Kubernetes networking model requirement must a CNI plugin satisfy?
- AEvery Pod gets its own IP address and can reach every other Pod without NAT✓
- BAll Pods must share a single IP address per node
- CPods may only communicate through a Service
- DPod IP addresses must be static across restarts
Correct answer: A — Every Pod gets its own IP address and can reach every other Pod without NAT
The Kubernetes network model requires a flat address space where each Pod has its own IP and can reach any other Pod directly. Pods do not share a node IP, direct Pod-to-Pod traffic is allowed, and Pod IPs are ephemeral by design.
Kubernetes — Cluster networkingA Pod shows status ImagePullBackOff. What is the most likely cause?
- AThe image name is wrong or the registry credentials are missing✓
- BThe Pod's readiness probe is failing
- CThe node has no CPU available
- DThe Service selector does not match the Pod labels
Correct answer: A — The image name is wrong or the registry credentials are missing
ImagePullBackOff means the kubelet could not pull the image, typically because of a bad reference, a missing tag, or an unauthenticated private registry. Probe failures show as unready containers, insufficient CPU shows as Pending, and a selector mismatch affects Service endpoints rather than image pulls.
Kubernetes — Debug PodsWhich kubectl command applies a manifest file and records the desired state in the cluster without deleting objects that are not mentioned?
- Akubectl apply -f manifest.yaml✓
- Bkubectl replace --force -f manifest.yaml
- Ckubectl delete -f manifest.yaml
- Dkubectl drain node1
Correct answer: A — kubectl apply -f manifest.yaml
kubectl apply performs a declarative update, creating or patching only the objects in the file. Replace with force deletes and recreates the object, delete removes it, and drain evicts workloads from a node.
Kubernetes — Declarative object managementWhat is the role of a Kubernetes operator?
- AIt encodes operational knowledge for an application as a controller acting on custom resources✓
- BIt is a human on call for the cluster
- CIt replaces the kube-scheduler
- DIt is a command-line tool for editing manifests
Correct answer: A — It encodes operational knowledge for an application as a controller acting on custom resources
An operator is software that watches custom resources and automates day-two tasks such as backup, upgrade, and failover for a specific application. It is not a person, it does not replace the scheduler, and it is not a manifest editor.
Kubernetes — Operator patternWhich practice best keeps container images small and reduces attack surface?
- AUse minimal base images and multi-stage builds so build tools are not shipped✓
- BInclude a full desktop distribution for debugging convenience
- CRun every container as root to avoid permission problems
- DInstall every possible package in advance
Correct answer: A — Use minimal base images and multi-stage builds so build tools are not shipped
Minimal bases and multi-stage builds keep compilers and package managers out of the runtime image, which shrinks both size and vulnerability surface. Full distributions, root execution, and speculative package installation all increase risk.
Kubernetes — Image best practicesWhich two are advantages of a microservices architecture over a monolith? (Select TWO.)
- AServices can be deployed and scaled independently✓
- BTeams can own and release their services autonomously✓
- CDistributed transactions become simpler
- DNetwork calls between components become free
- EDebugging becomes easier because everything runs in one process
Correct answer: A, B — Services can be deployed and scaled independently · Teams can own and release their services autonomously
Independent deployment, scaling, and team ownership are the real benefits microservices buy. They make distributed transactions harder, introduce network latency and failure between components, and spread debugging across many processes.
CNCF — MicroservicesWhich component exposes the Kubernetes API and is the only component that talks directly to etcd?
- Akube-apiserver✓
- Bkube-scheduler
- Ckubelet
- Dkube-proxy
Correct answer: A — kube-apiserver
The API server is the front door to the cluster and mediates all reads and writes to etcd, which keeps the datastore's access surface small. The scheduler, kubelet, and kube-proxy all interact with the cluster through the API server.
Kubernetes — Control plane componentsWhich two statements about container images are correct? (Select TWO.)
- AAn image is composed of read-only layers plus metadata✓
- BA digest identifies exact image content, while a tag is a mutable pointer✓
- CImages always include a full operating system kernel
- DEvery container gets its own kernel instance
- EAn image can only be used by one container at a time
Correct answer: A, B — An image is composed of read-only layers plus metadata · A digest identifies exact image content, while a tag is a mutable pointer
Images are layered and content-addressable by digest, whereas tags can be repointed to different content. Containers share the host kernel rather than shipping or booting their own, and one image can back any number of concurrent containers.
Kubernetes — ImagesWhich organisation hosts Kubernetes, Prometheus, and Envoy as graduated projects?
- AThe Cloud Native Computing Foundation✓
- BThe Apache Software Foundation
- CThe Internet Engineering Task Force
- DThe Open Container Initiative
Correct answer: A — The Cloud Native Computing Foundation
The CNCF hosts the cloud native project landscape and marks maturity as sandbox, incubating, or graduated. Apache hosts a different portfolio, the IETF publishes internet standards, and the OCI defines container image and runtime specifications.
CNCF — Graduated and incubating projectsWhich security context setting reduces risk by preventing a container process from gaining additional privileges?
- AallowPrivilegeEscalation set to false✓
- Bprivileged set to true
- ChostNetwork set to true
- DhostPID set to true
Correct answer: A — allowPrivilegeEscalation set to false
Setting allowPrivilegeEscalation to false stops a process gaining more privileges than its parent. Running privileged or sharing the host network and PID namespaces all increase rather than reduce the container's reach into the host.
Kubernetes — Security contextWhich tool renders Kubernetes manifests from a base plus environment-specific overlays without templating language?
- AKustomize✓
- BHelm
- Ckubeadm
- Dkubectl proxy
Correct answer: A — Kustomize
Kustomize composes manifests through bases and overlays using patches rather than templates, and it is built into kubectl. Helm uses templating with values, kubeadm bootstraps clusters, and kubectl proxy forwards API traffic.
Kubernetes — Declarative management with KustomizeWhich workload controller ensures a copy of a Pod runs on every node in the cluster, such as a log collector?
- ADaemonSet✓
- BDeployment
- CJob
- DStatefulSet
Correct answer: A — DaemonSet
A DaemonSet schedules one Pod per matching node and adds Pods automatically as nodes join. Deployments manage a replica count without node affinity guarantees, Jobs run to completion, and StatefulSets manage ordered, identity-bearing Pods.
Kubernetes — DaemonSetWhich interface standard allows Kubernetes to work with different container runtimes such as containerd or CRI-O?
- AContainer Runtime Interface✓
- BContainer Network Interface
- CContainer Storage Interface
- DOpen Container Initiative image spec
Correct answer: A — Container Runtime Interface
CRI is the gRPC interface between the kubelet and the container runtime, which is what makes runtimes pluggable. CNI covers networking plugins, CSI covers storage drivers, and the OCI image spec defines image format rather than the runtime interface.
Kubernetes — Container runtimesReady to try it under exam conditions?
Reading answers is not the same as recalling them with a clock running. Take the same 60 questions as a timed mock exam — 90 minutes, no feedback until you submit, then a score broken down by exam domain so you know what to study.
Start the timed KCNA test →