SaveMyCert
Log in
5 of 5 free questions left today·for 10 a day
KCNA practice

Free KCNA practice questions

Drill exam-realistic Kubernetes and Cloud Native Associate (KCNA) questions by domain, with an explanation on every option — not just the right one. 5 fully worked examples are further down this page, answers included.

Question bank
385
across 4 domains
Free, no account
5/day
a free account allows 10 a day
Real exam
60 Qs
90 min · pass 75%
Explanations
Every option
right and wrong

Build a practice session

5 free questions left today.

Domains

How many?

Mode

Ready when you are

10 fresh questions drawn across all domains, in Learn mode.

Review what you missed

Every question you answer incorrectly, and every question you flag while practising, is saved here automatically. Finish a session and you can come back to re-drill just those.

5 sample KCNA questions, fully explained

Real questions from the KCNA bank, with the answer key and the reasoning behind every option. Read them, then go back up the page and try the rest.

Question 1Kubernetes Fundamentals

What is the smallest deployable unit that Kubernetes creates and manages?

Choose one.

  • a
    A container

    Kubernetes never manages bare containers directly. Containers always run inside Pods, and the Pod is the unit Kubernetes schedules and manages.

  • b
    A ReplicaSet

    A ReplicaSet is a controller that keeps a set number of Pods running. It manages Pods; it is not itself the unit that gets scheduled onto nodes.

  • c
    A Pod Correct

    The Pod is the smallest deployable unit in Kubernetes. It wraps one or more containers plus shared storage and networking, and everything Kubernetes schedules is a Pod.

  • d
    A node

    A node is a machine (virtual or physical) that runs Pods. It is cluster infrastructure, not a deployable workload unit.

The concept

In Kubernetes, the atomic unit of deployment is the Pod, not the container. A Pod wraps one or more tightly coupled containers along with shared network and storage.

Why that’s the answer

Every workload you deploy - whether through a Deployment, Job, or DaemonSet - ultimately runs as Pods, and the scheduler places whole Pods onto nodes. Containers are tempting because they are what actually run your code, but Kubernetes only ever handles them wrapped in a Pod. ReplicaSets and nodes sit above and below the Pod respectively: one manages Pods, the other hosts them.

How to reason it out
  1. You submit a workload (for example a Deployment) to the cluster.
  2. Kubernetes creates Pod objects to represent the running instances.
  3. The scheduler assigns each Pod to a node, and the kubelet there starts the Pod's containers.

Exam tip: The Pod - not the container - is the smallest deployable, schedulable unit in Kubernetes.

Kubernetes Core Concepts: Architecture, Pods, Deployments, and Services — the lesson that teaches this.

Question 2Container Orchestration

Pod A on node 1 opens a TCP connection to Pod B on node 2 using Pod B's IP address. No Service is involved. Under the Kubernetes network model, how does Pod B see this connection?

Choose one.

  • a
    It arrives with node 1's IP as its source, as Pods send traffic using their node's address

    Pods do not borrow their node's address: each Pod has its own IP, and the model requires Pod-to-Pod traffic to keep it. Masquerading to the node IP is the single-host Docker habit, not the Kubernetes model.

  • b
    It is dropped at node 2, since cross-node Pod traffic has to target a Service's cluster IP

    No Service is needed for Pod-to-Pod traffic. Services add a stable name and virtual IP in front of Pods, but any Pod can reach any other Pod's IP directly, on any node.

  • c
    It arrives from Pod A's own IP address, with no address translation along the way Correct

    The model requires every Pod to have its own cluster-wide IP and to reach every other Pod, on any node, without NAT, so Pod B sees Pod A's real address.

  • d
    It is relayed by kube-proxy on node 2, which rewrites the destination to Pod B's address

    kube-proxy only handles traffic sent to Service virtual IPs. A connection addressed straight to a Pod IP is routed by the network the CNI plugin set up, not rewritten by kube-proxy.

The concept

Kubernetes defines a flat network: every Pod gets its own IP address, and every Pod can reach every other Pod on any node without network address translation.

Why that’s the answer

