Linux Foundation KCNA Practice Questions with Explanations

Free Linux Foundation KCNA practice questions. 50 of them, each with the correct answer, a full explanation, and the reason every other option is wrong. These are real questions from the KCNA exam, not paraphrases, and every explanation is written out rather than just marking the right letter.

They are drawn from the same bank as the full KCNA pack, which has 300 questions in total.

Get the full KCNA question bank (300 questions) →

KCNA practice questions

Question 1

What native runtime is Open Container Initiative (OCI) compliant?

  • A. runC
  • B. runV
  • C. kata-containers
  • D. gvisor
Show answer and explanation ▾

Correct answer: A

runC is the reference implementation of the OCI runtime specification and is the native, officially OCI-compliant container runtime. It is the most widely used OCI-compliant runtime and serves as the standard for container execution. While kata-containers and gvisor are also container runtimes, they are not the native OCI runtime reference implementation.

Why the other options are wrong:

  • B. runV does not exist as a standard container runtime.
  • C. Kata Containers is a runtime that provides lightweight virtual machines but is not the native OCI reference implementation.
  • D. gVisor is a sandbox runtime but is not the native OCI runtime reference implementation.

Question 2

Which API object is the recommended way to run a scalable, stateless application on your cluster?

  • A. ReplicaSet
  • B. Deployment
  • C. DaemonSet
  • D. Pod
Show answer and explanation ▾

Correct answer: B

Deployment is the recommended API object for running scalable, stateless applications in Kubernetes. Deployments provide declarative updates for Pods and ReplicaSets, making it easy to manage replicas, perform rolling updates, and handle scaling. ReplicaSets are lower-level and typically managed by Deployments, DaemonSets are for node-level workloads, and Pods are the basic unit but not suitable for managing scalability directly.

Why the other options are wrong:

  • A. ReplicaSet is a lower-level construct typically managed by Deployments rather than used directly.
  • C. DaemonSet ensures a Pod runs on every node, not suitable for general scalable stateless applications.
  • D. Pod is the basic unit but provides no scaling or management capabilities on its own.

Question 3

A CronJob is scheduled to run by a user every one hour. What happens in the cluster when it's time for this CronJob to run?

  • A. Kubelet watches API Server for CronJob objects. When it's time for a Job to run, it runs the Pod directly.
  • B. Kube-scheduler watches API Server for CronJob objects, and this is why it's called kube-scheduler.
  • C. CronJob controller component creates a Pod and waits until it finishes to run.
  • D. CronJob controller component creates a Job. Then the Job controller creates a Pod and waits until it finishes to run.
Show answer and explanation ▾

Correct answer: D

The CronJob controller component creates a Job object when the scheduled time arrives. The Job controller then creates a Pod based on that Job specification, and the Job controller waits until the Pod completes execution. This two-level hierarchy (CronJob → Job → Pod) is the proper architecture in Kubernetes. The kubelet does not watch for CronJobs, and the kube-scheduler is not primarily responsible for CronJob management.

Why the other options are wrong:

  • A. Kubelet does not watch API Server for CronJob objects; the CronJob controller does.
  • B. Kube-scheduler is not responsible for watching CronJob objects; the CronJob controller is.
  • C. The CronJob controller creates a Job, not a Pod directly; the Job controller then creates the Pod.

Question 4

What is the purpose of the kubelet component within a Kubernetes cluster?

  • A. A dashboard for Kubernetes Clusters that allows management and troubleshooting of applications.
  • B. A network proxy that runs on each node in your cluster, implementing part of the Kubernetes Service concept.
  • C. A component that watches for newly created Pods with no assigned node, and selects a node for them to run on.
  • D. An agent that runs on each node in the cluster. It makes sure that containers are running in a Pod.
Show answer and explanation ▾

Correct answer: D

Kubelet is an agent that runs on each node in a Kubernetes cluster and ensures that containers are running in Pods as expected. It communicates with the API server, manages the Pod lifecycle, mounts volumes, and reports node status. Option A describes a dashboard (Kubernetes Dashboard), Option B describes kube-proxy, and Option C describes kube-scheduler.

Why the other options are wrong:

  • A. A dashboard is the Kubernetes Dashboard or similar management UI, not the kubelet.
  • B. kube-proxy is the network proxy component that implements the Service concept.
  • C. Kube-scheduler selects nodes for newly created Pods; the kubelet ensures containers run on the node.

Question 5

What is the default value for authorization-mode in Kubernetes API server?

  • A. --authorization-mode=RBAC
  • B. --authorization-mode=AlwaysAllow
  • C. --authorization-mode=AlwaysDeny
  • D. --authorization-mode=ABAC
Show answer and explanation ▾

Correct answer: B

The default authorization mode for the Kubernetes API server is AlwaysAllow, which permits all requests without any authorization checks. This is the permissive default, though it is typically overridden with more restrictive modes like RBAC in production environments. While RBAC is recommended for security, AlwaysAllow remains the actual default if not explicitly configured.

Why the other options are wrong:

  • A. RBAC is a recommended mode but is not the default; it must be explicitly configured.
  • C. AlwaysDeny is overly restrictive and is never a default; it would block all requests.
  • D. ABAC (Attribute-Based Access Control) is an older authorization mode but is not the default.

Question 6

