Courseiva

CCNA Cloud Native Application Delivery Questions

75 of 87 questions · Page 1/2 · Cloud Native Application Delivery · Answers revealed

1
MCQeasy

Which command is used to rollback a Helm release to a previous revision?

A.helm history <release-name>
B.helm rollback <release-name> <revision>
C.helm install <release-name>
D.helm upgrade <release-name>
AnswerB

Helm stores each release's revision history, so `helm rollback <release-name> <revision>` redeploys a specified earlier revision, restoring its manifests and values. This directly satisfies the requirement to revert a release to a previous revision, unlike `helm upgrade`, which moves forward to a new revision.

Why this answer

The `helm rollback` command rolls back a release to a specified revision. Option B (helm rollback <release-name> <revision>) is the correct command. Option A (helm history) shows revision history, not a rollback.

Option C (helm install) installs a new release. Option D (helm upgrade) upgrades to a new version, not a rollback.

2
MCQmedium

In the context of DORA metrics, which metric measures how often an organization successfully releases to production?

A.Lead time for changes
B.Deployment frequency
C.Mean time to restore (MTTR)
D.Change failure rate
AnswerB

Deployment frequency counts how often the team ships releases to production within a given period. It directly measures release cadence, distinguishing it from lead time for changes, change failure rate and mean time to restore.

Why this answer

Deployment frequency is a DORA metric that measures how often an organization deploys code to production or an operational environment.

3
MCQmedium

During a canary deployment using Argo Rollouts, how does the tool determine the success of the canary before promoting it?

A.By checking the rollout's status field in the YAML
B.By requiring manual approval via a webhook
C.By comparing the ReplicaSet's age to a threshold
D.By analyzing predefined metrics (e.g., error rate) via an AnalysisTemplate
AnswerD

Argo Rollouts queries predefined metrics such as error rate through an AnalysisTemplate, which defines the Prometheus or other provider queries and success thresholds. The controller evaluates these during the canary step and only promotes when results pass, satisfying the stem's requirement for automated success determination before promotion.

Why this answer

Argo Rollouts uses AnalysisTemplates to define metrics queries (e.g., Prometheus, Datadog) that are evaluated during a canary deployment. The success of the canary is determined by these predefined metrics, such as error rate or latency, against thresholds. If the analysis passes, the rollout is promoted; if it fails, the rollout is aborted or rolled back.

Exam trap

KCNA often tests the mechanism of automated analysis in Argo Rollouts, and candidates may confuse manual approval or status checks with metric-based analysis, missing the role of AnalysisTemplates.

How to eliminate wrong answers

Option A is wrong because checking the rollout's status field only indicates the current phase (e.g., Progressing, Paused), not the success based on metrics; it does not automatically determine promotion. Option B is wrong because manual approval via webhook is an optional step, not the primary method for determining success; Argo Rollouts supports automated analysis. Option C is wrong because comparing ReplicaSet age is not a metric for success; Argo Rollouts does not use age thresholds for promotion decisions.

4
Multi-Selecthard

Which THREE of the following are features of Helm that facilitate release management? (Choose three.)

Select 3 answers
A.Canary deployment strategy
B.Rollback to a previous release revision
C.Release history and revision tracking
D.Horizontal pod autoscaling
E.Upgrade a release with new values
AnswersB, C, E

Helm stores each release revision as a numbered snapshot, so rollback restores a prior revision's rendered Kubernetes manifests and configuration. This directly satisfies the release management requirement by enabling recovery from failed upgrades without manual re-editing, reverting both the deployed resources and Helm's stored release state.

Why this answer

Helm facilitates release management through its revision-based model: option B is correct because Helm stores each install/upgrade as a numbered revision, and `helm rollback <release> <revision>` restores a prior revision, making recovery from a bad deployment straightforward. Option C is correct because Helm tracks release history and revision metadata (viewable via `helm history <release>` and stored in Kubernetes Secrets by default), which is the foundation for auditing and managing releases. Option E is correct because `helm upgrade <release> <chart> --set key=value` (or `-f values.yaml`) lets you apply new configuration values to an existing release, incrementing the revision while preserving release identity.

Option A is not a Helm feature — canary deployment is a strategy implemented by tools such as Argo Rollouts, Flagger, or service meshes, not by Helm itself. Option D is not a Helm feature either; Horizontal Pod Autoscaling is a Kubernetes controller (the `autoscaling/v2` HPA resource) that scales pods based on metrics, independent of Helm's release management.

Exam trap

KCNA often tests the misconception that Helm natively supports canary or blue/green deployments — it does not; those require external progressive delivery controllers, so candidates incorrectly select canary as a Helm release-management feature.

5
MCQhard

An organization uses Flux with Kustomize to manage their Kubernetes applications. They want to automatically update their deployment when a new container image is pushed to the registry. Which Flux component should they use?

A.Source Controller
B.Image Automation Controller
C.Helm Controller
D.Kustomize Controller
AnswerB

The Image Automation Controller scans image repositories and, when it detects a newly pushed tag matching policy, commits the updated image reference back to Git, which Flux then reconciles. This delivers the automatic deployment update the organisation wants.

Why this answer

The Image Automation Controller is specifically designed to watch container registries for new image tags and automatically update Kubernetes manifests (like Kustomize overlays) with the new image reference. It works in conjunction with the Image Reflector Controller to scan registries and the Image Policy to select the desired tag. Once a new image is detected and selected, the Image Automation Controller commits the updated image tag back to the Git repository, which Flux then reconciles.

This enables a fully automated GitOps workflow for image updates.

Exam trap

KCNA often tests the distinction between Flux controllers, and candidates may confuse the Image Automation Controller with the Source Controller or Kustomize Controller, forgetting that only the Image Automation Controller actively monitors registries and updates manifests.

How to eliminate wrong answers

Option A is wrong because the Source Controller is responsible for fetching artifacts from sources like Git repositories, Helm repositories, and S3 buckets; it does not monitor container registries or update image tags. Option C is wrong because the Helm Controller manages Helm releases by reconciling HelmRelease objects; it does not handle image automation or registry scanning. Option D is wrong because the Kustomize Controller applies Kustomize overlays to the cluster; it does not watch for new images or modify manifests.

6
Drag & Dropmedium

Drag and drop the steps to scale a Kubernetes Deployment horizontally into the correct order.

Drag or tap steps into the slots.

Steps
Order
1Step 1
2Step 2
3Step 3
4Step 4

Why this order

Scale command, check pods, verify deployment, monitor rollout, and adjust resources if needed.

7
MCQmedium

A CI pipeline builds a container image and tags it only as latest before pushing to a registry. A release engineer needs to deploy a specific, immutable version and be able to roll back to a known good build. What is the best practice to adopt?

A.Keep using latest but enable imagePullPolicy: Always on all Pods.
B.Push images to multiple registries and deploy from whichever responds fastest.
C.Tag images with the build timestamp and deploy the newest tag each time.
D.Tag each image with the Git commit SHA and deploy that immutable tag.
AnswerD

A Git commit SHA is unique and immutable, so the same tag always refers to the same image digest. Deploying that tag makes the running version auditable and reproducible, and rolling back means redeploying a previous SHA tag. This avoids the ambiguity of latest, which can point to different images over time.

Why this answer

Immutable, traceable tags let a deployment reference an exact build and make rollback deterministic. A Git commit SHA uniquely identifies the source revision, so the same tag always resolves to the same image content, unlike latest or timestamp-based tags.

Exam trap

The trap here is believing imagePullPolicy: Always makes latest safe, when the tag itself remains mutable and unsuitable as a release identifier.

8
MCQhard

A team is deploying a microservice application on Kubernetes. They want to ensure that during rolling updates, the new version of the service receives traffic only after the readiness probe succeeds. However, they observe that the old pods are terminated before the new pods are ready, causing a brief downtime. Which configuration change should they make to the Deployment to prevent this?

A.Set spec.strategy.rollingUpdate.minReadySeconds to 0
B.Set spec.strategy.rollingUpdate.maxSurge=0 and maxUnavailable=1
C.Add a liveness probe to the container spec
D.Set spec.strategy.rollingUpdate.maxSurge=1 and maxUnavailable=0
AnswerD

Setting maxUnavailable to 0 guarantees no old pod is removed until a replacement passes its readiness probe, while maxSurge=1 permits one extra pod above the desired replica count so the new version can start alongside the old. This directly satisfies the stem's requirement that traffic shifts only after readiness succeeds, eliminating the brief downtime.

Why this answer

Setting maxSurge=1 and maxUnavailable=0 ensures that during a rolling update, Kubernetes creates a new pod (surge) before terminating any old pod, and never allows the available pod count to drop below the desired replica count. Combined with a readiness probe, the new pod only receives traffic after it passes readiness, so the old pod is not removed until the new one is ready — eliminating the downtime.

Exam trap

KCNA often tests the interaction between maxSurge/maxUnavailable and readiness probes; candidates who focus only on the probe (C) or who pick maxUnavailable=1 (B) miss that the rollout strategy parameters control whether old pods are terminated before new ones are ready.

How to eliminate wrong answers

Option A is wrong because minReadySeconds=0 means a pod is considered ready immediately after its readiness probe passes, with no additional stabilization window; it does not prevent old pods from being terminated early and can actually make rollouts faster but less safe. Option B is wrong because maxSurge=0 and maxUnavailable=1 allows one pod to be unavailable at a time, meaning an old pod can be terminated before a new one is ready — this is exactly the configuration that causes the observed downtime. Option C is wrong because a liveness probe detects and restarts unhealthy containers; it does not control rollout ordering or prevent premature termination of old pods, and adding one does not address the maxSurge/maxUnavailable settings.

9
Multi-Selectmedium

Which TWO statements about GitOps are correct?

Select 2 answers
A.GitOps requires a container registry
B.Git is the single source of truth for desired system state
C.The cluster state is automatically reconciled with the Git repository
D.GitOps eliminates the need for CI pipelines
E.Changes are made directly to the cluster using kubectl
AnswersB, C

Git stores the declarative desired state, and an automated controller continuously reconciles the live cluster towards that committed state, satisfying GitOps's requirement for a single authoritative source. This enables versioned, auditable changes and rollback via Git history, rather than imperative cluster commands.

Why this answer

Option B is correct because GitOps fundamentally uses Git as the single source of truth: the desired state of the system (manifests, Helm charts, Kustomize overlays) is declaratively stored and versioned in a Git repository, and that repository is the authoritative reference for what should be deployed. Option C is correct because a GitOps operator (such as Argo CD or Flux) continuously watches the Git repository and the cluster, automatically reconciling the live cluster state to match the desired state declared in Git, correcting any drift. Option A is not required: GitOps can deploy non-containerized resources and does not mandate a container registry, though one is often used alongside it.

Option D is wrong because CI pipelines are still needed to build, test, and produce artifacts, even though GitOps handles the continuous delivery/deployment portion. Option E is wrong because GitOps explicitly forbids direct imperative changes via kubectl; all changes must flow through Git commits and pull requests so the repository remains the source of truth.

Exam trap

KCNA often tests the misconception that GitOps is synonymous with CI/CD or requires specific tooling like container registries, when the defining characteristics are simply Git as source of truth and automated reconciliation.

10
MCQeasy

Which deployment strategy updates pods incrementally, replacing old pods with new ones while ensuring availability?

A.Canary deployment
B.Blue-green deployment
C.Recreate
D.Rolling update
AnswerD

A rolling update replaces pods incrementally, using maxSurge and maxUnavailable to keep a portion of old replicas serving traffic until new ones pass readiness checks. This satisfies the availability constraint by avoiding the downtime a recreate strategy would cause.

Why this answer

The Rolling update strategy is the correct answer because it incrementally replaces old pods with new ones while maintaining application availability. In Kubernetes, a rolling update updates pods one by one (or in small batches), ensuring that a specified number of pods remain available throughout the process. This is achieved by gradually scaling down the old ReplicaSet and scaling up the new one, controlled by parameters like `maxSurge` and `maxUnavailable` in the Deployment spec.