Because the model forbids NAT between Pods, the packet reaches Pod B carrying Pod A's own IP as its source. The tempting wrong answers import other mechanisms: hiding behind the node IP is how containers behave on a single Docker host, a Service is an optional stable front door rather than a requirement, and kube-proxy only acts on traffic addressed to a Service's virtual IP.

How to reason it out
  1. Note that the connection targets a Pod IP directly, not a Service.
  2. Recall the model's rules: unique Pod IPs and Pod-to-Pod reachability across nodes without NAT.
  3. Eliminate options that add NAT, a mandatory Service or kube-proxy to direct Pod traffic.
  4. Conclude Pod B sees Pod A's real IP.

Exam tip: Pod to Pod means real IP to real IP, across nodes, with no NAT in between.

Kubernetes Networking: Services, kube-proxy, CNI, DNS, and Ingress — the lesson that teaches this.

Question 3Cloud Native Application Delivery

A Deployment manifest sets no strategy field. An engineer changes the container image tag and applies the manifest. How does Kubernetes replace the running Pods?

Choose one.

  • a
    It deletes the old Pods first, then creates the new Pods

    That is the Recreate strategy. It only applies when strategy.type is set to Recreate explicitly; it is not what happens when the field is left out.

  • b
    It starts a full second copy, then switches traffic at once

    That describes a blue-green release, a pattern you build yourself (for example by repointing a Service selector). It is not a value of the Deployment strategy field and never happens by default.

  • c
    It sends a small share of traffic to one new Pod first

    That describes a canary release, which needs a service mesh or a controller such as Argo Rollouts to hold a traffic split. A plain Deployment has no canary behaviour.

  • d
    It scales a new ReplicaSet up as it scales the old one down Correct

    Correct. With no strategy set, a Deployment uses RollingUpdate: it creates a new ReplicaSet for the changed Pod template and shifts replicas over gradually, bounded by maxSurge and maxUnavailable (25% each by default).

The concept

RollingUpdate is the default Deployment strategy: a changed Pod template produces a new ReplicaSet that replaces the old one gradually.

Why that’s the answer

When strategy is omitted, Kubernetes fills in strategy.type: RollingUpdate with maxSurge and maxUnavailable of 25%. The controller creates a new ReplicaSet and scales it up while scaling the old one down, so the application keeps serving. Recreate must be chosen explicitly, and blue-green and canary are release patterns built on top of Kubernetes rather than behaviours of a plain Deployment.

How to reason it out
  1. Note that the manifest leaves the strategy field empty, so the default applies.
  2. Recall that the default is RollingUpdate and that the only other built-in value is Recreate.
  3. Match RollingUpdate to its mechanism: a new ReplicaSet grows while the old one shrinks.
  4. Discard the blue-green and canary descriptions, which need extra tooling or manual steps.

Exam tip: No strategy set means RollingUpdate: a new ReplicaSet scales up while the old one scales down.

Cloud Native Application Delivery: GitOps, Helm, and Deployment Strategies — the lesson that teaches this.

Question 4Cloud Native Architecture

An SRE wants a dashboard of each service's request rate and CPU use over the past week, plus an alert when the rate crosses a threshold. Which observability pillar provides this data?

Choose one.

  • a
    Log entries

    Log entries record individual events in detail. Counting them could approximate a rate, but they are costly to aggregate and are not the natural source for week-long numeric trends.

  • b
    Metrics Correct

    Correct. Metrics are numeric samples stored as time series, cheap to aggregate over long windows and the usual input for dashboards and threshold alerts.

  • c
    Trace spans

    Trace spans follow single requests across services to show where time went; they do not provide aggregated rates and utilization over a week.

  • d
    Kubernetes Events

    Kubernetes Events report object state changes such as scheduling or restarts; they are short-lived and carry no CPU or request-rate series.

The concept

Observability data falls into three pillars: metrics, logs and traces, each answering a different question.

Why that’s the answer

Metrics are numeric measurements sampled over time and stored as time series. Because they are just numbers with labels, they are cheap to keep for long periods, easy to aggregate and the natural source for trend dashboards and threshold alerts. Logs carry detail about single events, traces show one request's path, and Kubernetes Events record object state changes rather than numeric trends.