Let's assume that an organization needs to process large amounts of data in bursts, on a cloud-based Kubernetes cluster. For instance: each Monday morning, they need to run a batch of 1000 compute jobs of 1 hour each, and these jobs must be completed by Monday night. What's going to be the most cost-effective method?

  • A. Run a group of nodes with the exact required size to complete the batch on time, and use a combination of taints, tolerations, and nodeSelectors to reserve these nodes to the batch jobs.
  • B. Leverage the Kubernetes Cluster Autoscaler to automatically start and stop nodes as they're needed.
  • C. Commit to a specific level of spending to get discounted prices (with e.g. "reserved instances" or similar mechanisms).
  • D. Use PriorityClasses so that the weekly batch job gets priority over other workloads running on the cluster, and can be completed on time.
Show answer and explanation ▾

Correct answer: B

The Kubernetes Cluster Autoscaler is the most cost-effective solution for burst workloads. It automatically scales the number of nodes up or down based on resource requests and actual usage, ensuring you only pay for the compute resources you need during the Monday batch processing, and the nodes scale down when the jobs complete. Option A wastes resources by keeping nodes constantly running, Option C commits to fixed spending unnecessarily, and Option D addresses scheduling priority rather than cost optimization.

Why the other options are wrong:

  • A. Maintaining a fixed group of nodes 24/7 is wasteful when you only need them one day per week.
  • C. Reserved instances reduce per-unit cost but don't eliminate the cost of idle resources.
  • D. PriorityClasses ensure jobs complete on time but do not address cost optimization or resource scaling.

Question 7

What is a Kubernetes service with no cluster IP address called?

  • A. Headless Service
  • B. Nodeless Service
  • C. IPLess Service
  • D. Specless Service
Show answer and explanation ▾

Correct answer: A

A Headless Service is a Kubernetes service that has no cluster IP address assigned to it. It is created by setting clusterIP: None in the service specification and is useful for stateful applications where you need direct Pod-to-Pod communication rather than load balancing through a single cluster IP. The other options are not standard Kubernetes terminology.

Why the other options are wrong:

  • B. Nodeless Service is not a recognized Kubernetes service type.
  • C. IPLess Service is not the correct term; the proper term is Headless Service.
  • D. Specless Service is not a recognized Kubernetes service type or concept.

Question 8

CI/CD stands for:

  • A. Continuous Information / Continuous Development
  • B. Continuous Integration / Continuous Development
  • C. Cloud Integration / Cloud Development
  • D. Continuous Integration / Continuous Deployment
Show answer and explanation ▾

Correct answer: D

CI/CD stands for Continuous Integration / Continuous Deployment. Continuous Integration refers to automatically building and testing code changes, while Continuous Deployment refers to automatically releasing validated changes to production. This is the standard industry definition used across software development and DevOps practices.

Why the other options are wrong:

  • A. Information and Development are not the correct expansions; CI stands for Continuous Integration.
  • B. While Continuous Integration is correct, the second term is Deployment, not Development.
  • C. Cloud Integration and Cloud Development are not the correct expansions for CI/CD.

Question 9

What default level of protection is applied to the data in Secrets in the Kubernetes API?

  • A. The values use AES Symmetric Encryption
  • B. The values are stored in plain text
  • C. The values are encoded with SHA256 hashes
  • D. The values are base64 encoded
Show answer and explanation ▾

Correct answer: D

By default, Kubernetes Secrets are stored with base64 encoding in the etcd backend. Base64 is an encoding scheme, not encryption-it is easily reversible and provides no cryptographic protection. This is why additional security measures like encryption at rest are recommended for production clusters.

Why the other options are wrong:

  • A. AES symmetric encryption is not applied by default; it must be explicitly configured.
  • B. While base64 is not encryption, the data is technically encoded, not stored in plain text.
  • C. SHA256 hashing is not used for Secrets storage; hashing is one-way and inappropriate for retrievable secret values.

Question 10

What function does kube-proxy provide to a cluster?

  • A. Implementing the Ingress resource type for application traffic.
  • B. Forwarding data to the correct endpoints for Services.
  • C. Managing data egress from the cluster nodes to the network.
  • D. Managing access to the Kubernetes API.
Show answer and explanation ▾

Correct answer: B

kube-proxy is a network proxy that runs on each node and is responsible for forwarding traffic to the correct endpoints behind Services. It implements network routing rules to enable Service discovery and load balancing across pod endpoints.

Why the other options are wrong:

  • A. Ingress resources are managed by an Ingress controller, not kube-proxy.
  • C. kube-proxy is not responsible for managing egress traffic from nodes.
  • D. API server access is managed by the Kubernetes control plane and authentication mechanisms, not kube-proxy.

Question 11

How long should a stable API element in Kubernetes be supported (at minimum) after deprecation?

  • A. 9 months
  • B. 24 months
  • C. 12 months
  • D. 6 months
Show answer and explanation ▾

Correct answer: C

According to the Kubernetes deprecation policy, stable API elements must remain supported for a minimum of 12 months after deprecation is announced. This ensures users have adequate time to migrate to replacement APIs.

Why the other options are wrong:

  • A. 9 months is shorter than the required minimum support period.
  • B. While 24 months provides extended support, 12 months is the stated minimum requirement.
  • D. 6 months is insufficient time for users to plan and execute migration strategies.

Question 12

What is the name of the lightweight Kubernetes distribution built for IoT and edge computing?

  • A. OpenShift
  • B. k3s
  • C. RKE
  • D. k1s
Show answer and explanation ▾

Correct answer: B