Exam trap

CNCF often tests the distinction between deployment strategies by confusing candidates with 'Canary deployment' because it also involves gradual traffic shifting, but the key difference is that Canary does not replace pods incrementally—it runs both versions concurrently and requires external traffic routing.

How to eliminate wrong answers

Option A is wrong because a Canary deployment routes a small percentage of traffic to a new version before a full rollout, but it does not incrementally replace pods; it runs both versions simultaneously and requires traffic management (e.g., via a service mesh or ingress). Option B is wrong because a Blue-green deployment creates a completely new environment (green) alongside the old one (blue) and switches traffic all at once, rather than updating pods incrementally. Option C is wrong because the Recreate strategy terminates all old pods before creating new ones, causing downtime and violating the availability requirement.

11
MCQeasy

What is the primary purpose of a continuous integration (CI) pipeline in cloud native application delivery?

A.To provision infrastructure resources
B.To automatically deploy code to production
C.To build and test code changes automatically
D.To manage container images in a registry
AnswerC

A CI pipeline automatically builds and tests each code change on commit, giving fast feedback on integration errors and regressions. This satisfies the stem's cloud native delivery scenario, where frequent small merges require automated verification rather than manual, release-time testing.

Why this answer

CI automates building and testing code changes to catch integration issues early, ensuring that code is always in a deployable state.

12
MCQhard

A team wants to use feature flags to control the rollout of a new feature in a Kubernetes-deployed microservice. Which tool is specifically designed for managing feature flags in cloud-native applications?

A.Helm
B.LaunchDarkly
C.Kustomize
D.Argo Rollouts
AnswerB

LaunchDarkly is a dedicated feature-management platform, streaming flag evaluations to SDKs so toggles update without redeploying pods. It satisfies the stem's cloud-native rollout constraint directly, whereas general CI/CD or service-mesh tooling lacks native flag targeting, percentage rollouts and audit trails.

Why this answer

LaunchDarkly is a feature management platform specifically designed for managing feature flags in cloud-native applications. It allows for controlled rollouts and A/B testing. Argo Rollouts focuses on progressive delivery (canary, blue-green deployments), not feature flags.

Helm is a package manager for Kubernetes. Kustomize is for configuration management. Therefore, option B (LaunchDarkly) is correct.

13
MCQmedium

A team uses Helm to manage their Kubernetes applications. They need to upgrade a release and want to reuse the values from the previous release while overriding a specific value. Which helm command should they use?

A.helm upgrade --reset-values my-release ./charts/app --set image.tag=v2
B.helm upgrade --reuse-values my-release ./charts/app --set image.tag=v2
C.helm upgrade --atomic my-release ./charts/app --set image.tag=v2
D.helm upgrade --history-max 5 my-release ./charts/app --set image.tag=v2
AnswerB

The --reuse-values flag merges the previous release's computed values with the new --set overrides, satisfying the requirement to retain prior configuration while changing only image.tag. Without it, Helm would reset unspecified values to chart defaults.

Why this answer

The --reuse-values flag tells Helm to reuse the last release's values and merge any provided overrides. This is the correct approach to preserve existing values while updating a specific one.

14
MCQhard

A Kubernetes cluster runs a critical application that must be updated with zero downtime. The team wants to gradually shift traffic from the old version to the new version over a period of time. Which deployment pattern is MOST appropriate?

A.Rolling update
B.Recreate deployment
C.Blue-green deployment
D.Canary deployment
AnswerD

Canary deployment routes a small, controlled slice of live traffic to the new version while the old version serves the remainder, then progressively shifts weight as health metrics confirm stability. This satisfies the gradual traffic-shift and zero-downtime constraints without exposing all users to risk.

Why this answer

Canary deployment is the most appropriate pattern for gradually shifting traffic from an old version to a new version over time. It involves deploying the new version to a small subset of users or servers, then incrementally increasing traffic while monitoring for issues. This allows zero-downtime updates and minimizes risk by limiting exposure.

Rolling update replaces instances in batches but does not provide the same gradual, controlled traffic shifting with the ability to pause or rollback based on metrics.

Exam trap

KCNA often tests the distinction between rolling update and canary deployment — candidates may confuse the two, but canary specifically involves gradual traffic shifting with monitoring, while rolling update is about replacing instances in batches.

How to eliminate wrong answers

Option A is wrong because a rolling update replaces pods incrementally but does not allow fine-grained traffic control or gradual shifting based on user segments; it also cannot easily pause or rollback mid-rollout. Option B is wrong because a recreate deployment terminates all old pods before starting new ones, causing downtime, which violates the zero-downtime requirement. Option C is wrong because blue-green deployment switches all traffic at once from blue to green, which is not gradual and does not shift traffic over a period of time.

15
Multi-Selectmedium

Which TWO of the following are capabilities of ArgoCD? (Choose two.)

Select 2 answers
A.Building container images from source code
B.Automated application sync from Git to cluster
C.Self-healing to correct configuration drift
D.Running unit tests during deployment
E.Managing secrets using Kubernetes Secrets
AnswersB, C

ArgoCD continuously reconciles cluster state against Git, automatically applying declared manifests when drift is detected. This satisfies the stem's requirement for automated sync from Git to cluster, the pull-based GitOps mechanism ArgoCD implements natively without external CI triggers.

Why this answer

ArgoCD is a declarative GitOps continuous delivery tool for Kubernetes, and option B is correct because it continuously monitors Git repositories and automatically syncs the desired application state defined in Git to the target cluster. Option C is also correct because ArgoCD detects configuration drift between the live cluster state and the desired state in Git and can self-heal by reapplying the Git-defined manifests to restore the correct configuration. Option A is incorrect because ArgoCD does not build container images; that is the job of CI tools such as Jenkins, GitLab CI, or Tekton.

Option D is incorrect because running unit tests is a CI activity, not a core ArgoCD capability. Option E is incorrect because ArgoCD does not manage secrets via Kubernetes Secrets as a built-in capability; secret management is typically handled by external tools like Sealed Secrets, SOPS, or Vault.

Exam trap

The trap is conflating CI and CD responsibilities — candidates assume ArgoCD builds images or runs tests because it is part of a deployment pipeline, but ArgoCD is strictly a GitOps CD tool.

16
MCQeasy

Which Helm command is used to upgrade a release to a newer version of a chart?

A.helm upgrade
B.helm rollback
C.helm update
D.helm install
AnswerA

`helm upgrade` applies a new chart revision to an existing release, preserving its name and revision history rather than creating a fresh deployment as `helm install` would. This directly satisfies the stem's requirement to move a release to a newer chart version while retaining release identity and enabling rollback via `helm rollback`.

Why this answer

The 'helm upgrade' command upgrades an existing release with a new chart version or configuration.

17
MCQmedium

In a Helm chart, which file is used to define default configuration values that can be overridden by users during installation?

A.templates/ directory
B.charts/ directory
C.values.yaml
D.Chart.yaml
AnswerC

values.yaml holds the chart's default parameters, which templates consume at render time. Users override individual entries via their own values files or --set flags during helm install, so this file provides the overridable baseline configuration the question describes.

Why this answer

In a Helm chart, values.yaml is the file that defines default configuration values for the chart. Users can override these defaults by supplying their own values file (via -f) or using --set flags during helm install or helm upgrade. Helm merges user-supplied values with the chart's defaults at render time.

Exam trap

KCNA often tests candidates who confuse the roles of Chart.yaml (metadata) and values.yaml (configuration) — the trap is picking Chart.yaml because it sounds like the 'main' chart file.

How to eliminate wrong answers

Option A is wrong because the templates/ directory contains Kubernetes manifest templates (with Go templating syntax) that are rendered using values, not the values themselves. Option B is wrong because the charts/ directory holds dependent subcharts (vendored dependencies), not configuration values. Option D is wrong because Chart.yaml contains chart metadata — name, version, appVersion, description, dependencies — not user-overridable configuration values.

18
Multi-Selectmedium

Which TWO statements are true about Kustomize? (Choose 2)

Select 2 answers
A.It supports patching Kubernetes resources via strategic merge patches or JSON patches.
B.It automatically handles canary traffic routing.
C.It relies on Go templating to generate Kubernetes manifests.
D.It uses a base and overlay model to manage environment-specific configurations.
E.It can be used to package and deploy Helm charts.
AnswersA, D

Kustomize's patch transformers apply strategic merge patches, which use Kubernetes merge keys to combine list items by name, or JSON patches, which use RFC 6902 operations for precise edits. This satisfies the stem's requirement for a true statement, as both patch types are core, documented Kustomize features.

Why this answer

Option A is correct because Kustomize natively supports customizing Kubernetes resources through patches, including strategic merge patches (which merge by resource keys) and JSON patches (RFC 6902 operations), applied via the patchesStrategicMerge and patchesJson6902 fields in kustomization.yaml. Option D is correct because Kustomize's core design is a base-and-overlay model, where a base holds common manifests and overlays reference the base to apply environment-specific customizations without duplicating YAML. Option B is not correct because canary traffic routing is handled by service meshes or progressive delivery tools like Argo Rollouts or Flagger, not Kustomize, which only renders manifests.

Option C is not correct because Kustomize deliberately avoids Go templating; it uses declarative YAML overlays and patches, unlike Helm which uses Go templates. Option E is not correct because packaging and deploying Helm charts is the role of Helm itself, not Kustomize, although the two tools can be used together.

Exam trap

The trap here is that candidates might confuse Kustomize with Helm, thinking Kustomize uses Go templating or can package Helm charts, but Kustomize is template-free and focuses on overlays and patches.

19
MCQeasy

What is the primary purpose of a container registry in the CI/CD pipeline?

A.To store and distribute container images
B.To run unit tests on container images
C.To store application source code
D.To scan images for vulnerabilities
AnswerA

A container registry stores versioned container images and serves them to nodes during deployment, which is precisely the distribution role the CI/CD pipeline requires. Build stages push tagged images; runtime environments pull them by digest or tag, satisfying the stem's demand for a dedicated artefact repository rather than a build or orchestration function.

Why this answer

A container registry is a centralized repository for storing and distributing container images, such as Docker images. In a CI/CD pipeline, after an image is built, it is pushed to a registry (e.g., Docker Hub, Harbor, or a cloud provider's registry) so that it can be pulled and deployed to various environments. This enables versioning, sharing, and consistent deployment of containerized applications.

Exam trap

KCNA often tests the distinction between the roles of different CI/CD components, and a common trap is confusing the registry with tools that perform scanning or testing, leading candidates to select an answer that describes a secondary or integrated feature rather than the primary purpose.

How to eliminate wrong answers

Option B is wrong because running unit tests is typically done by a CI tool (e.g., Jenkins, GitLab CI) or a test runner, not by a container registry; registries only store and serve images. Option C is wrong because storing application source code is the role of a version control system (e.g., Git), not a container registry. Option D is wrong because scanning images for vulnerabilities is a security function often performed by dedicated scanners (e.g., Trivy, Clair) or integrated into registries as an add-on, but it is not the primary purpose of a registry.

20
MCQeasy

What is the purpose of values.yaml in a Helm chart?

A.To specify the chart metadata
B.To define the Kubernetes resources to create
C.To define the release name
D.To store default configuration values for the chart
AnswerD

Helm reads values.yaml to supply the chart's built-in defaults, which templates reference during rendering. Any value a user omits at install time falls back to these entries, so the file defines the chart's baseline configuration rather than per-release overrides.

Why this answer

values.yaml in a Helm chart is the default configuration file that supplies values to the chart's templates. When you run helm install or helm upgrade, Helm merges these defaults with any user-supplied overrides (via --set, -f, or a parent chart's values) and then renders the templates. This separation of configuration from template logic is what makes charts reusable across environments without editing the templates themselves.

Exam trap

