KCNA Cloud Native Application Delivery Practice Question
A team wants to implement GitOps for their Kubernetes workloads using Argo CD. They have multiple environments (dev, staging, prod) in separate clusters. What is the best practice for structuring the Git repository?
⚠ Common exam trap
It's easy for candidates to choose Option B (separate repos) thinking it provides the best isolation, but the KCNA exam emphasizes that a monorepo with overlays is the recommended pattern for GitOps because it reduces duplication and simplifies cross-environment consistency.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
A monorepo with a directory per environment and overlays for differences
A monorepo with a directory per environment and overlays (e.g., using Kustomize or Helm) allows you to manage environment-specific differences declaratively while keeping a single source of truth. Argo CD can sync each environment's directory to its respective cluster, and overlays minimize duplication by applying only the necessary patches (e.g., replica counts, ingress hosts) on top of a common base. This approach aligns with GitOps best practices for multi-environment deployments.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
A single branch with all environment manifests in the same folder
Why it's wrong here
Hard to manage environment-specific changes and promotes accidental overrides.
- ✗
Separate repositories per environment
Why it's wrong here
Separate repositories per environment fragment the single source of truth that GitOps requires for unified promotion across dev, staging, and prod clusters; Argo CD’s sync waves and application sets depend on a monorepo to propagate changes consistently. This approach is tempting because it isolates environment-specific secrets and configurations, and would be correct when teams need independent release cycles or strict regulatory separation between clusters.
- ✗
Store all manifests in a single file with environment labels
Why it's wrong here
Becomes unmanageable and error-prone as the number of resources grows.
- ✓
A monorepo with a directory per environment and overlays for differences
Why this is correct
Standard GitOps pattern; clear separation with shared base and overlays.
Go deeper
Related to this question
Learn chapter
Kubernetes Overview and Core Components
Key term
ReplicaSet and Replication
A ReplicaSet ensures a specified number of identical pod instances are running at all times in Kubernetes, using replication to maintain availability and stability.
Key term
GitOps
GitOps is a way to manage and automate cloud infrastructure and applications by using a Git repository as the single source of truth, where all changes are made through pull requests and automatically applied by a software agent.
About these practice questions
One of 833 original KCNA practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This KCNA practice question is part of Courseiva's free CNCF certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the KCNA exam.