k3s is a lightweight, certified Kubernetes distribution specifically designed for IoT and edge computing environments. It reduces memory and CPU requirements while maintaining full Kubernetes compatibility.

Why the other options are wrong:

  • A. OpenShift is an enterprise Kubernetes platform, not a lightweight distribution.
  • C. RKE (Rancher Kubernetes Engine) is a full Kubernetes installer, not a lightweight edge distribution.
  • D. k1s is not a recognized Kubernetes distribution.

Question 13

Kubernetes ___ allows you to automatically manage the number of nodes in your cluster to meet demand.

  • A. Node Autoscaler
  • B. Cluster Autoscaler
  • C. Horizontal Pod Autoscaler
  • D. Vertical Pod Autoscaler
Show answer and explanation ▾

Correct answer: B

Cluster Autoscaler automatically adjusts the number of nodes in a cluster based on demand and resource availability. It adds nodes when pods cannot be scheduled and removes underutilized nodes to optimize resource usage.

Why the other options are wrong:

  • A. Node Autoscaler is not the correct Kubernetes terminology.
  • C. Horizontal Pod Autoscaler scales the number of pod replicas, not the number of nodes.
  • D. Vertical Pod Autoscaler adjusts CPU and memory requests for pods, not node count.

Question 14

Which of the following statements is correct concerning Open Policy Agent (OPA)?

  • A. The policies must be written in Python language.
  • B. Kubernetes can use it to validate requests and apply policies.
  • C. Policies can only be tested when published.
  • D. It cannot be used outside Kubernetes.
Show answer and explanation ▾

Correct answer: B

Open Policy Agent (OPA) is a policy engine that integrates with Kubernetes through admission webhooks. It validates requests and enforces policies based on Rego language rules, enabling fine-grained access control and security policies.

Why the other options are wrong:

  • A. OPA policies are written in Rego, not Python.
  • C. Policies can be tested locally before deployment using OPA's testing framework.
  • D. OPA is a general-purpose policy engine used in many contexts beyond Kubernetes.

Question 15

In a cloud native world, what does the IaC abbreviation stands for?

  • A. Infrastructure and Code
  • B. Infrastructure as Code
  • C. Infrastructure above Code
  • D. Infrastructure across Code
Show answer and explanation ▾

Correct answer: B

IaC stands for Infrastructure as Code, a practice in cloud native development where infrastructure configuration is defined and managed through code files rather than manual processes, enabling version control and automation.

Why the other options are wrong:

  • A. Infrastructure and Code is not the correct expansion.
  • C. Infrastructure above Code is not a recognized term.
  • D. Infrastructure across Code is not the correct expansion.

Question 16

In which framework do the developers no longer have to deal with capacity, deployments, scaling and fault tolerance, and OS?

  • A. Docker Swam
  • B. Kubernetes
  • C. Mesos
  • D. Serverless
Show answer and explanation ▾

Correct answer: D

Serverless computing abstracts away infrastructure management entirely. Developers focus solely on code and business logic while the platform handles capacity provisioning, scaling, deployment, fault tolerance, and operating system management.

Why the other options are wrong:

  • A. Docker Swarm requires developers to manage container orchestration and cluster resources.
  • B. Kubernetes requires developers to manage deployments, scaling, and cluster topology.
  • C. Mesos still requires understanding of resource management and cluster administration.

Question 17

Which of the following characteristics is associated with container orchestration?

  • A. Application message distribution
  • B. Dynamic scheduling
  • C. Deploying application JAR files
  • D. Virtual Machine distribution
Show answer and explanation ▾

Correct answer: B

Dynamic scheduling is a core characteristic of container orchestration platforms like Kubernetes. Orchestration systems automatically schedule containers across clusters based on resource requirements, constraints, and availability. Application message distribution relates to service mesh functionality, deploying JAR files is an application- specific concern unrelated to orchestration, and virtual machine distribution is infrastructure management rather than container orchestration.

Why the other options are wrong:

  • A. Message distribution is handled by service meshes or message brokers, not orchestration engines.
  • C. JAR file deployment is an application packaging concern, not a characteristic of orchestration.
  • D. VM distribution is infrastructure provisioning, distinct from container orchestration.

Question 18

Which of the following workload require a headless service while deploying into the namespace?

  • A. StatefulSet
  • B. CronJob
  • C. Deployment
  • D. DaemonSet
Show answer and explanation ▾

Correct answer: A

StatefulSets require a headless service to maintain stable network identities for their pods, enabling pod-to-pod communication and persistent ordering. StatefulSets are designed for applications that need stable hostnames and ordinal indices. Deployments and DaemonSets manage pods without requiring headless services, and CronJobs are one-off batch workloads that don't need stable pod identity.

Why the other options are wrong:

  • B. CronJobs run periodic batch jobs and don't require headless services.
  • C. Deployments manage stateless replicas and use standard services for load balancing.
  • D. DaemonSets run one pod per node but don't require headless services for functionality.

Question 19

What is Helm?

  • A. An open source dashboard for Kubernetes.
  • B. A package manager for Kubernetes applications.
  • C. A custom scheduler for Kubernetes.
  • D. An end to end testing project for Kubernetes applications.
Show answer and explanation ▾

Correct answer: B

Helm is a package manager for Kubernetes applications that uses charts to define, install, and manage complex Kubernetes deployments. It provides templating, versioning, and dependency management for Kubernetes resources. Kubernetes dashboards are separate tools like the Kubernetes Dashboard, custom schedulers are scheduler plugins rather than Helm's function, and end-to-end testing frameworks serve different purposes.