KCNA often tests the confusion between Chart.yaml (metadata) and values.yaml (configuration defaults), so candidates who skim the options may pick 'chart metadata' simply because both files live at the chart root.

How to eliminate wrong answers

Option A is wrong because chart metadata (name, version, apiVersion, description, dependencies) lives in Chart.yaml, not values.yaml. Option B is wrong because the Kubernetes resources are defined in the templates/ directory as Go-templated YAML manifests; values.yaml only supplies the data those templates interpolate. Option C is wrong because the release name is provided at install time (helm install <release-name> <chart>) or auto-generated, not stored in values.yaml.

21
MCQmedium

In Kustomize, what is the purpose of an overlay?

A.To apply environment-specific customizations on top of a base
B.To merge multiple Kubernetes manifests into one
C.To template variables into YAML files
D.To define the base configuration of an application
AnswerA

An overlay is a Kustomization layered over a base, patching or adding resources so the same base yields environment-specific output such as dev or production variants. This satisfies the requirement to customise a shared base per environment.

Why this answer

In Kustomize, an overlay is a kustomization that references a base and applies environment-specific customizations such as patches, name prefixes, or label changes. This allows you to reuse a common base configuration while tailoring it for different environments like dev, staging, and prod. The overlay does not modify the base itself; it produces a new set of resources with the changes applied.

Exam trap

KCNA often tests the distinction between Kustomize overlays and Helm templating, causing candidates to confuse variable substitution with overlay-based customization.

How to eliminate wrong answers

Option B is wrong because merging multiple Kubernetes manifests into one is not the purpose of an overlay; that is typically done by combining resources in a kustomization or using tools like helm, but overlays are for customization, not merging. Option C is wrong because templating variables into YAML files is a feature of Helm, not Kustomize; Kustomize uses patches and transformers, not variable substitution. Option D is wrong because defining the base configuration is the role of the base, not the overlay; the overlay builds upon the base to apply environment-specific changes.

22
MCQmedium

A DevOps team wants to implement GitOps for their Kubernetes cluster. Which tool is specifically designed for Kubernetes GitOps and can automatically sync the cluster state with a Git repository?

A.ArgoCD
B.Jenkins
C.Kustomize
D.Helm
AnswerA

ArgoCD is a declarative GitOps continuous delivery controller built specifically for Kubernetes. It continuously reconciles live cluster state against manifests stored in Git, automatically syncing drift back to the declared desired state, which directly satisfies the requirement for automatic cluster-to-repository synchronisation.

Why this answer

ArgoCD is a declarative, GitOps continuous delivery tool designed specifically for Kubernetes. It continuously monitors a Git repository and automatically syncs the cluster state to match the desired state defined in Git, making it the correct choice for Kubernetes GitOps.

Exam trap

KCNA often tests the confusion between GitOps tools (ArgoCD, Flux) and Kubernetes packaging/config tools (Helm, Kustomize) — candidates pick Helm or Kustomize because they are Kubernetes-related but not GitOps reconcilers.

How to eliminate wrong answers

Option B is wrong because Jenkins is a general-purpose CI/CD automation server; while it can be scripted to deploy to Kubernetes, it is not a GitOps tool and does not natively sync cluster state from Git. Option C is wrong because Kustomize is a configuration management tool for customizing Kubernetes manifests (overlays, patches) — it does not perform GitOps syncing or cluster reconciliation. Option D is wrong because Helm is a package manager for Kubernetes that templates and deploys charts; it does not continuously reconcile cluster state with a Git repository.

23
Multi-Selecteasy

Which TWO of the following are benefits of using Helm for application delivery?

Select 2 answers
A.Automatic scaling based on CPU usage
B.Ability to roll back to previous releases
C.Automatic canary deployments
D.Simplified packaging and templating of Kubernetes resources
E.Built-in monitoring and alerting
AnswersB, D

Helm tracks each release as a revision, so helm rollback restores the previous manifest and Kubernetes objects. This gives deterministic recovery from a failed upgrade, satisfying the benefit of reverting to an earlier working release without manual reapplication.

Why this answer

Option B is correct because Helm maintains a release history for each chart installation, and the 'helm rollback <release> <revision>' command lets you revert a release to any prior revision, restoring the previously deployed Kubernetes manifests. Option D is correct because Helm packages Kubernetes resources into reusable charts and uses Go templating plus values files to parameterize manifests, which simplifies packaging, sharing, and customizing deployments across environments. Option A is not a Helm feature; automatic CPU-based scaling is provided by the Kubernetes Horizontal Pod Autoscaler, not by Helm itself.

Option C is not built into Helm; canary deployments require additional tooling such as Argo Rollouts, Flagger, or service-mesh traffic splitting. Option E is not provided by Helm; monitoring and alerting come from tools like Prometheus, Grafana, or Alertmanager, while Helm only manages manifest packaging and release lifecycle.

Exam trap

CNCF often tests the distinction between Helm's release management features and Kubernetes-native or third-party operational features, so candidates mistakenly attribute capabilities like autoscaling or canary deployments to Helm because they see Helm used in CI/CD pipelines alongside those tools.

24
Multi-Selectmedium

Which TWO of the following are characteristics of Kustomize?

Select 2 answers
A.Requires a values.yaml file for configuration
B.Uses a templating engine similar to Helm
C.Supports patching resources via patchesStrategicMerge
D.Can manage dependencies between charts
E.Uses overlays to customize base configurations
AnswersC, E

Kustomize applies patchesStrategicMerge to merge partial resource definitions onto base manifests, modifying only the fields specified. This strategic merge behaviour distinguishes it from templating engines, satisfying the requirement for patching existing resources without altering the originals.

Why this answer

Option C is correct because Kustomize natively supports patchesStrategicMerge, a strategic merge patch mechanism that lets you modify specific fields of base Kubernetes resources without rewriting the whole manifest. Option E is correct because Kustomize's core model is bases plus overlays: a base holds common resources, and overlays apply environment-specific customizations on top of it. Option A is wrong because values.yaml is a Helm convention; Kustomize uses kustomization.yaml files instead.

Option B is wrong because Kustomize is explicitly template-free and works by merging and patching YAML rather than rendering Go templates like Helm. Option D is wrong because chart dependency management is a Helm feature, not a Kustomize capability.

Exam trap

KCNA often tests the Helm vs. Kustomize distinction — candidates incorrectly assume Kustomize uses templating or values.yaml because they conflate the two tools.

25
Multi-Selectmedium

Which THREE are examples of DORA metrics used to measure DevOps performance? (Choose 3)

Select 3 answers
A.Deployment Frequency
B.Number of developers per team
C.Code coverage percentage
D.Mean Time to Restore (MTTR)
E.Lead Time for Changes
AnswersA, D, E

Deployment Frequency directly measures how often code reaches production, satisfying the stem's requirement for a DORA metric. It belongs to the throughput axis, alongside lead time for changes, distinguishing it from stability metrics such as change failure rate and mean time to restore. Accelerate's research identifies it as a core predictor of DevOps performance.

Why this answer

Deployment Frequency (A) is correct because DORA's Accelerate research defines it as how often an organization successfully releases to production, measuring delivery throughput. Mean Time to Restore (D) is correct because DORA uses it to measure how quickly service is restored after an incident or failed deployment, capturing operational stability. Lead Time for Changes (E) is correct because DORA measures the time from code commit to code successfully running in production, reflecting delivery speed.

The other options do not belong: Number of developers per team (B) is a staffing metric, not a DORA performance measure, and Code coverage percentage (C) is a code-quality/testing metric that DORA does not include among its four key metrics (which are Deployment Frequency, Lead Time for Changes, Change Failure Rate, and MTTR).

Exam trap

KCNA often tests the confusion between DORA metrics and other common DevOps or code quality metrics, so candidates who see 'code coverage' or 'team size' and assume they are DORA metrics pick the wrong answers.

26
MCQmedium

A platform team uses Argo CD to manage a Kubernetes cluster. A developer manually edits a Deployment's replica count from 3 to 5 using kubectl, bypassing Git. Argo CD detects the drift and its sync policy is set to automated with self-heal enabled. What happens next?

A.Argo CD marks the application as OutOfSync but takes no action because self-heal is disabled.
B.Argo CD deletes the Deployment and recreates it from the Git manifest.
C.Argo CD reverts the replica count back to the value defined in Git.
D.Argo CD updates the Git repository to match the live cluster state.
AnswerC

With automated sync and self-heal enabled, Argo CD continuously compares the live cluster state to the desired state stored in Git. When it detects that the Deployment's replica count was manually changed to 5, which diverges from the Git-declared value of 3, it automatically applies the Git version, restoring the replica count to 3. This enforces Git as the single source of truth.

Why this answer

When Argo CD's automated sync policy includes self-heal, it automatically reverts any manual changes to the cluster that deviate from the Git repository. In this case, the developer's manual scaling to 5 replicas is undone, and the Deployment is restored to the Git-defined 3 replicas. This ensures Git remains the single source of truth and prevents configuration drift.

Exam trap

The trap here is assuming Argo CD writes changes back to Git; it only reconciles the cluster to match Git.

27
Drag & Dropmedium

Drag and drop the steps to create a ConfigMap from a file in Kubernetes into the correct order.

Drag or tap steps into the slots.

Steps
Order
1Step 1
2Step 2
3Step 3
4Step 4

Why this order

The correct sequence to create a ConfigMap from a file in Kubernetes is: first prepare the configuration file, then create the ConfigMap using kubectl create configmap, next verify the ConfigMap with kubectl get configmaps, then optionally describe it with kubectl describe configmap, and finally use it in a Pod as environment variables or volume mounts. This order ensures the ConfigMap is available and correctly configured before consumption.

28
MCQhard

A team uses ArgoCD with a Git repository that contains Helm charts. They want ArgoCD to automatically sync when a new image tag is pushed to the container registry. Which approach should they use?

A.Use Flux Image Automation Controller
B.Configure a webhook from the registry to ArgoCD API server
C.Manually update the Helm values and commit
D.Use ArgoCD Image Updater
AnswerD

ArgoCD Image Updater watches the container registry and writes the new image tag back into the Git repository, letting ArgoCD's existing sync detect the change. This satisfies the stem's requirement for automatic synchronisation triggered by a registry push, without manual commits or CI pipeline edits.

Why this answer

ArgoCD Image Updater is a purpose-built companion tool that watches container registries for new image tags and automatically updates the Kubernetes manifests or Helm values in the Git repository that ArgoCD tracks. Once the commit lands in Git, ArgoCD's normal sync process deploys the change, preserving GitOps principles.

Exam trap

The trap is assuming a registry webhook to ArgoCD is sufficient — but ArgoCD syncs from Git, so without updating the Git manifest, a webhook alone changes nothing.

How to eliminate wrong answers

Option A is wrong because Flux Image Automation Controller is part of the Flux ecosystem, not ArgoCD — mixing toolchains is not the intended ArgoCD-native solution. Option B is wrong because a registry webhook to the ArgoCD API server would only trigger a sync of the current Git state; it does not update the image tag in Git, so nothing would actually change. Option C is wrong because manual updates defeat the purpose of automation and are not a scalable GitOps approach.

29
MCQhard

A team uses Flux with the Source Controller and Kustomize Controller. They update a YAML file in Git to change a Deployment's replica count. What describes the synchronization flow?

A.The Source Controller directly applies the manifest to the cluster
B.Flux uses HelmReleases to apply changes
C.The Kustomize Controller fetches the source and applies the rendered manifests
D.Flux requires a manual kubectl apply to sync
AnswerC

The Kustomize Controller reconciles the Kustomization custom resource, fetching the Git source through the Source Controller's artefact and applying the rendered manifests to the cluster. This satisfies the stem's requirement that a Git commit changing replica count propagates without manual intervention, since the Kustomize Controller owns the apply step rather than the Source Controller.

Why this answer