How to reason it out
  1. Notice the need: numeric values (rate, CPU) over a long window.
  2. Notice the second need: a threshold alert.
  3. Match numeric trends and thresholds to the metrics pillar.

Exam tip: Trends and thresholds across many requests come from metrics.

Observability in Cloud Native: Metrics, Logs, and Traces — the lesson that teaches this.

Question 5Kubernetes Fundamentals

kubectl, the kubelet on each node and every controller send their requests to one control plane component, which authenticates, authorizes and validates each request before it is stored. Which component is it?

Choose one.

  • a
    kube-scheduler

    The scheduler is itself a client of that component: it watches for unscheduled Pods and submits node bindings through it. It does not receive requests from kubectl.

  • b
    etcd

    etcd stores the objects once they are accepted, but clients never talk to it. Only the API server reads and writes etcd.

  • c
    kube-apiserver Correct

    The kube-apiserver exposes the Kubernetes REST API. kubectl, kubelets and controllers all go through it, and it authenticates, authorizes, validates and persists each request.

  • d
    kube-controller-manager

    The controller-manager runs the control loops, which are clients of the API server. It does not front requests from kubectl or kubelets.

The concept

The kube-apiserver is the front end of the Kubernetes control plane. Every client - kubectl, the kubelet on each node, the scheduler and the controllers - talks to the cluster only through its REST API.

Why that’s the answer

The stem describes the component that receives requests from every other component and checks them (authentication, authorization, validation) before persisting them. That is the kube-apiserver. etcd is tempting because it is where the data ends up, but nothing except the API server talks to etcd. The scheduler and controller-manager are clients of the API server, not the endpoint other clients call.

How to reason it out
  1. List who sends the requests: kubectl, kubelets and controllers.
  2. Ask which single component all of them talk to.
  3. Remember that the scheduler and controllers are clients, and etcd sits behind the API server.
  4. Conclude: the kube-apiserver.

Exam tip: Every request in Kubernetes goes through the kube-apiserver; nothing else is a front door.

Kubernetes Core Concepts: Architecture, Pods, Deployments, and Services — the lesson that teaches this.

The KCNA question bank, by domain

The bank is built to the exam's own weighting, so the practice you get reflects the marks that are actually on offer — not whichever domain was easiest to write questions for.

Published KCNA practice questions per exam domain
DomainExam weightTopicsQuestions
Kubernetes Fundamentals44%4162
Container Orchestration28%4108
Cloud Native Application Delivery16%262
Cloud Native Architecture12%353
Total100%13385

Practise KCNA one domain at a time

How KCNA questions are worded

Most KCNA questions are not asking whether you can recall a definition. They describe a situation and ask which option satisfies it — so the skill being tested is reading the requirement precisely and eliminating options that fail it.

Single-response vs multiple-response

A single-response question has exactly one right answer. A multiple-response question tells you how many to pick ("Choose TWO") and there is no partial credit — getting one of the two right scores nothing. Read that instruction before you read the options.

Read the last line first

The final sentence is the actual question; everything before it is scenario. Read it first, then read the scenario knowing what you are looking for. It stops you from building an answer in your head that the question never asked for.

Hunt for the qualifier

Most scenarios turn on one word — MOST cost-effective, LEAST operational overhead, with the LEAST latency, without changing application code. Two options are frequently both technically correct, and the qualifier is the only thing separating them.

Eliminate, then choose

Distractors are almost always real CNCF services doing a real job — just not this job. Rule out the ones that break a stated constraint before you compare what's left. On a question you truly don't know, eliminating two options turns a guess into a coin flip.

Practise KCNA from your browser

The SaveMyCert Chrome extension opens a daily drill of 5 KCNA questions in the side panel, with the full explanation behind every answer. No account needed.

Get the Chrome extension (opens in a new tab)

Beyond KCNA practice

KCNA practice questions: your questions

Yes. You can answer 5 questions a day with no account at all, and a free account raises that to 10 a day across the full 385-question KCNA bank, with an explanation on every option. Pro removes the daily cap entirely.

Source

Exam structure, domain weights and scoring on this page come from the official KCNA exam guide.