Why the other options are wrong:

  • A. Kubernetes Dashboard is the open-source UI for Kubernetes, not Helm.
  • C. Helm is a package manager, not a custom scheduler.
  • D. End-to-end testing projects are separate from Helm's package management role.

Question 20

Which is the correct kubectl command to display logs in real time?

  • A. kubectl logs -p test-container-1
  • B. kubectl logs -c test-container-1
  • C. kubectl logs -l test-container-1
  • D. kubectl logs -f test-container-1
Show answer and explanation ▾

Correct answer: D

The `-f` flag in `kubectl logs -f test-container-1` enables follow mode, displaying logs in real time as they are generated. The `-p` flag retrieves previous pod logs after a restart, `-c` selects a specific container by name, and `-l` is not a valid kubectl logs option for the given context.

Why the other options are wrong:

  • A. The `-p` flag shows logs from a previous pod instance, not real-time streaming.
  • B. The `-c` flag selects a container but doesn't stream logs in real time.
  • C. The `-l` flag is not a standard kubectl logs option for this purpose.

Question 21

How to load and generate data required before the Pod startup?

  • A. Use an init container with shared file storage.
  • B. Use a PVC volume.
  • C. Use a sidecar container with shared volume.
  • D. Use another pod with a PVC.
Show answer and explanation ▾

Correct answer: A

Init containers are the correct pattern for loading and generating required data before the main pod starts. Init containers run to completion before application containers start, and they can share storage volumes with the main pod. They are specifically designed for setup tasks like data preparation, configuration retrieval, and dependency initialization. Using sidecar containers, separate pods, or just PVC volumes alone doesn't provide the sequential startup guarantee that init containers offer.

Why the other options are wrong:

  • B. A PVC volume alone doesn't execute initialization logic or prepare data.
  • C. Sidecar containers run alongside the main container, not before it starts.
  • D. Running another pod doesn't guarantee proper initialization sequencing within the same pod.

Question 22

What is the core functionality of GitOps tools like Argo CD and Flux?

  • A. They track production changes made by a human in a Git repository and generate a human-readable audit trail.
  • B. They replace human operations with an agent that tracks Git commands.
  • C. They automatically create pull requests when dependencies are outdated.
  • D. They continuously compare the desired state in Git with the actual production state and notify or act upon differences.
Show answer and explanation ▾

Correct answer: D

GitOps tools like Argo CD and Flux implement continuous reconciliation by comparing the desired state defined in a Git repository against the actual production state. They automatically detect drift and either notify operators or take corrective actions. This provides declarative infrastructure management with Git as the single source of truth. While they may create pull requests for dependencies, this is an optional feature not core functionality, and they do track changes but don't replace human operations entirely.

Why the other options are wrong:

  • A. While GitOps creates audit trails, this is a benefit not the core functionality.
  • B. GitOps tools augment rather than replace human operations and oversight.
  • C. Automated dependency update pull requests are optional features, not core functionality.

Question 23

Which Kubernetes resource workload ensures that all (or some) nodes run a copy of a Pod?

  • A. ReplicaSet
  • B. StatefulSet
  • C. DaemonSet
  • D. Deployment
Show answer and explanation ▾

Correct answer: C

DaemonSet is the Kubernetes workload resource that ensures a copy of a Pod runs on all nodes (or a selected subset) in a cluster. It automatically creates and manages one pod per node, making it ideal for node-level logging, monitoring, and networking agents. ReplicaSets maintain a fixed number of replicas, StatefulSets manage stateful applications with identity, and Deployments manage stateless replicas.

Why the other options are wrong:

  • A. ReplicaSets maintain a specified number of replicas across the cluster, not one per node.
  • B. StatefulSets are for stateful applications needing identity and ordering, not universal node deployment.
  • D. Deployments manage stateless replica sets without ensuring one pod per node.

Question 24

We can extend the Kubernetes API with Kubernetes API Aggregation Layer and CRDs. What is CRD?

  • A. Custom Resource Definition
  • B. Custom Restricted Definition
  • C. Customized RUST Definition
  • D. Custom RUST Definition
Show answer and explanation ▾

Correct answer: A

CRD stands for Custom Resource Definition, which is the mechanism for extending the Kubernetes API with custom resource types. CRDs allow users to define new Kubernetes objects and manage them like native resources. The other options contain incorrect expansions with irrelevant terms like 'Restricted' or 'RUST' which are not related to Kubernetes API extensions.

Why the other options are wrong:

  • B. CRD does not stand for 'Custom Restricted Definition'.
  • C. RUST is not part of Kubernetes API extension terminology.
  • D. RUST is a programming language not related to Custom Resource Definitions.

Question 25

The Kubernetes project work is carried primarily by SIGs. What does SIG stand for?

  • A. Special Interest Group
  • B. Software Installation Guide
  • C. Support and Information Group
  • D. Strategy Implementation Group
Show answer and explanation ▾

Correct answer: A

SIG stands for Special Interest Group. These are the primary organizational units within the Kubernetes project where community members collaborate on specific areas like networking, storage, security, and other core components. SIGs are responsible for the design, implementation, and maintenance of various Kubernetes features.

Why the other options are wrong:

  • B. Software Installation Guide is not related to Kubernetes project organization.
  • C. Support and Information Group is not the correct term used in the Kubernetes community.
  • D. Strategy Implementation Group does not describe the function or structure of Kubernetes SIGs.