In Flux's GitOps model, the Source Controller is responsible for fetching artifacts from sources like Git repositories, and the Kustomize Controller watches those sources, renders the Kustomize overlays, and applies the resulting manifests to the cluster. When a YAML file changes in Git, the Source Controller detects the new revision, and the Kustomize Controller reconciles the cluster to match the rendered output. This separation of concerns is core to Flux's controller architecture.

Exam trap

KCNA often tests the separation of responsibilities between Flux controllers, and candidates incorrectly assume the Source Controller applies manifests or that HelmReleases are used for Kustomize-based deployments.

How to eliminate wrong answers

Option A is wrong because the Source Controller only fetches and stores source artifacts — it does not apply manifests to the cluster; that is the job of the Kustomize or Helm controllers. Option B is wrong because HelmReleases are used by the Helm Controller when the source is a Helm chart, not when using Kustomize overlays. Option D is wrong because Flux is a GitOps operator that continuously reconciles automatically; manual kubectl apply defeats the purpose of GitOps and is not how Flux syncs.

30
Drag & Dropmedium

Drag and drop the steps to troubleshoot a Pod stuck in CrashLoopBackOff into the correct order.

Drag or tap steps into the slots.

Steps
Order
1Step 1
2Step 2
3Step 3
4Step 4

Why this order

Start with describe for events, then logs for errors, check resources, verify image/command, then fix and redeploy.

31
Multi-Selectmedium

Which TWO of the following are deployment patterns that can be used to update applications with minimal downtime? (Choose two.)

Select 2 answers
A.DaemonSet deployment
B.Sidecar deployment
C.Recreate deployment
D.Blue-green deployment
E.Canary deployment
AnswersD, E

Blue-green deployment runs two identical environments, switching traffic from the old (blue) to the new (green) only after the new version is verified. This satisfies the stem's minimal-downtime constraint because the cutover is near-instantaneous and rollback is immediate.

Why this answer

Blue-green deployment (D) is correct because it runs two identical production environments and switches traffic from the old (blue) version to the new (green) version only after the new one is fully deployed and tested, so the cutover is near-instantaneous and downtime is minimal. Canary deployment (E) is correct because it releases the new version to a small subset of users or traffic first, then gradually shifts the remaining traffic once the canary proves healthy, allowing updates with minimal downtime and easy rollback. DaemonSet deployment (A) is not a deployment pattern for updating an application with minimal downtime; it is a Kubernetes workload that ensures one pod runs on every (or selected) node, typically for cluster-level agents.

Sidecar deployment (B) is an architectural pattern where a helper container runs alongside the main application container in the same pod, not a strategy for rolling out new application versions. Recreate deployment (C) stops all old instances before starting new ones, which inherently causes downtime, so it does not meet the minimal-downtime requirement.

32
MCQmedium

Which deployment strategy is characterized by gradually shifting traffic from an old version to a new version of an application, often requiring a service mesh or ingress controller to manage traffic splitting?

A.Rolling update
B.Canary deployment
C.Blue-green deployment
D.Recreate
AnswerB

Canary deployment routes a small percentage of live traffic to the new version while the remainder still reaches the old one, then shifts that weighting gradually. This satisfies the stem's requirement for traffic splitting, which needs a service mesh or ingress controller to manipulate routing weights at the network layer.

Why this answer

A canary deployment gradually shifts a small percentage of traffic to the new version while the majority still hits the old version, allowing observation of metrics before full rollout. This traffic splitting is typically implemented via a service mesh (Istio, Linkerd) or an ingress controller (NGINX, Traefik) that supports weighted routing.

Exam trap

KCNA often tests the distinction between canary and rolling update — the trap is assuming any gradual rollout is a canary, when the defining feature of canary is percentage-based traffic splitting via a mesh or ingress controller.

How to eliminate wrong answers

Option A is wrong because a rolling update replaces pods/instances incrementally at the infrastructure level but does not provide fine-grained percentage-based traffic splitting or easy rollback of a subset of users. Option C is wrong because blue-green runs two full environments and switches all traffic at once (or via DNS/load balancer cutover), not gradually. Option D is wrong because recreate stops the old version entirely before starting the new one, causing downtime and offering no gradual traffic shift.

33
MCQhard

A microservice application is experiencing high latency during traffic spikes. The team identifies that the database connection pool is exhausted. They want to implement a pattern that helps decouple the microservice from direct database connections and smooth out traffic bursts. Which design pattern should they apply?

A.Bulkhead pattern
B.Circuit Breaker pattern
C.Queue-based Load Leveling pattern
D.Retry pattern
AnswerC

Queue-based Load Leveling inserts a queue between the microservice and database, letting producers enqueue requests while consumers drain them at a controlled rate. This decouples direct database connections and absorbs traffic bursts, preventing connection pool exhaustion.

Why this answer

The Queue-based Load Leveling pattern uses a message queue (e.g., RabbitMQ, Amazon SQS) as a buffer between the microservice and the database. When traffic spikes occur, requests are queued and processed at a manageable rate, preventing the database connection pool from being exhausted. This decouples the service from direct database connections and smooths out bursts, directly addressing the latency issue.

Exam trap

CNCF often tests the distinction between patterns that handle failures (Circuit Breaker, Retry) versus patterns that manage load (Queue-based Load Leveling), and the trap here is that candidates confuse 'smoothing traffic bursts' with 'preventing repeated failures,' leading them to pick the Circuit Breaker or Retry pattern incorrectly.

How to eliminate wrong answers

Option A is wrong because the Bulkhead pattern isolates resources (e.g., thread pools) within a service to prevent cascading failures, but it does not buffer traffic spikes or decouple from database connections. Option B is wrong because the Circuit Breaker pattern monitors for failures and opens the circuit to stop requests temporarily, but it does not smooth out traffic bursts or prevent connection pool exhaustion during spikes. Option D is wrong because the Retry pattern automatically retries failed operations, but it can exacerbate connection pool exhaustion by adding more load during traffic spikes, not decouple or level the load.

34
MCQeasy

In GitOps with ArgoCD, what does 'self-healing' refer to?

A.Automatically scaling applications based on metrics
B.Automatically restarting failed pods
C.Automatically reverting manual changes to match the Git repository
D.Automatically updating the Git repository when changes are made in the cluster
AnswerC

Self-healing means ArgoCD continuously compares live cluster state against the desired state declared in Git. When drift is detected, it automatically reapplies the Git version, discarding manual kubectl edits so the repository remains the single source of truth.

Why this answer

In ArgoCD, self-healing refers to the automatic reconciliation of the live cluster state with the desired state defined in Git. When a manual change is made to a resource in the cluster (e.g., editing a Deployment), ArgoCD detects the drift and automatically reverts the resource to match the Git repository. This ensures that Git remains the single source of truth and prevents configuration drift.

Exam trap

KCNA often tests the confusion between self-healing and other automated actions like scaling or restarting pods, but the key is that self-healing specifically reverts manual changes to match Git.

How to eliminate wrong answers

Option A is wrong because automatic scaling based on metrics is the function of Horizontal Pod Autoscaler (HPA) or similar tools, not ArgoCD's self-healing. Option B is wrong because automatically restarting failed pods is typically handled by Kubernetes controllers like ReplicaSet or liveness probes, not by ArgoCD's self-healing feature. Option D is wrong because automatically updating the Git repository when changes are made in the cluster is the opposite of GitOps principles; ArgoCD does not push changes to Git, it only pulls from Git to sync the cluster.

35
MCQeasy

Which DORA metric measures the percentage of deployments that cause a failure in production?

A.Deployment Frequency
B.Mean Time to Recovery (MTTR)
C.Change Failure Rate
D.Lead Time for Changes
AnswerC

Change Failure Rate directly quantifies the proportion of production deployments that result in degraded service or require remediation, such as a hotfix or rollback. This precisely matches the stem's requirement to measure the percentage of deployments causing production failures, distinguishing it from deployment frequency, lead time, and mean time to restore.

Why this answer

Change Failure Rate is the percentage of changes that result in a failure (e.g., service degradation, rollback). It is one of the four key DORA metrics.

36
MCQmedium

In a blue-green deployment strategy, at any given time, only one environment (blue or green) is active. What is the primary advantage of this approach?

A.Gradual traffic shifting to detect issues early
B.Instant rollback by switching traffic back to the previous environment
C.Minimal resource consumption by using only one environment
D.No need for load balancers or ingress controllers
AnswerB

Because the previous environment remains fully deployed and idle, reverting is simply a matter of repointing the router or load balancer, giving near-instantaneous rollback. This satisfies the stem's single-active-environment constraint while minimising downtime risk during release.

Why this answer

Blue-green deployments allow instant rollback by switching traffic back to the previous environment. This is the primary advantage: if issues arise in the new version, you can immediately revert by pointing the router/load balancer to the old environment. Option A describes gradual traffic shifting, which is characteristic of canary deployments, not blue-green.

Option C is incorrect because blue-green requires two full environments, doubling resource consumption. Option D is false because a load balancer or ingress controller is essential to switch traffic between the two environments.

37
MCQmedium

In GitOps with ArgoCD, what happens when the desired state in Git differs from the live state in the cluster?

A.ArgoCD reports an error and stops working
B.ArgoCD syncs the cluster to match Git if auto-sync is enabled
C.ArgoCD deletes the Git repository
D.ArgoCD automatically reverts the changes in Git
AnswerB

With auto-sync enabled, ArgoCD continuously compares the Git-declared desired state against live cluster resources and applies the difference, reconciling the cluster back to Git. This satisfies the GitOps requirement that Git remains the single source of truth.

Why this answer

ArgoCD continuously compares the desired state stored in Git with the live state in the cluster. When a difference (drift) is detected, ArgoCD marks the application as OutOfSync. If auto-sync is enabled, ArgoCD automatically applies the Git manifests to the cluster, reconciling the live state to match Git.

This is the core GitOps principle: Git is the single source of truth, and the cluster is continuously reconciled to it.

Exam trap

KCNA often tests the direction of reconciliation in GitOps, confusing candidates into thinking ArgoCD writes back to Git or halts on drift, when in fact it only syncs the cluster to match Git.

How to eliminate wrong answers

Option A is wrong because ArgoCD does not stop working on drift; it reports the application as OutOfSync and continues monitoring, and may auto-sync if configured. Option C is wrong because ArgoCD never deletes the Git repository; it only reads from Git and writes to the cluster, not the other way around. Option D is wrong because ArgoCD does not modify Git; it only reads Git as the source of truth and applies changes to the cluster, not the reverse.

38
Matchingmedium

Match each Kubernetes storage concept to its description.

Drag a concept onto its matching description — or click a concept then click the description.

Concepts
Matches

Request for storage by a user, referencing a PersistentVolume

Describes classes of storage with different QoS, backup policies, etc.

Ephemeral volume that shares a pod's lifecycle

Mounts a file or directory from the host node's filesystem

Container Storage Interface standard for pluggable storage drivers

Why these pairings

The correct matches are: PersistentVolume is a cluster storage resource, PersistentVolumeClaim is a user request for storage, and StorageClass defines storage classes. Two common confusions are swapping PV and PVC definitions.

39
MCQmedium

A delivery team's manifests are nearly identical across dev, staging, and production, differing only in replica counts, image tags, and resource limits. They want to keep one shared base and apply environment-specific changes without introducing a templating language. Which approach fits best?

A.Store three copies of every manifest in Git and use a CI job to copy the correct directory at deploy time
B.Use Kustomize with a common base and per-environment overlays that patch the differing fields
C.Create three separate Helm charts, one per environment, and maintain them independently
D.Write a sed-based script that rewrites image tags and replica counts in the manifests before applying them
AnswerB

Kustomize keeps one base directory and applies overlays that patch only the fields each environment changes, such as replicas, image tags, and resources. It uses plain YAML with no template syntax, so the shared base stays authoritative and environment differences remain explicit and reviewable.

Why this answer

A single base with per-environment overlays is exactly Kustomize's model: the base holds common resources, and each overlay patches only what differs, using plain YAML rather than templates. This keeps one source of truth while making environment deltas small, explicit, and reviewable in version control.