Question 26

What is the order of 4C's in Cloud Native Security, starting with the layer that a user has the most control over?

  • A. Cloud -> Container -> Cluster -> Code
  • B. Container -> Cluster -> Code -> Cloud
  • C. Cluster -> Container -> Code -> Cloud
  • D. Code -> Container -> Cluster -> Cloud
Show answer and explanation ▾

Correct answer: D

The 4Cs of Cloud Native Security are ordered from most to least user control: Code (application code), Container (container images and runtime), Cluster (Kubernetes infrastructure), and Cloud (cloud provider infrastructure). Users have the most direct control over their own code and progressively less control moving outward to infrastructure layers managed by cloud providers.

Why the other options are wrong:

  • A. This reverses the order, placing Cloud first when it should be last as the layer with least user control.
  • B. This ordering does not follow the principle of user control, starting with containers rather than code.
  • C. This ordering incorrectly places Cluster first, when Code is the innermost layer users control directly.

Question 27

Which group of container runtimes provides additional sandboxed isolation and elevated security?

  • A. rune, cgroups
  • B. docker, containerd
  • C. runsc, kata
  • D. crun, cri-o
Show answer and explanation ▾

Correct answer: C

runsc (gVisor) and kata (Kata Containers) are container runtimes that provide additional sandboxed isolation beyond standard container isolation. Both offer elevated security through virtualization or lightweight VM approaches, protecting the host kernel from container escapes. They are suitable for untrusted workloads requiring stronger isolation than traditional runtimes.

Why the other options are wrong:

  • A. runc is the standard OCI runtime (not sandboxed), and cgroups are resource limiting mechanisms, not runtimes.
  • B. docker and containerd are standard container runtimes that use runc; they do not provide the enhanced sandboxed isolation of gVisor or Kata.
  • D. crun and cri-o are alternative standard runtimes without the additional sandboxed isolation features needed for enhanced security.

Question 28

What is the common standard for Service Meshes?

  • A. Service Mesh Specification (SMS)
  • B. Service Mesh Technology (SMT)
  • C. Service Mesh Interface (SMI)
  • D. Service Mesh Function (SMF)
Show answer and explanation ▾

Correct answer: C

Service Mesh Interface (SMI) is the standard specification for service meshes in Kubernetes. It provides a common API for developers to define traffic management, security policies, and observability across different service mesh implementations, enabling portability between mesh solutions like Istio, Linkerd, and Consul.

Why the other options are wrong:

  • A. Service Mesh Specification (SMS) is not the recognized standard term in the cloud native ecosystem.
  • B. Service Mesh Technology (SMT) is not an established standard for service meshes.
  • D. Service Mesh Function (SMF) is not the correct standard for service mesh specifications in Kubernetes.

Question 29

Which statement about Ingress is correct?

  • A. Ingress provides a simple way to track network endpoints within a cluster.
  • B. Ingress is a Service type like NodePort and ClusterIP.
  • C. Ingress is a construct that allows you to specify how a Pod is allowed to communicate.
  • D. Ingress exposes routes from outside the cluster to services in the cluster.
Show answer and explanation ▾

Correct answer: D

Ingress is a Kubernetes API object that manages external access to services within a cluster, typically providing HTTP and HTTPS routing. It acts as a layer on top of Services to expose routes from outside the cluster to internal services, enabling external clients to reach applications running inside the cluster.

Why the other options are wrong:

  • A. Ingress is not used for tracking network endpoints; that is the function of Endpoints and Service objects.
  • B. Ingress is not a Service type; it is a separate API resource that works with Services (which can be NodePort, ClusterIP, or LoadBalancer type).
  • C. Ingress is not a network policy; that function is served by NetworkPolicy objects which define inter-Pod communication rules.

Question 30

What best describes cloud native service discovery?

  • A. It's a mechanism for applications and microservices to locate each other on a network.
  • B. It's a procedure for discovering a MAC address, associated with a given IP address.
  • C. It's used for automatically assigning IP addresses to devices connected to the network.
  • D. It's a protocol that turns human-readable domain names into IP addresses on the Internet.
Show answer and explanation ▾

Correct answer: A

Cloud native service discovery is the mechanism that enables applications and microservices to dynamically locate and communicate with each other on a network without hardcoded addresses. In Kubernetes, this is typically handled through DNS-based discovery using service names, allowing decoupled, scalable architectures where services can be added, removed, or migrated transparently.

Why the other options are wrong:

  • B. MAC address discovery is network-layer functionality (ARP), not service discovery.
  • C. Automatic IP address assignment describes DHCP, not service discovery for applications.
  • D. Domain name to IP resolution describes DNS, which is a tool used in service discovery but not service discovery itself.

Question 31

What components are common in a service mesh?

  • A. tracing and log storage
  • B. circuit breaking and Pod scheduling
  • C. data plane and runtime plane
  • D. service proxy and control plane
Show answer and explanation ▾

Correct answer: D

A service mesh comprises two primary components: the data plane (service proxies like Envoy that handle actual traffic) and the control plane (which manages and configures the proxies through APIs and policies). Together these enable traffic management, security, and observability across microservices.

Why the other options are wrong:

  • A. Tracing and log storage are observability tools used with service meshes but not core components of the mesh architecture itself.
  • B. Circuit breaking is a feature enabled by service meshes, but Pod scheduling is a Kubernetes scheduler function, not a mesh component.
  • C. Runtime plane is not a standard component of service mesh architecture; the correct terms are data plane and control plane.

Question 32

Which storage operator in Kubernetes can help the system to self-scale, self-heal, etc?

  • A. Rook
  • B. Kubernetes
  • C. Helm
  • D. Container Storage Interface (CSI)
Show answer and explanation ▾

Correct answer: A

Rook is a storage operator for Kubernetes that automates the deployment and management of distributed storage systems like Ceph. It enables self-scaling, self-healing, and self-managing capabilities, allowing storage infrastructure to adapt automatically to cluster needs and recover from failures without manual intervention.

Why the other options are wrong:

  • B. Kubernetes itself is the container orchestration platform, not a storage operator.
  • C. Helm is a package manager for Kubernetes applications, not a storage operator.
  • D. Container Storage Interface (CSI) is a standard interface for storage plugins, not an operator that provides self-scaling and self-healing capabilities.

Question 33

What fields must exist in any Kubernetes object (e.g. YAML) file?

  • A. apiVersion, kind, metadata
  • B. kind, namespace, data
  • C. apiVersion, metadata, namespace
  • D. kind, metadata, data
Show answer and explanation ▾

Correct answer: A

Every Kubernetes object manifest requires three essential top-level fields: apiVersion (specifies the API version), kind (specifies the object type), and metadata (contains object identification information like name and namespace). These three fields are mandatory and form the foundation of any valid Kubernetes YAML configuration.

Why the other options are wrong:

  • B. namespace is not a top-level required field; it belongs inside metadata
  • C. namespace is not a top-level required field; it is optional and contained within metadata
  • D. data is not a top-level required field and only appears in specific object types like ConfigMaps and Secrets

Question 34

Which of the following would fall under the responsibilities of an SRE?

  • A. Developing a new application feature.
  • B. Creating a monitoring baseline for an application.
  • C. Submitting a budget for running an application in a cloud.
  • D. Writing policy on how to submit a code change.
Show answer and explanation ▾

Correct answer: B

Site Reliability Engineers focus on operational aspects of systems including monitoring, observability, and reliability metrics. Creating a monitoring baseline for an application directly falls within SRE responsibilities as it establishes the foundation for measuring system health and performance. Options A, C, and D are development, finance, and policy responsibilities respectively, not core SRE functions.

Why the other options are wrong:

  • A. Developing new features is a software development responsibility, not SRE
  • C. Budgeting decisions are typically finance or management responsibilities, not SRE technical work
  • D. Code submission policies are usually set by engineering management or development leads, not SRE

Question 35

What are the initial namespaces that Kubernetes starts with?

  • A. default, kube-system, kube-public, kube-node-lease
  • B. default, system, kube-public
  • C. kube-default, kube-system, kube-main, kube-node-lease
  • D. kube-default, system, kube-main, kube-primary
Show answer and explanation ▾

Correct answer: A

When Kubernetes initializes, it automatically creates four default namespaces: default (for user workloads), kube-system (for cluster components), kube-public (for publicly readable data), and kube-node-lease (for node heartbeat lease objects). These are the standard initial namespaces present in every Kubernetes cluster.

Why the other options are wrong:

  • B. Incorrect naming conventions; 'system' should be 'kube-system' and missing kube- node-lease
  • C. Uses incorrect naming like 'kube-default' instead of 'default' and includes non-existent namespaces
  • D. Contains incorrect namespace names that do not exist in Kubernetes

Question 36

What is a probe within Kubernetes?

  • A. A monitoring mechanism of the Kubernetes API.
  • B. A pre-operational scope issued by the kubectl agent.
  • C. A diagnostic performed periodically by the kubelet on a container.
  • D. A logging mechanism of the Kubernetes API.
Show answer and explanation ▾

Correct answer: C

A probe in Kubernetes is a diagnostic mechanism that the kubelet performs periodically on containers within pods. Probes check container health through liveness, readiness, and startup checks, enabling Kubernetes to determine if a container is functioning correctly and ready to receive traffic. This is a core container health verification feature.

Why the other options are wrong:

  • A. Probes are not API monitoring mechanisms; they are container-level diagnostics
  • B. There is no 'pre-operational scope' concept in Kubernetes; this is not accurate terminology
  • D. Probes are diagnostic health checks, not logging mechanisms

Question 37

Which Kubernetes feature would you use to guard against split brain scenarios with your distributed application?

  • A. Replication controllers
  • B. Consensus protocols
  • C. Rolling updates
  • D. StatefulSet
Show answer and explanation ▾

Correct answer: D

StatefulSet provides ordered, stable pod identities and persistent storage, which are essential for distributed applications that require consensus mechanisms to prevent split- brain scenarios. StatefulSets ensure deterministic pod naming and ordered startup/shutdown, allowing applications like databases and clustered systems to maintain consistency and coordinate properly. Replication controllers and rolling updates do not address consensus; consensus protocols are the mechanism StatefulSets enable.

Why the other options are wrong:

  • A. Replication controllers only manage pod replicas; they do not prevent split-brain scenarios
  • B. While consensus protocols are the mechanism used, this is not a Kubernetes feature but rather what applications implement using StatefulSet
  • C. Rolling updates manage deployment strategy; they do not address split-brain prevention

Question 38

What feature must a CNI support to control specific traffic flows for workloads running in Kubernetes?

  • A. Border Gateway Protocol
  • B. IP Address Management
  • C. Pod Security Policy
  • D. Network Policies