Exam trap

The trap here is treating environment differences as a reason to duplicate manifests or reach for templating, when overlays patch a shared base without either.

40
MCQeasy

A startup wants to minimize downtime during application updates in Kubernetes. Which deployment strategy should they use?

A.RollingUpdate
B.Canary
C.Blue/Green
D.Recreate
AnswerA

RollingUpdate replaces pods incrementally, keeping a proportion of replicas available via maxUnavailable and maxSurge, so the Service always has ready endpoints. This satisfies the requirement to minimise downtime during updates without extra tooling or duplicate environments.

Why this answer

The RollingUpdate strategy is the default in Kubernetes and minimizes downtime by gradually replacing old Pods with new ones while the application remains available. It uses a configurable `maxSurge` and `maxUnavailable` parameters to control the rate of change, ensuring that a specified number of Pods are always serving traffic. This makes it ideal for startups seeking zero-downtime updates without the complexity of additional tooling or infrastructure.

Exam trap

The trap here is that candidates often confuse 'minimizing downtime' with 'risk mitigation' and pick Canary or Blue/Green, but the question specifically asks for the simplest strategy to minimize downtime during updates, which is RollingUpdate by default in Kubernetes.

How to eliminate wrong answers

Option B (Canary) is wrong because while it reduces risk by routing a small percentage of traffic to the new version, it is not primarily designed to minimize downtime during updates; it focuses on validating changes with a subset of users and often requires additional service mesh or ingress configuration. Option C (Blue/Green) is wrong because it minimizes downtime by running two full environments and switching traffic instantly, but it doubles resource costs and is not the simplest or most cost-effective choice for a startup aiming to minimize downtime without extra overhead. Option D (Recreate) is wrong because it terminates all old Pods before creating new ones, causing guaranteed downtime during the update, which directly contradicts the goal of minimizing downtime.

41
Drag & Dropmedium

Drag and drop the steps to create a Kubernetes deployment using kubectl into the correct order.

Drag or tap steps into the slots.

Steps
Order
1Step 1
2Step 2
3Step 3
4Step 4

Why this order

First, define the deployment in a YAML file, then apply it, verify creation, check pods, and optionally expose it as a service.

42
MCQmedium

A container image is being pushed to a private registry. What is the correct workflow?

A.Push first, then build
B.Push, tag, build
C.Build, tag, push
D.Tag after push
AnswerC

The image must first be built locally, then tagged with the private registry's repository path and version, then pushed. Tagging before pushing ensures the registry stores the image under the correct name, satisfying the private registry workflow requirement.

Why this answer

The correct container image workflow is build the image from a Dockerfile, tag it with a meaningful name (including registry host, repository, and tag), then push it to the registry. Tagging before pushing is required because the push command references the tagged image name. This sequence ensures the registry receives an image with the intended identifier.

Exam trap

The trap is a simple ordering question where candidates overthink and pick 'push, tag, build' or 'tag after push' — the exam tests whether you know that an image must exist and be tagged before it can be pushed.

How to eliminate wrong answers

Option A is wrong because you cannot push an image that has not been built — there is nothing to push. Option B is wrong because the order is inverted: pushing before building is impossible, and tagging before building is meaningless since no image exists yet. Option D is wrong because tagging after push would mean the pushed image lacks the intended tag (or was pushed under a default/incorrect tag), and the registry would not automatically receive the new tag without a subsequent push.

43
MCQeasy

A platform team wants to package a Kubernetes application — including its Deployment, Service, ConfigMap, and default configuration values — into a single versioned artifact that can be installed and rolled back as one unit. Which cloud native tool is purpose-built for this?

A.Kustomize
B.Docker Compose
C.Terraform
D.Helm
AnswerD

Helm is the Kubernetes package manager: it bundles related manifests into a chart, templates them with values, and tracks each install as a revision so rollbacks are a single command. That directly satisfies packaging, versioning, and atomic install/rollback for the described application.

Why this answer

Helm packages the Deployment, Service, ConfigMap, and default values into a chart, renders it with values at install time, and records each install as a numbered revision. That gives the team one versioned artifact plus atomic upgrade and rollback, which the other tools either cannot do or do at a different abstraction layer.

Exam trap

The trap here is assuming any YAML-management tool can package and version an application, when only Helm provides charts plus release revisions and rollback.

44
MCQhard

A team uses a CI pipeline that builds a container image, scans it for vulnerabilities, and then pushes it to a registry. The scan reports a critical vulnerability in a library used by the application. The team wants to prevent images with critical vulnerabilities from being deployed to production. Which approach best enforces this policy in a Kubernetes-native way?

A.Enable Pod Security Admission with the restricted profile to block vulnerable images.
B.Use an admission controller such as OPA Gatekeeper to deny Pods that reference images with critical vulnerabilities.
C.Configure the CI pipeline to fail the build if the scan finds critical vulnerabilities.
D.Use a Kubernetes NetworkPolicy to block traffic to Pods running vulnerable images.
AnswerB

OPA Gatekeeper is a Kubernetes admission controller that enforces policies at admission time. By integrating with a vulnerability scanner or using a pre-populated list of vulnerable images, it can deny Pod creation if the image has critical vulnerabilities. This enforces the policy directly in the cluster, preventing deployment regardless of the CI pipeline. It is a Kubernetes-native solution that provides a strong guardrail.

Why this answer

An admission controller like OPA Gatekeeper can intercept Pod creation requests and evaluate them against policies. By integrating with vulnerability scan results, it can deny Pods that reference images with critical vulnerabilities. This enforces the policy at the cluster level, ensuring that even if an image bypasses CI checks, it cannot be deployed.

CI pipeline failure is preventive but not Kubernetes-native enforcement.

Exam trap

The trap here is thinking that CI pipeline failure alone is sufficient; the question specifically asks for a Kubernetes-native enforcement mechanism, which points to admission control.

45
MCQeasy

A platform team wants to package a multi-service application into a single distributable artifact that includes Kubernetes manifests, default configuration values, and a version number. Which tool is purpose-built for this task?

A.kubectl
B.Kustomize
C.Docker Compose
D.Helm
AnswerD

Helm packages Kubernetes resources into a chart, a versioned archive containing templated manifests, a values.yaml file for defaults, and Chart.yaml metadata. Installing or upgrading the chart renders templates with supplied values and applies them to the cluster, giving the team a single distributable artifact with a semantic version.

Why this answer

Helm is the package manager for Kubernetes: a chart bundles templated manifests, default values, and metadata into a versioned artifact that can be installed, upgraded, and rolled back as a unit. The other tools either patch existing YAML, talk to the API server, or target a different runtime entirely.

Exam trap

The trap here is assuming any YAML management tool can package and version an application, when only Helm provides a chart format with built-in release versioning.

46
MCQeasy

What is Helm's role in Kubernetes?

A.A CI/CD server
B.A package manager for Kubernetes applications
C.A security scanner for container images
D.A monitoring and logging tool
AnswerB

Helm packages Kubernetes manifests into versioned charts, enabling repeatable installs, upgrades and rollbacks of applications and their dependencies. This directly answers the stem's question of Helm's role: it manages the packaging and release lifecycle of Kubernetes applications, rather than scheduling workloads or storing images.

Why this answer

Helm is widely recognized as the package manager for Kubernetes, analogous to apt or yum for Linux. It allows you to define, install, and upgrade even the most complex Kubernetes applications using reusable templates called charts. Charts bundle all necessary Kubernetes manifests and dependencies, enabling consistent deployments across environments.

Exam trap

KCNA often tests the confusion between Helm and CI/CD tools, as both are involved in deployment pipelines, but Helm's core identity is a package manager, not a pipeline orchestrator.

How to eliminate wrong answers

Option A is wrong because a CI/CD server (e.g., Jenkins, GitLab CI) automates build, test, and deployment pipelines, whereas Helm focuses on packaging and managing Kubernetes resources, not orchestrating pipelines. Option C is wrong because security scanning of container images is performed by tools like Trivy, Clair, or Anchore, not Helm; Helm does not analyze image vulnerabilities. Option D is wrong because monitoring and logging are handled by tools like Prometheus, Grafana, and the ELK stack; Helm does not provide observability features.

47
MCQhard

In a CI pipeline, image scanning is integrated to detect vulnerabilities. What is the best practice when a critical vulnerability is found in a base image?

A.Fail the pipeline and notify the team to fix the base image
B.Deploy to production and patch later
C.Automatically patch the image in the pipeline
D.Ignore the vulnerability and proceed with deployment
AnswerA

Failing the pipeline blocks the vulnerable image from progressing, forcing remediation of the base image before rebuild. This satisfies the stem's requirement for best practice on detecting a critical base-image vulnerability, preventing insecure artefacts reaching production.

Why this answer

Failing the pipeline on a critical vulnerability in a base image enforces a secure software supply chain by preventing the vulnerable artifact from ever reaching a registry or production. It also triggers the team to remediate at the source — updating the base image tag or rebuilding on a patched parent — rather than masking the issue downstream. This is the standard 'shift-left' security practice recommended by CNCF projects like Trivy, Grype, and Clair.

Exam trap

KCNA often tests the misconception that pipelines should auto-patch images, when the correct practice is to fail fast and fix the base image at its source.

How to eliminate wrong answers

Option B is wrong because deploying a known-critical vulnerability to production violates least-privilege and secure-SDLC principles and creates an exploitable window. Option C is wrong because automatically patching an image mid-pipeline is risky and non-deterministic — it can break reproducibility, invalidate signatures, and bypass review; patching should occur in the base image build, not the consuming pipeline. Option D is wrong because ignoring a critical finding defeats the purpose of scanning and exposes the organization to known CVEs.

48
MCQmedium

A team is using Kustomize to manage configurations for different environments. They want to create a variant of a base deployment that uses a different number of replicas. Which Kustomize feature should they use?

A.Generators
B.Patches
C.Bases
D.Components
AnswerB

Patches apply targeted modifications to a base resource without duplicating it, so the team can override the replica count for a specific environment variant. This satisfies the requirement of deriving an environment-specific variant from shared base configuration, keeping the base reusable while changing only the replicas field.

Why this answer

Patches in Kustomize allow you to modify specific fields of resources from a base or overlay, such as changing the replica count of a Deployment. This is the intended feature for creating variants without duplicating the entire base. Generators create new resources (e.g., ConfigMaps), bases are the starting point, and components are reusable pieces that can be included, but none are designed for modifying existing fields like replica count.

Exam trap

KCNA often tests the purpose of Kustomize features. Candidates may confuse patches with generators or components, not realizing that patches are specifically for modifying existing resources, while generators create new ones.

How to eliminate wrong answers

Option A is wrong because Generators are used to create new resources like ConfigMaps or Secrets, not to modify existing ones. Option C is wrong because Bases are the original resources that you start with; they are not used to apply changes. Option D is wrong because Components are optional pieces that can be added to a Kustomization, but they are not the primary mechanism for modifying fields like replica count; patches are.

49
Multi-Selectmedium

A platform team is standardizing on Kubernetes-native delivery. They want to adopt practices that make releases repeatable and reduce drift between environments. Which two practices best support that goal? (Choose two.)

Select 2 answers
A.Allow engineers to apply ad hoc kubectl edits directly to production when a fix is urgent
B.Package applications as versioned charts or overlays so the same artifact can be promoted across environments
C.Rely on the cluster's current state as the source of truth and reconcile Git from the live objects when they differ
D.Keep all manifests and environment configuration in version control and apply changes only through a reviewed pipeline
E.Maintain separate hand-edited manifest copies per environment and update each one independently
AnswersB, D

A versioned chart or base-with-overlays artifact lets one tested package move from dev to staging to production with only environment-specific values changing. That promotes consistency, makes the promoted revision identifiable, and shrinks the surface where environments can diverge.

Why this answer

Repeatable delivery depends on a single declarative source of truth and a promotable artifact. Keeping manifests and configuration in version control with reviewed pipeline changes, and packaging applications as versioned charts or overlays, together ensure the same tested revision can be promoted and that drift is detectable rather than silently accumulating.

Exam trap

The trap here is treating operational convenience, such as ad hoc production edits or trusting the live cluster, as compatible with repeatability, when both undermine the declarative source of truth.

50
MCQeasy

What is the primary advantage of using Helm to package a Kubernetes application?

A.It automatically scales applications based on load
B.It enforces security policies on deployments
C.It provides a templating engine to parameterize Kubernetes manifests
D.It manages network policies between services
AnswerC

Helm renders parameterised templates into concrete Kubernetes manifests, letting one chart produce environment-specific YAML through values files. This templating engine satisfies the packaging requirement by removing duplicated manifests and enabling consistent, repeatable deployments across clusters.

Why this answer

Helm's primary advantage is its templating engine, which lets you parameterize Kubernetes manifests with values files so the same chart can be reused across environments (dev, staging, prod) with different configurations. It also provides packaging, versioning, and release management, but templating is the core value proposition. The other options describe functionality handled by other tools.

Exam trap

KCNA often tests the misconception that Helm handles autoscaling or security, when its core role is templating, packaging, and release management.

How to eliminate wrong answers

Option A is wrong because autoscaling is handled by the Horizontal Pod Autoscaler and cluster autoscaler, not Helm. Option B is wrong because security policy enforcement is the domain of OPA Gatekeeper, Kyverno, or Pod Security Admission, not Helm. Option D is wrong because network policy management is done via Kubernetes NetworkPolicy resources or CNI plugins like Calico, not Helm charts.

51
MCQhard

A Kubernetes Deployment is configured with 'strategy.type: RollingUpdate'. The team wants to ensure that during an update, no more than 25% of pods are unavailable at any time. Which specification should be added?

A.spec.minReadySeconds: 30
B.spec.replicas: 4
C.strategy.rollingUpdate.maxUnavailable: 25%
D.strategy.rollingUpdate.maxSurge: 25%
AnswerC

Setting `maxUnavailable: 25%` directly caps how many pods may be taken offline during a rolling update, satisfying the stem's requirement that no more than a quarter be unavailable at once. It works alongside `maxSurge` to control update pacing, and belongs under `strategy.rollingUpdate` in the Deployment spec.

Why this answer

In a RollingUpdate strategy, `maxUnavailable` defines the maximum number of pods that can be unavailable during the update relative to the desired replica count, and `maxSurge` defines how many extra pods can be created above the desired count. Setting `strategy.rollingUpdate.maxUnavailable: 25%` directly enforces the requirement that no more than 25% of pods are down at any point. The default is 25%, but the question asks which specification to *add* to guarantee it explicitly.

Exam trap

KCNA often tests the distinction between `maxUnavailable` (how many pods may be down) and `maxSurge` (how many extra pods may exist), so candidates who confuse the two pick Option D.

How to eliminate wrong answers

Option A is wrong because `minReadySeconds` controls how long a newly created pod must be ready before it is considered available — it affects rollout pacing, not the maximum number of unavailable pods. Option B is wrong because `replicas: 4` only sets the desired pod count; it says nothing about availability during an update. Option D is wrong because `maxSurge` controls how many *extra* pods can be created above the desired count during a rollout — it governs over-provisioning, not unavailability.

52
Multi-Selectmedium

Which TWO actions can improve the DORA metric 'Mean Time to Recovery (MTTR)'?

Select 2 answers
A.Increasing deployment frequency
B.Slowing down the release cycle
C.Using feature flags to disable faulty code quickly
D.Adding more manual approval steps
E.Implementing automated rollback on health check failure
AnswersC, E

Feature flags let operators disable faulty code paths at runtime, restoring service without redeploying or rolling back artefacts. This directly shortens the time between failure detection and recovery, satisfying the MTTR improvement by removing the build-and-deploy delay from remediation.

Why this answer

Option C is correct because feature flags decouple deployment from release, letting you toggle off a faulty code path at runtime without a full redeploy, which directly shortens the time from failure detection to service restoration. Option E is correct because automated rollback triggered by health check failures removes human latency from the recovery path, restoring the last known-good version as soon as an unhealthy state is detected. Option A is incorrect because deployment frequency is a separate DORA metric (deployment frequency) and does not by itself reduce recovery time.

Option B is incorrect because slowing the release cycle reduces deployment frequency and delays fixes, which typically worsens MTTR. Option D is incorrect because adding manual approval steps inserts human delay into remediation, increasing rather than decreasing MTTR.

Exam trap

KCNA often tests whether candidates conflate deployment frequency with recovery speed, so options like 'increase deployment frequency' or 'slow the release cycle' look like reliability improvements but do not address MTTR.

53
MCQeasy

What is the primary purpose of a container registry in a CI/CD pipeline?

A.To manage Kubernetes secrets
B.To store source code and trigger builds
C.To run CI/CD pipelines
D.To host container images for deployment
AnswerD

A registry stores and versions container images, letting pipeline stages pull the exact artefact for deployment. This satisfies the stem's deployment need: the built image is pushed once, then retrieved by orchestrators, decoupling build output from runtime hosts.

Why this answer

A container registry is a centralized repository that stores and distributes container images, typically organized by repository and tagged by version. In a CI/CD pipeline, the build stage produces an image, pushes it to the registry, and the deployment stage pulls it from the registry onto the target runtime. Option D captures this hosting/distribution role precisely.

Exam trap

KCNA often tests whether candidates confuse the registry (stores images) with the CI server (runs pipelines) or the VCS (stores source), so options describing build triggering or pipeline execution look plausible.

How to eliminate wrong answers

Option A is wrong because Kubernetes secrets are managed by the Kubernetes API (Secret objects, often backed by etcd or an external secrets manager like Vault) — a container registry stores images, not cluster secrets. Option B is wrong because source code hosting and build triggering are the job of a version control system (GitHub, GitLab) and CI server (Jenkins, GitHub Actions), not a registry. Option C is wrong because running CI/CD pipelines is the function of a CI/CD orchestrator; a registry is a passive artifact store that pipelines push to and pull from.

54
Multi-Selecthard

Which THREE of the following practices are essential for a secure cloud native CI/CD pipeline?

Select 3 answers
A.Sign container images and verify signatures during deployment
B.Store secrets in plain text in the pipeline configuration
C.Use a single long-lived service account for all pipeline steps
D.Scan container images for vulnerabilities before deployment
E.Apply least-privilege IAM roles to pipeline components
AnswersA, D, E

Signing images at build time and verifying signatures at admission ensures only artefacts produced by trusted pipeline identities reach the cluster, blocking tampered or substituted images. This satisfies the supply-chain integrity requirement of a secure cloud-native CI/CD pipeline.

Why this answer

Option A is correct because signing container images (e.g., with Sigstore Cosign or Docker Content Trust/Notary) and verifying those signatures at deploy time ensures only trusted, untampered artifacts are admitted, protecting against supply-chain tampering. Option D is correct because scanning images for known CVEs (e.g., with Trivy, Grype, or Clair) before deployment catches vulnerable base images and dependencies early, preventing exploitable workloads from reaching production. Option E is correct because applying least-privilege IAM roles to pipeline components limits the blast radius if a build step or runner is compromised, granting each stage only the permissions it needs.

Option B is wrong because storing secrets in plain text in pipeline configuration exposes credentials to anyone with repo or log access; secrets should be kept in a managed vault or secret store and injected at runtime. Option C is wrong because a single long-lived service account shared across all pipeline steps violates least privilege and separation of duties, and long-lived credentials increase the risk and impact of credential theft.

Exam trap

CNCF often tests the misconception that storing secrets in plain text is acceptable if the pipeline is 'internal' or 'trusted,' but the KCNA exam emphasizes that secrets must never be stored in plain text in any CI/CD configuration.

55
MCQeasy

A developer needs to run a one-off database migration job in a Kubernetes cluster and ensure it completes successfully before a new application version is rolled out. Which Kubernetes resource should be used for the migration task?

A.A Job with a restartPolicy of OnFailure and a backoffLimit.
B.A Deployment with a single replica and no Service.
C.A CronJob with a schedule of every minute.
D.A DaemonSet scheduled on every node.
AnswerA

A Job runs Pods to completion and is designed for finite tasks like migrations. Setting restartPolicy to OnFailure lets the container retry on failure, and backoffLimit caps retries before the Job is marked failed. Completion status can gate the application rollout, ensuring the migration succeeds before new code starts.

Why this answer

A Job is the Kubernetes controller for finite, run-to-completion work. With OnFailure restarts and a backoffLimit, it retries transient errors and eventually reports success or failure, giving the rollout a reliable gate before the new application version starts.

Exam trap

The trap here is choosing a controller that keeps Pods running, when the migration needs a finite task that reports completion.

56
MCQeasy

In a CI/CD pipeline, what is the difference between continuous delivery and continuous deployment?

A.Continuous delivery requires manual approval for production deployment; continuous deployment automates it
B.Continuous delivery automatically deploys to production; continuous deployment does not
C.There is no difference; the terms are used interchangeably
D.Continuous deployment runs tests; continuous delivery does not
AnswerA

Continuous delivery stops short of production, requiring a manual approval gate before release; continuous deployment removes that gate and pushes every passing change automatically. This distinction satisfies the stem's requirement to differentiate the two practices by their production approval step.

Why this answer

Continuous delivery automates the build, test, and staging deployment so that every change is release-ready, but the final push to production requires a manual approval or button click. Continuous deployment goes one step further and automatically releases every validated change to production without human intervention. The distinction is purely about whether production deployment is gated by a human.

Exam trap

KCNA often tests the delivery-vs-deployment distinction by swapping their definitions — the key discriminator is the manual approval gate in continuous delivery, which candidates frequently misattribute to continuous deployment.

How to eliminate wrong answers

Option B is wrong because it reverses the definitions — continuous delivery does not automatically deploy to production, and continuous deployment is the one that does. Option C is wrong because the terms describe genuinely different pipeline behaviors, even though they share the same CI foundation. Option D is wrong because both continuous delivery and continuous deployment run automated tests; testing is part of CI and is not the differentiator between the two.

57
Multi-Selectmedium

Which THREE of the following are important security practices in a container image CI/CD pipeline?

Select 3 answers
A.Hardcoding credentials in the image
B.Running containers as root user
C.Signing images to ensure integrity
D.Using minimal base images to reduce attack surface
E.Scanning images for vulnerabilities in the CI pipeline
AnswersC, D, E

Cryptographic signing with tools such as Cosign or Notation attaches a verifiable signature to the image digest, letting the admission controller reject tampered or unsigned artefacts before deployment. This satisfies the stem's integrity requirement, ensuring only images built by the trusted pipeline are admitted to the cluster.

Why this answer

Option C is correct because cryptographically signing container images (e.g., with Docker Content Trust/Notary or Sigstore cosign) lets the pipeline and runtime verify image integrity and provenance, preventing tampered or unauthorized images from being deployed. Option D is correct because using minimal base images (such as distroless, Alpine, or scratch) removes unnecessary packages, shells, and libraries, directly shrinking the attack surface and reducing the number of exploitable CVEs. Option E is correct because integrating vulnerability scanning (e.g., Trivy, Clair, or Grype) into the CI pipeline catches known CVEs in OS packages and dependencies before the image is published, enabling early remediation.

Option A is wrong because hardcoding credentials in an image bakes secrets into layers where they can be extracted, violating secret-management best practices. Option B is wrong because running containers as root grants excessive privileges and increases the impact of a container escape, whereas least-privilege non-root users are recommended.

Exam trap

KCNA often tests container security by including obvious anti-patterns (hardcoded credentials, running as root) as distractors — candidates must recognize these as insecure practices rather than legitimate options.

58
MCQeasy