Show answer and explanation ▾

Correct answer: D

CNI (Container Network Interface) plugins must support Network Policies to control and restrict specific traffic flows between pods and services in Kubernetes. Network Policies allow fine-grained ingress and egress rules that determine which workloads can communicate with each other, providing microsegmentation within clusters.

Why the other options are wrong:

  • A. Border Gateway Protocol is used for external routing between autonomous systems, not for controlling intra-cluster traffic
  • B. IP Address Management handles IP allocation to pods but does not control traffic flows
  • C. Pod Security Policy (now deprecated) controls pod security contexts but does not manage traffic flows between workloads

Question 39

What is the main role of the Kubernetes DNS within a cluster?

  • A. Acts as a DNS server for virtual machines that are running outside the cluster.
  • B. Provides a DNS as a Service, allowing users to create zones and registries for domains that they own.
  • C. Allows Pods running in dual stack to convert IPv6 calls into IPv4 calls.
  • D. Provides consistent DNS Names for Pods and Services for workloads that need to communicate with each other.
Show answer and explanation ▾

Correct answer: D

Kubernetes DNS provides service discovery within the cluster by maintaining consistent DNS names for Pods and Services. This allows workloads to discover and communicate with each other reliably using DNS names rather than hardcoded IP addresses, which is fundamental to microservices architecture within Kubernetes.

Why the other options are wrong:

  • A. Kubernetes DNS serves only internal cluster workloads, not external VMs outside the cluster
  • B. Kubernetes DNS is not a general DNS service provider; it is specific to cluster- internal service discovery
  • C. IPv6 to IPv4 conversion is not a primary role of Kubernetes DNS

Question 40

Scenario: You have a Kubernetes cluster hosted in a public cloud provider. When trying to create a Service of type LoadBalancer, the external-ip is stuck in the "Pending" state. Which Kubernetes component is failing in this scenario?

  • A. Cloud Controller Manager
  • B. Load Balancer Manager
  • C. Cloud Architecture Manager
  • D. Cloud Load Balancer Manager
Show answer and explanation ▾

Correct answer: A

The Cloud Controller Manager is the Kubernetes component responsible for interacting with the cloud provider to provision cloud resources, including LoadBalancer type Services. When external-ip is stuck in Pending, the Cloud Controller Manager has failed to communicate with the cloud provider's API to allocate an external IP address, indicating this component is not functioning properly.

Why the other options are wrong:

  • B. There is no 'Load Balancer Manager' component in Kubernetes architecture
  • C. There is no 'Cloud Architecture Manager' component in Kubernetes
  • D. There is no 'Cloud Load Balancer Manager' component in Kubernetes; the correct component is Cloud Controller Manager

Question 41

What are the characteristics for building every cloud-native application?

  • A. Resiliency, Operability, Observability, Availability
  • B. Resiliency, Containerd, Observability, Agility
  • C. Kubernetes, Operability, Observability, Availability
  • D. Resiliency, Agility, Operability, Observability
Show answer and explanation ▾

Correct answer: D

The four foundational characteristics for building cloud-native applications are Resiliency (ability to recover from failures), Agility (ability to rapidly develop and deploy), Operability (ease of operation and management), and Observability (ability to understand system behavior through monitoring and logging). These are the core pillars defined by the CNCF and cloud-native best practices.

Why the other options are wrong:

  • A. Availability is important but not a primary foundational characteristic; Operability covers operational aspects more comprehensively.
  • B. Containerd is a container runtime implementation, not a foundational characteristic of cloud-native applications.
  • C. Kubernetes is a tool/platform, not a foundational characteristic; cloud-native apps can run on other orchestration systems.

Question 42

What does CNCF stand for?

  • A. Cloud Native Community Foundation
  • B. Cloud Native Computing Foundation
  • C. Cloud Neutral Computing Foundation
  • D. Cloud Neutral Community Foundation
Show answer and explanation ▾

Correct answer: B

CNCF is the official acronym for the Cloud Native Computing Foundation, an open governance foundation hosted by the Linux Foundation that promotes the adoption of cloud-native technologies and best practices.

Why the other options are wrong:

  • A. While 'Community' could seem plausible, the correct acronym uses 'Computing' not 'Community'.
  • C. The 'N' stands for 'Native', not 'Neutral', and 'Computing' is correct, not 'Neutral Computing'.
  • D. This incorrectly uses both 'Neutral' and 'Community', neither of which are correct in the CNCF acronym.

Question 43

Kubernetes supports multiple virtual clusters backed by the same physical cluster. These virtual clusters are called:

  • A. namespaces
  • B. containers
  • C. hypervisors
  • D. cgroups
Show answer and explanation ▾

Correct answer: A

Namespaces in Kubernetes provide virtual clusters backed by the same physical cluster, allowing multiple isolated environments to coexist. They enable multi-tenancy and provide logical separation of resources within a single Kubernetes cluster.

Why the other options are wrong:

  • B. Containers are application packaging units, not virtual clusters; Kubernetes manages containers but they are not virtual clusters themselves.
  • C. Hypervisors are virtualization layer mechanisms for virtual machines, not Kubernetes concepts for virtual clusters.
  • D. Cgroups are Linux kernel features for resource limiting, not Kubernetes constructs for virtual clustering.

Question 44

What component enables end users, different parts of the Kubernetes cluster, and external components to communicate with one another?

  • A. kubectl
  • B. AWS Management Console
  • C. Kubernetes API
  • D. Google Cloud SDK