A development team wants to package and deploy a multi-tier application to Kubernetes. They need to template Kubernetes manifests with environment-specific values and manage releases with versioning and rollback capabilities. Which tool is purpose-built for this?

A.Argo CD
B.kubectl
C.Kustomize
D.Helm
AnswerD

Helm is the package manager for Kubernetes, designed to template manifests using values files and manage releases with versioning, rollback, and atomic upgrades. It allows teams to define a chart with templates and override values per environment, exactly matching the requirement for environment-specific values and release management. Other tools may assist with deployment but do not provide Helm's integrated packaging and release lifecycle.

Why this answer

Helm is specifically designed to package Kubernetes applications as charts, template manifests with values files for different environments, and manage releases with versioning and rollback. It provides a release history and atomic upgrades, making it ideal for the described scenario. Other tools like Kustomize or Argo CD serve different purposes and do not offer the same integrated packaging and release lifecycle.

Exam trap

The trap here is confusing templating tools with release management; Helm uniquely combines both.

59
Multi-Selectmedium

Which TWO statements are true about Kubernetes Deployments?

Select 2 answers
A.Deployments support rolling updates and rollbacks.
B.Deployments are the recommended controller for stateful applications.
C.A Deployment creates a ReplicaSet to ensure the desired number of pod replicas are running.
D.Deployments can expose applications externally via a built-in load balancer.
E.Deployments are used to run a pod on every node in the cluster.
AnswersA, C

Deployments manage ReplicaSets to perform rolling updates, replacing pods gradually while maintaining availability, and retain revision history so `kubectl rollout undo` can revert to a prior ReplicaSet. This satisfies the stem's requirement for both update and rollback capability, unlike bare pods or standalone ReplicaSets.

Why this answer

Option A is correct because a Deployment's pod template is versioned, and the Deployment controller performs rolling updates by incrementally replacing old ReplicaSet pods with new ones, while `kubectl rollout undo` reverts to a previous revision. Option C is correct because a Deployment does not manage pods directly; it creates and manages a ReplicaSet, which in turn maintains the desired number of pod replicas and scales them as the Deployment's spec changes. Option B is not correct because StatefulSets, not Deployments, are the recommended controller for stateful applications requiring stable network identities and persistent per-pod storage.

Option D is not correct because Deployments provide no built-in external load balancer; external exposure requires a Service of type LoadBalancer, NodePort, or an Ingress. Option E is not correct because running a pod on every node is the job of a DaemonSet, not a Deployment.

Exam trap

CNCF often tests the misconception that Deployments are suitable for stateful workloads or that they inherently expose applications externally, when in fact StatefulSets and Services are the correct components for those responsibilities.

60
MCQmedium

A team manages a multi-service application with Helm. Each service has its own ConfigMap, Deployment, and Service. The manifests for all services are almost identical except for the image tag and service name. They want to create a single reusable Helm chart that deploys all services from one values file, avoiding duplicate YAML. Which Helm feature should they use to loop over a list of services in the chart templates?

A.Use Helm's `--set` flag during installation to override the service name and image tag for each service.
B.Create a separate subchart for each service and include them with the `dependencies` field in Chart.yaml.
C.Define each service as a separate named template in `_helpers.tpl` and call them from a single deployment manifest.
D.Use the `range` action in the template to iterate over a list defined in values.yaml, rendering one set of resources per service.
AnswerD

The `range` action in Helm templates iterates over a collection, such as a list of service definitions in values.yaml, and renders the enclosed template block for each item. This eliminates duplicate YAML by generating ConfigMap, Deployment, and Service resources dynamically. The values file supplies per-service data like name and image tag, and the chart templates reference those values with `.` inside the loop, producing one set of manifests per service entry.

Why this answer

The `range` action in Helm templates allows iteration over a list from values.yaml, rendering a block of resources for each item. This is the standard way to avoid duplicating YAML for near-identical services. By defining a list of services in values.yaml and using `range` in the templates, the chart generates all ConfigMaps, Deployments, and Services dynamically.

This keeps the chart DRY and maintainable as services are added.

Exam trap

The trap here is confusing Helm's templating loop with chart dependencies or named templates, which are for different reuse patterns and do not generate multiple resources from a single list.

61
MCQeasy

What is the primary purpose of continuous integration (CI) in a cloud-native application delivery pipeline?

A.To automatically build and test code changes upon commit
B.To manage infrastructure provisioning
C.To manage container images and registries
D.To automatically deploy code changes to production
AnswerA

Automatically building and testing each commit delivers the rapid, early feedback that CI exists to provide, catching integration defects before they reach later stages. This directly satisfies the stem's focus on the primary purpose of continuous integration within a cloud-native delivery pipeline, distinguishing it from continuous delivery or deployment concerns.

Why this answer

CI automates building and testing code changes upon commit to catch integration issues early. Option A correctly describes this. Option B refers to infrastructure provisioning, which is typically managed by Infrastructure as Code (IaC) tools.

Option C refers to managing container images and registries, which is part of container management. Option D describes continuous deployment (CD), which automatically deploys code to production after passing CI.

62
Multi-Selectmedium

Which TWO of the following are benefits of using Helm for managing Kubernetes applications?

Select 2 answers
A.Automatic scaling of pods based on CPU usage
B.Native integration with service mesh for traffic splitting
C.Templating engine for parameterizing Kubernetes manifests
D.Ability to perform rollbacks to previous releases
E.Built-in support for canary deployments
AnswersC, D

Helm's templating engine parameterises Kubernetes manifests, letting one chart render environment-specific YAML from values files rather than duplicating manifests per cluster. This directly satisfies the scenario's need to manage applications across differing environments, since Go templates inject variables at install time and reduce configuration drift between deployments.

Why this answer

Helm's templating engine (option C) lets you parameterize Kubernetes manifests with values files and Go templates, so the same chart can render environment-specific YAML instead of maintaining duplicated static manifests. Helm also tracks each install/upgrade as a numbered revision, so `helm rollback <release> <revision>` can restore a previous release (option D), which is a core release-management benefit. The other options describe capabilities Helm does not provide natively: automatic CPU-based pod scaling is the Horizontal Pod Autoscaler (option A), service-mesh traffic splitting is handled by tools like Istio or Linkerd (option B), and canary deployments require additional controllers or progressive-delivery tools such as Argo Rollouts or Flagger (option E).

Exam trap

KCNA often tests the misconception that Helm includes deployment strategies like canary or autoscaling, when in fact Helm is strictly a packaging and templating tool.

63
MCQhard

When using Kustomize, how do you apply a common label to all resources in the base?

A.By editing each YAML file individually
B.By setting 'commonLabels' in the kustomization.yaml
C.By using the 'patches' field to add labels
D.By using a Helm chart instead of Kustomize
AnswerB

Setting `commonLabels` in `kustomization.yaml` makes Kustomize inject the specified labels into every resource's metadata during the build, satisfying the requirement to label all base resources uniformly. Kustomize applies this transformation automatically across the entire base, so no per-resource edits are needed.

Why this answer

Kustomize's `commonLabels` field in kustomization.yaml applies the specified labels to every resource rendered from the base, including selectors on Deployments and Services, without editing individual manifests. This is the idiomatic way to enforce consistent labeling across a set of resources.

Exam trap

The trap here is confusing Kustomize's `patches` field with label application; candidates often assume any modification requires a patch, when `commonLabels` is the dedicated mechanism.

How to eliminate wrong answers

Option A is wrong because manually editing each YAML file defeats Kustomize's purpose and is error-prone; Kustomize exists precisely to avoid this. Option C is wrong because the `patches` field is used for strategic merge or JSON 6902 patches to modify specific fields, not for uniformly applying labels to all resources. Option D is wrong because switching to Helm is a different tooling choice and does not answer how to apply labels in Kustomize.

64
MCQmedium

Which DORA metric measures how quickly code changes are deployed to production?

A.Lead time for changes
B.Mean time to recovery (MTTR)
C.Change failure rate
D.Deployment frequency
AnswerA

Lead time for changes measures the elapsed time from code committed to code successfully running in production, directly quantifying deployment speed. Deployment frequency counts how often releases occur, while MTTR and change failure rate address stability rather than velocity.

Why this answer

Lead time for changes measures the time from code commit to code successfully running in production, directly reflecting deployment speed. It is one of the four DORA metrics and specifically captures how quickly changes flow through the pipeline.

Exam trap

The trap is conflating deployment frequency (how often) with lead time for changes (how fast), causing candidates to pick the wrong DORA metric.

How to eliminate wrong answers

Option B is wrong because MTTR measures how long it takes to restore service after an incident, not deployment speed. Option C is wrong because change failure rate measures the percentage of deployments causing failures, not speed. Option D is wrong because deployment frequency measures how often deployments occur, not how quickly a single change moves from commit to production.

65
Multi-Selecteasy

Which TWO of the following are benefits of implementing progressive delivery techniques (e.g., canary releases)?

Select 2 answers
A.Replaces the need for a CI/CD pipeline
B.Allows testing new features with a subset of users
C.Eliminates the need for monitoring and alerting
D.Guarantees zero downtime
E.Reduces the risk of deploying a bad version to all users
AnswersB, E

Canary releases route a small percentage of live traffic to the new version, so real users exercise the feature before full rollout. This directly satisfies the stem's requirement to test with a subset, limiting blast radius and enabling fast rollback if metrics degrade.

Why this answer

Option B is correct because progressive delivery techniques such as canary releases deliberately expose a new version to a small subset of users (often a percentage of traffic) so that real-world behavior and feedback can be gathered before a full rollout. Option E is correct because by limiting the initial blast radius to that subset, a faulty release can be detected and rolled back before it reaches the entire user base, thereby reducing the risk of deploying a bad version to all users. Option A is incorrect because progressive delivery complements, rather than replaces, a CI/CD pipeline — the pipeline still builds, tests, and deploys the artifacts that progressive delivery then releases gradually.

Option C is incorrect because progressive delivery depends heavily on monitoring and alerting to detect regressions and trigger rollbacks. Option D is incorrect because progressive delivery reduces risk but does not guarantee zero downtime, which depends on architecture and deployment mechanics.

Exam trap

KCNA often tests the misconception that progressive delivery eliminates the need for monitoring or CI/CD, when in fact it depends heavily on both.

66
MCQmedium

A company is adopting a GitOps workflow for their Kubernetes deployments. They want to ensure that the cluster state always matches the desired state defined in a Git repository. Which tool is specifically designed for this purpose?

A.Helm
B.Argo CD
C.Kustomize
D.Prometheus
AnswerB

Argo CD continuously reconciles live cluster state against manifests held in Git, detecting and reverting drift automatically. This declarative pull-based reconciliation is precisely the GitOps guarantee the company requires: cluster state always matching the desired state defined in the repository.

Why this answer

Argo CD is a declarative, GitOps continuous delivery tool specifically designed for Kubernetes that automatically synchronizes the live cluster state with the desired state defined in a Git repository. It continuously monitors the cluster and Git, applying any drift to ensure the cluster matches the repository, which is the core requirement of a GitOps workflow.

Exam trap

The trap here is that candidates often confuse Helm or Kustomize as GitOps tools because they are used in GitOps pipelines, but they lack the continuous reconciliation and drift detection that a dedicated GitOps operator like Argo CD provides.

How to eliminate wrong answers

Option A is wrong because Helm is a package manager for Kubernetes that uses charts to define, install, and upgrade applications, but it does not provide continuous synchronization or drift detection from a Git repository; it is a deployment tool, not a GitOps operator. Option C is wrong because Kustomize is a configuration management tool that allows customizing Kubernetes manifests without templates, but it is a CLI tool or a kubectl plugin, not a controller that continuously reconciles cluster state with a Git repository. Option D is wrong because Prometheus is a monitoring and alerting toolkit for metrics collection and alerting, not a deployment or GitOps tool; it has no mechanism to enforce desired state from Git.

67
Multi-Selecthard

Which of the following are core components of the Flux GitOps toolkit?

Select 3 answers
A.Helm Controller
B.Helm
C.Source Controller
D.ArgoCD Application Controller
E.Kustomize Controller
AnswersA, C, E

Flux ships several purpose-built controllers, and the Helm Controller is one of them, reconciling HelmRelease custom resources to install and upgrade charts declaratively, which is a core component of the GitOps toolkit alongside source, kustomize and notification controllers.

Why this answer

The Flux GitOps toolkit is built from a set of Kubernetes controllers, and the Helm Controller (A) is one of them: it reconciles HelmRelease custom resources to install, upgrade, and roll back Helm charts declaratively. The Source Controller (C) is also a core Flux component, providing GitRepository, HelmRepository, Bucket, and OCIRepository sources that other Flux controllers consume. The Kustomize Controller (E) is likewise core, reconciling Kustomization resources to build and apply manifests from those sources.

Helm (B) is a package manager tool that Flux's Helm Controller uses, but it is not itself a Flux toolkit component, and the ArgoCD Application Controller (D) belongs to Argo CD, a competing GitOps tool, not Flux.

Exam trap

KCNA often tests the distinction between GitOps tools (Flux vs. Argo CD) and their underlying utilities (Helm, Kustomize), causing candidates to select Helm or ArgoCD components as part of the Flux toolkit.

68
MCQmedium

A CI/CD pipeline includes image scanning. What is the primary security benefit of scanning container images in the CI phase?

A.It reduces the time it takes to build images
B.It automatically fixes vulnerabilities
C.It prevents vulnerable images from being deployed to production
D.It ensures that the image is built only once
AnswerC

Scanning during CI catches known CVEs in base images and dependencies before the image reaches a registry, letting the pipeline fail the build and block promotion. This satisfies the stem's CI-phase constraint: remediation happens pre-deployment, so vulnerable artefacts never reach production clusters.

Why this answer

Scanning images during CI catches known CVEs, misconfigurations, and embedded secrets before the artifact is pushed to a registry or promoted to production. By failing the pipeline on policy violations, teams create a gate that stops vulnerable images from ever reaching runtime environments, shifting security left. This is the core security value: prevention at the earliest feasible stage rather than detection after deployment.

Exam trap

The trap here is conflating scanning with remediation — candidates pick 'automatically fixes vulnerabilities' because scanners suggest fixes, but the exam wants the preventive gate benefit, not auto-patching.

How to eliminate wrong answers

Option A is wrong because image scanning adds a pipeline step and typically increases, not reduces, build time. Option B is wrong because scanners report vulnerabilities; they do not patch or rebuild images automatically — remediation still requires updating base images or dependencies. Option D is wrong because build-once is a reproducibility/immutability concern handled by tagging and caching, not a security benefit of scanning.

69
Multi-Selecthard

Which THREE are common features of progressive delivery?

Select 3 answers
A.Feature flags to enable/disable features
B.Gradual traffic shifting
C.Automated analysis and rollback
D.All-at-once deployment
E.Manual verification for every change
AnswersA, B, C

Feature flags decouple deployment from release, letting operators enable or disable functionality at runtime for specific users or cohorts. This satisfies progressive delivery's requirement to expose changes to a subset first, so impact can be observed before full rollout.

Why this answer

Progressive delivery is an extension of continuous delivery that reduces release risk by exposing changes to a subset of users before full rollout, and feature flags (A) are a core mechanism because they decouple deployment from release, letting you enable or disable functionality for specific users, cohorts, or percentages without redeploying. Gradual traffic shifting (B) is also fundamental, as it incrementally routes a growing percentage of traffic to the new version (e.g., canary or blue/green with weighted routing) so impact can be observed at small blast radius. Automated analysis and rollback (C) is the third key feature, since progressive delivery relies on metrics/health signals (e.g., error rates, latency) to automatically promote or revert the release when thresholds are breached.

By contrast, all-at-once deployment (D) is the opposite of progressive delivery because it exposes every user simultaneously with no staged risk control, and manual verification for every change (E) contradicts the automation and continuous, data-driven promotion that progressive delivery depends on.

Exam trap

KCNA often tests whether candidates confuse progressive delivery with plain rolling updates — the trap is picking 'all-at-once' or 'manual verification' as features when both contradict the gradual, automated nature of progressive delivery.

70
MCQmedium

A team wants to implement a canary deployment strategy for their Kubernetes application. Which tool is specifically designed for progressive delivery and can be used to automate canary rollouts?

A.Argo Rollouts
B.Flux
C.Kustomize
D.Helm
AnswerA

Argo Rollouts provides a Kubernetes controller and custom resources that automate canary progression, shifting traffic in weighted increments and analysing metrics before promotion. This satisfies the stem's requirement for a tool specifically designed for progressive delivery, unlike standard Deployments, which only support rolling updates without metric-driven canary automation.

Why this answer

Argo Rollouts is a Kubernetes controller and set of CRDs that provides advanced deployment capabilities such as blue-green and canary deployments with automated promotion and rollback.

71
Multi-Selectmedium

A team is adopting a GitOps workflow with Argo CD to manage Kubernetes applications. They want to ensure that the cluster state always matches the desired state in Git and that changes are automatically applied. Which two Argo CD features should they configure? (Choose two.)

Select 2 answers
A.Sync windows
B.Resource hooks
C.Self-heal
D.Automated sync policy
E.Manual sync policy
AnswersC, D

Self-heal is a sub-feature of automated sync that reverts manual changes to the cluster, ensuring the live state always reflects Git. Without self-heal, manual edits could persist, causing drift. Configuring self-heal ensures that any out-of-band modifications are automatically corrected, which is essential for the team's goal of continuous state matching.

Why this answer

To ensure the cluster state always matches Git and changes are automatically applied, the team must enable automated sync policy and self-heal in Argo CD. Automated sync applies Git changes without manual intervention, while self-heal reverts any manual cluster modifications, maintaining the desired state. Manual sync, resource hooks, and sync windows do not provide these automatic reconciliation capabilities.

Exam trap

The trap here is confusing sync windows or hooks with automatic reconciliation; only automated sync and self-heal provide continuous state enforcement.

72
MCQmedium

In Flux CD, which component is responsible for reconciling the cluster state with the source of truth defined in a Git repository?

A.Kustomize controller
B.Source controller
C.Helm controller
D.Notification controller
AnswerA

The Kustomize controller continuously reconciles cluster state against Kustomization manifests sourced from Git, applying declared resources and pruning drift. It satisfies the stem's requirement for the component that pulls the source of truth from Git and enforces it, rather than merely building manifests or serving artefacts.

Why this answer

The Kustomize controller in Flux CD is responsible for reconciling the cluster state with the desired state defined in a Git repository. It continuously monitors Kustomization custom resources, fetches the referenced source artifact (e.g., from a GitRepository), builds the manifests using Kustomize, and applies them to the cluster. This controller ensures that the actual state matches the declared state, making it the core reconciler for GitOps workflows in Flux.

Exam trap

KCNA often tests the distinction between Flux controllers, and candidates may confuse the Source controller (which fetches artifacts) with the Kustomize controller (which applies them), leading to incorrect answers.

How to eliminate wrong answers

Option B is wrong because the Source controller only fetches artifacts from external sources like Git repositories, Helm repositories, and OCI registries; it does not apply or reconcile cluster state. Option C is wrong because the Helm controller manages HelmRelease objects, reconciling Helm charts and releases, not raw Kustomize or Git-defined manifests. Option D is wrong because the Notification controller handles event dispatching and alerts (e.g., to Slack, Teams) based on Flux events; it plays no role in state reconciliation.

73
MCQmedium

A CI pipeline builds a container image and tags it as 'myapp:latest'. The pipeline then pushes the image to a registry. A Kubernetes Deployment manifest references 'myapp:latest' with imagePullPolicy: Always. After a new image is pushed with the same tag, the team notices that existing Pods are not updated. What is the most likely reason?

A.The Deployment's pod template spec has not changed, so no rolling update is triggered.
B.The container registry does not support overwriting existing tags.
C.The imagePullPolicy: Always setting causes Kubernetes to ignore the new image.
D.The Deployment's rollout strategy is set to Recreate, which prevents updates.
AnswerA

Kubernetes Deployments trigger rolling updates only when the pod template spec changes. Pushing a new image with the same tag does not modify the template, so the Deployment controller sees no difference and does not create new ReplicaSets or update Pods. Even with imagePullPolicy: Always, existing Pods are not restarted. Thus, the Deployment remains unchanged and Pods continue running the old image.

Why this answer

A Kubernetes Deployment initiates a rolling update only when the pod template spec changes, such as an image tag or environment variable. Overwriting an existing image tag does not alter the template, so the Deployment controller does not roll out new Pods. Even with imagePullPolicy: Always, existing Pods are not restarted.

To force an update, the team must change the image tag or another template field.

Exam trap

The trap here is assuming that pushing a new image with the same tag automatically updates running Pods; Kubernetes requires a template change to trigger a rollout.

74
MCQmedium

A DevOps team wants to adopt a deployment pattern where a new version of an application is gradually rolled out to a small subset of users before full deployment. Which progressive delivery technique should they use?

A.Canary deployment
B.Rolling update
C.Blue-green deployment
D.Recreate deployment
AnswerA

Canary deployment routes a small percentage of live traffic to the new version, then progressively increases it while monitoring metrics. This satisfies the stem's requirement to expose only a subset of users before full rollout.

Why this answer

Canary deployment is the progressive delivery technique that routes a small percentage of live traffic to the new version while the majority continues to hit the stable version. This allows the team to observe real-user metrics (error rates, latency, business KPIs) on a limited blast radius before promoting the release to 100% of users. It is the canonical pattern for gradual, risk-controlled rollouts.

Exam trap

KCNA often tests the distinction between deployment strategies (rolling, recreate, blue-green) and progressive delivery techniques (canary, A/B, shadow), so candidates who pick 'rolling update' because it sounds gradual miss that canary is the only option giving user-subset exposure.

How to eliminate wrong answers

Option B is wrong because a rolling update replaces pods/instances incrementally at the infrastructure layer but does not give user-level traffic control or a subset-of-users rollout — it is a deployment strategy, not a progressive delivery technique. Option C is wrong because blue-green deployment flips 100% of traffic from the old environment to the new one in a single cutover, which is the opposite of a gradual subset rollout. Option D is wrong because recreate deployment tears down the old version entirely before starting the new one, causing downtime and offering no gradual exposure at all.

75
Multi-Selecthard

A platform team is designing a progressive delivery rollout for a new version of a service running on Kubernetes. They want to send a small percentage of live traffic to the new version, observe metrics, and automatically roll back if error rates rise. Which two components are required to implement this with a service mesh? (Choose two.)

Select 2 answers
A.A canary or weighted routing rule in the mesh that splits traffic between the stable and new versions.
B.A NodePort Service exposing the canary directly to external users for manual testing.
C.A separate Kubernetes cluster dedicated to canary workloads.
D.A HorizontalPodAutoscaler configured to scale the canary based on CPU.
E.Metrics collection and an analysis mechanism that evaluates error rates and triggers rollback.
AnswersA, E

Progressive delivery depends on controlling the percentage of requests reaching each version. A mesh routing rule, such as an Istio VirtualService with weighted destinations, directs a small share of traffic to the canary while the rest goes to the stable version. Without this split, all traffic hits one version and no gradual exposure occurs.

Why this answer

Progressive delivery with a service mesh requires two capabilities: a routing rule that splits traffic by percentage between stable and canary, and an analysis loop that reads metrics and decides whether to promote or roll back. Together they enable small, safe exposure and automatic recovery from regressions.

Exam trap

The trap here is focusing on extra infrastructure like separate clusters or autoscalers, when the essential pieces are traffic splitting and metrics-driven analysis.

Page 1 of 2 · 87 questions totalNext →

Ready to test yourself?

Try a timed practice session using only Cloud Native Application Delivery questions.