Show answer and explanation ▾

Correct answer: C

The Kubernetes API is the central communication hub that enables all components to interact: end users via kubectl, different parts of the cluster (control plane and worker nodes), and external systems. All Kubernetes operations flow through the API server.

Why the other options are wrong:

  • A. kubectl is a client tool that uses the Kubernetes API, but it is not the component enabling communication itself.
  • B. AWS Management Console is cloud-provider specific and not a Kubernetes component for cluster communication.
  • D. Google Cloud SDK is a cloud provider tool, not a Kubernetes component for internal cluster communication.

Question 45

Which command will list the resource types that exist within a cluster?

  • A. kubectl api-resources
  • B. kubectl get namespaces
  • C. kubectl api-versions
  • D. curl https://kubectrl/namespaces
Show answer and explanation ▾

Correct answer: A

The `kubectl api-resources` command lists all resource types (such as pods, services, deployments, etc.) that are available and supported within a Kubernetes cluster, including both built-in and custom resources.

Why the other options are wrong:

  • B. kubectl get namespaces lists the namespaces in a cluster, not the resource types available.
  • C. kubectl api-versions shows the API versions supported, not the individual resource types themselves.
  • D. This is not a valid kubectl or curl command syntax and would not function to list resources.

Question 46

Which of these components is part of the Kubernetes Control Plane?

  • A. coredns
  • B. cloud-controller-manager
  • C. kube-proxy
  • D. kubelet
Show answer and explanation ▾

Correct answer: B

The cloud-controller-manager is a Control Plane component that runs cloud-provider- specific control loops, managing cloud resources and integrating with cloud provider APIs. It is part of the core control plane.

Why the other options are wrong:

  • A. coredns is an add-on/DNS service running in the cluster, not a core Control Plane component.
  • C. kube-proxy is a node component running on worker nodes, not part of the Control Plane.
  • D. kubelet is a node agent running on each worker node, not a Control Plane component.

Question 47

Which of the following systems is NOT compatible with the CRI runtime interface standard?

  • A. CRI-0
  • B. dockershim
  • C. systemd
  • D. containerd
Show answer and explanation ▾

Correct answer: C

systemd is an init system and service manager for Linux, not a container runtime implementing the Container Runtime Interface (CRI). CRI-O, containerd, and other CRI- compatible runtimes implement the standard interface for Kubernetes, but systemd does not.

Why the other options are wrong:

  • A. CRI-O is a fully CRI-compliant container runtime specifically designed for Kubernetes.
  • B. dockershim was a CRI implementation that allowed Docker to work with Kubernetes (though deprecated in newer versions).
  • D. containerd is a widely-used, CRI-compliant container runtime supported by Kubernetes.

Question 48

What is a key feature of a container network?

  • A. Proxying REST requests across a set of containers.
  • B. Allowing containers running on separate hosts to communicate.
  • C. Allowing containers on the same host to communicate.
  • D. Caching remote disk access.
Show answer and explanation ▾

Correct answer: B

A key feature of container networks is enabling containers running on separate hosts to communicate with each other. Container networking solutions provide network connectivity across multiple nodes, allowing distributed applications to function as a cohesive system.

Why the other options are wrong:

  • A. While load balancing and proxying are features of Kubernetes services, they are not the fundamental key feature of container networking itself.
  • C. Communication between containers on the same host is basic Docker networking, not the distinctive key feature of container networks at scale.
  • D. Caching remote disk access is a storage concern, not a primary feature of container networking.

Question 49

How can you monitor the progress for an updated Deployment/DaemonSets/StatefulSets?

  • A. kubectl rollout watch
  • B. kubectl rollout progress
  • C. kubectl rollout state
  • D. kubectl rollout status
Show answer and explanation ▾

Correct answer: D

kubectl rollout status is the correct command to monitor the progress of Deployments, DaemonSets, and StatefulSets. It displays the current status of the rollout, including how many replicas are ready and updated. The other options (watch, progress, state) are not valid kubectl rollout subcommands.

Why the other options are wrong:

  • A. kubectl rollout watch is not a valid subcommand; you would use kubectl rollout status or kubectl get with --watch flag instead.
  • B. kubectl rollout progress does not exist as a valid kubectl subcommand.
  • C. kubectl rollout state is not a valid kubectl subcommand for checking rollout progress.

Question 50

What is the goal of load balancing?

  • A. Automatically measure request performance across instances of an application.
  • B. Automatically distribute requests across different versions of an application.
  • C. Automatically distribute instances of an application across the cluster.
  • D. Automatically distribute requests across instances of an application.
Show answer and explanation ▾

Correct answer: D

The primary goal of load balancing is to automatically distribute incoming requests across multiple instances of an application to improve performance, availability, and reliability. This prevents any single instance from becoming a bottleneck.

Why the other options are wrong:

  • A. While load balancers may provide telemetry about request performance, that is not their core goal.
  • B. Load balancing distributes traffic across instances of the same version, not different versions of an application.
  • C. Distributing application instances across the cluster is orchestration, not the function of a load balancer.

Get the complete KCNA bank

These 50 questions are roughly 17% of the bank. The full pack has 300 real KCNA questions, each with the same depth of explanation, plus a questions-only PDF for timed practice and free updates forever.

View the full Linux Foundation KCNA question bank →

Related exams

Browse free practice questions for every exam →

Back to blog