Courseiva

Certified GitOps Associate (CGOA, CNCF/Linux Foundation) (CGOA) (CGOA) — Questions 301–323

323 questions total · 5 pages · All types, answers revealed

Page 4

Page 5 of 5

301
Multi-Selecthard

Which THREE of these practices are essential to successfully transition from traditional CI/CD to GitOps?

Select 3 answers
A.Maintaining a manual 'deployment' document in a wiki.
B.Replacing imperative 'kubectl' commands with declarative manifest files.
C.Establishing Git as the sole source of truth for the environment.
D.Implementing an automated reconciliation process that pulls from Git.
E.Increasing the number of manual approvals in the CI pipeline.
AnswersB, C, D

Declarative manifests stored in Git let a controller continuously reconcile cluster state against the desired configuration, rather than executing one-off imperative commands. This satisfies GitOps's core requirement that Git be the single source of truth, enabling automated drift detection and rollback without manual `kubectl` intervention.

Why this answer

Option B is correct because GitOps requires the desired state to be expressed declaratively in manifest files (YAML) rather than through imperative commands like 'kubectl apply' or 'kubectl edit', so the cluster state can be versioned and reproduced. Option C is correct because Git must serve as the single source of truth, meaning all environment and application configuration lives in Git repositories and any change is made via commits and pull requests, not directly on the cluster. Option D is correct because a GitOps agent (e.g., Argo CD or Flux) must continuously reconcile the live cluster state with the desired state stored in Git, typically using a pull-based model that detects drift and automatically corrects it.

Option A is not correct because a manual deployment document in a wiki is not version-controlled, not machine-readable, and cannot drive automated reconciliation, which contradicts GitOps principles. Option E is not correct because adding manual approvals increases friction and human intervention, whereas GitOps emphasizes automated, auditable, and repeatable delivery driven by Git commits and CI checks.

Exam trap

CGOA often tests the misconception that more manual approvals or wiki documentation improve GitOps — in reality, GitOps reduces manual gates and treats Git itself as the documentation and approval mechanism.

302
MCQhard

What is the purpose of 'App-of-Apps' pattern in Argo CD?

A.To perform parallel builds
B.To increase the memory capacity of the cluster
C.To manage a collection of applications via a single root application
D.To allow multiple users to edit the same file
AnswerC

The App-of-Apps pattern uses one root Argo CD Application that points to a directory of child Application manifests, so a single sync creates and manages them all. This hierarchical management satisfies the stem's requirement for managing a collection of applications.

Why this answer

The App-of-Apps pattern in Argo CD uses a single root Application whose manifests define multiple child Applications. Syncing the root application creates or updates all the child applications, enabling centralised management of a large collection of applications. This hierarchical approach simplifies bootstrapping and governance across many services or clusters.

Exam trap

CGOA often tests whether candidates understand App-of-Apps as a hierarchical application management pattern rather than a build, scaling, or collaboration feature, catching those who pick answers based on superficial keyword matching.

How to eliminate wrong answers

Option A is wrong because parallel builds are a CI concern handled by build systems like Jenkins or GitHub Actions, not by Argo CD's application management pattern. Option B is wrong because increasing cluster memory is a node/infrastructure scaling task, unrelated to how Argo CD organises applications. Option D is wrong because concurrent file editing is a version-control workflow concern (e.g., Git branching), not what App-of-Apps addresses.

303
MCQmedium

In a GitOps environment, an engineer manually deletes a Deployment via 'kubectl'. What should happen next to maintain the desired state?

A.The controller detects the drift and automatically restores the Deployment.
B.The controller ignores the change until the next git commit.
C.The system issues an alert but does not modify the cluster.
D.The manual deletion is permanently synced to the Git repository.
AnswerA

The GitOps controller continuously compares live cluster state against the Git-declared desired state. Deleting the Deployment creates drift, so the controller's reconciliation loop recreates the missing resource automatically, restoring the declared state without manual intervention.

Why this answer

In a GitOps environment, the GitOps controller continuously reconciles the actual state of the cluster with the desired state stored in Git. When a Deployment is manually deleted, the controller detects the drift and automatically recreates it to match the Git manifest. This self-healing behavior is a core principle of GitOps.

Exam trap

CGOA often tests the self-healing aspect of GitOps; candidates may think manual changes are ignored or require a Git commit, but the controller actively reverts drift.

How to eliminate wrong answers

Option B is wrong because the controller does not wait for a Git commit; it continuously monitors and reconciles. Option C is wrong because the controller not only alerts but also takes corrective action to restore the desired state. Option D is wrong because manual changes are not synced to Git; Git remains the single source of truth, and the controller reverts the cluster to match Git.

304
MCQmedium

Why is 'Git' used as the source of truth rather than a standard database?

A.Git is the only format Kubernetes supports
B.Git is easier to host on-premise
C.Git provides native versioning, history, and collaboration
D.Git is faster at read operations
AnswerC

Git supplies native versioning, full commit history and branching, enabling collaboration, review and rollback of declarative configuration. A standard database lacks these built-in audit and merge capabilities, so Git better serves as the single source of truth for GitOps.

Why this answer

Git is used as the source of truth because it natively provides versioning, full history, branching, and collaboration workflows (pull requests, reviews, merges) that a standard database does not offer out of the box. These properties make configuration changes auditable, reviewable, and reversible — the foundation of GitOps.

Exam trap

CGOA often tests why Git specifically is chosen — the trap is picking options about hosting or performance when the real answer is Git's native versioning and collaboration model.

How to eliminate wrong answers

Option A is wrong because Kubernetes does not require Git at all — it accepts YAML/JSON via the API server, kubectl, Helm, or any client; Git is a GitOps choice, not a Kubernetes requirement. Option B is wrong because hosting ease is not the reason — Git can be hosted on-prem or in the cloud, but so can databases; the differentiator is versioning and collaboration. Option D is wrong because read performance is not the rationale — databases often outperform Git for reads, but GitOps values history and reviewability over raw read speed.

305
MCQhard

You are troubleshooting a Flux controller that is not reconciling changes. The Git repository is updated, but the cluster remains unchanged. Which component should you inspect first to verify the 'automated pull-based reconciliation'?

A.The Kubernetes API server logs.
B.The 'flux-system' namespace's 'kustomization.yaml' file.
C.The Git provider's webhook logs.
D.The 'GitRepository' or 'Kustomization' custom resources.
AnswerD

Flux's GitRepository and Kustomization custom resources are the declarative objects that bind a Git source to cluster reconciliation. Inspecting their status reveals whether the source was fetched and whether the Kustomization applied it, directly verifying the automated pull-based reconciliation the stem describes.

Why this answer

Flux's reconciliation is driven by custom resources: 'GitRepository' defines the source (repo URL, branch, credentials) and 'Kustomization' defines what to apply and how. If Git is updated but the cluster is unchanged, inspecting these CRs with 'kubectl get gitrepository,kustomization -n flux-system' and their status conditions reveals whether the source was fetched and whether the apply succeeded. This is the first diagnostic step because it directly reflects the reconciliation pipeline.

Exam trap

CGOA often tests whether candidates know that Flux reconciliation state lives in custom resources (GitRepository, Kustomization) rather than in generic Kubernetes components like the API server or Git webhooks — picking the wrong layer wastes troubleshooting time.

How to eliminate wrong answers

Option A is wrong because the Kubernetes API server logs record request handling, not Flux's source-fetching or reconciliation logic; they would not show why a Git commit was not detected. Option B is wrong because 'kustomization.yaml' inside the flux-system namespace is a file in the repo, not the runtime state — inspecting it does not reveal whether Flux actually reconciled. Option C is wrong because Flux's default reconciliation is polling-based, not webhook-driven, so Git provider webhook logs may not even exist or be relevant to the failure.

306
Multi-Selecthard

Which THREE of the following are critical security considerations for a GitOps implementation?

Select 3 answers
A.Requiring GPG signing for commits
B.Using hardcoded passwords in Kubernetes manifests
C.Implementing RBAC for the Git repository
D.Storing secrets in external stores like HashiCorp Vault
E.Granting the GitOps operator cluster-admin access by default
AnswersA, C, D

GPG signing cryptographically verifies commit authorship, preventing forged or tampered commits from entering the repository that drives cluster state. This satisfies the integrity consideration, ensuring only trusted identities can alter the desired state that GitOps reconciles.

Why this answer

Option A is correct because requiring GPG signing for commits ensures that only authorized developers can push changes to the Git repository, which is the single source of truth in GitOps; unsigned or tampered commits could otherwise inject malicious manifests into the cluster. Option C is correct because implementing RBAC for the Git repository restricts who can read, write, or merge to the branches that the GitOps operator reconciles, preventing unauthorized changes that would be automatically deployed. Option D is correct because storing secrets in external stores like HashiCorp Vault keeps sensitive credentials out of Git, where they would be exposed in plaintext and replicated to every cluster that syncs the repository.

Option B is not correct because hardcoded passwords in Kubernetes manifests are a security anti-pattern that leaks credentials into version control. Option E is not correct because granting the GitOps operator cluster-admin access by default violates least privilege and dramatically expands the blast radius of a compromised operator.

Exam trap

CGOA often tests whether candidates recognize that secrets must never live in Git even in private repos, and that the operator should not have blanket cluster-admin — the trap is treating convenience (hardcoded secrets, default admin) as acceptable.

307
Multi-Selecteasy

Which TWO of the following are common GitOps challenges?

Select 2 answers
A.Drift between Git and live state
B.Lack of Git repository
C.Too many developers
D.Securely managing secrets
E.Too much documentation
AnswersA, D

Drift between Git and live state is a core GitOps challenge: manual changes or failed reconciliations let the cluster diverge from the declared desired state in Git. Continuous reconciliation by controllers such as Argo CD or Flux detects and corrects this, satisfying the stem's requirement for a common GitOps challenge.

Why this answer

Option A is correct because a core GitOps challenge is configuration drift — the live cluster state diverging from the desired state declared in Git — which occurs when changes are made directly to the cluster (e.g., via kubectl) or when reconciliation fails, requiring continuous sync tools like Argo CD or Flux to detect and remediate it. Option D is correct because Git repositories are plaintext and version-controlled, so storing Kubernetes Secrets, credentials, and tokens directly in Git exposes sensitive data; teams must adopt solutions such as Sealed Secrets, SOPS, External Secrets Operator, or HashiCorp Vault to manage secrets securely. Option B is not a GitOps challenge because Git is the foundational prerequisite of GitOps — the entire model depends on a Git repository as the single source of truth, so its absence is a setup failure rather than a common operational challenge.

Option C is not a GitOps-specific challenge because having many developers is a general team-scaling concern, and Git's branching, pull-request, and review workflows are specifically designed to handle large contributor bases. Option E is not a challenge because documentation volume is unrelated to GitOps mechanics; if anything, GitOps improves traceability through commit history and declarative manifests.

Exam trap

CGOA often tests whether candidates pick generic team or documentation issues as GitOps challenges, when the exam expects the two canonical technical pain points: drift and secrets.

308
MCQeasy

Which of the following actions best aligns with the GitOps principle of 'Automated Pull-Based Reconciliation'?

A.A developer manually running Helm upgrade in the production environment
B.Using a Git hook to trigger an SSH deployment script on a remote server
C.Jenkins triggers a 'kubectl apply' command to push changes from the CI server
D.A cluster-resident controller actively pulling manifests from a Git repository
AnswerD

A cluster-resident controller continuously pulls manifests from Git and reconciles live state against them, satisfying the pull-based requirement. Unlike push-based CI pipelines, the controller initiates the fetch from inside the cluster, so drift is detected and corrected automatically without external credentials or inbound access to the cluster.

Why this answer

Automated pull-based reconciliation means a controller running inside the cluster continuously pulls the desired state from Git and reconciles the live state to match, without external push. A cluster-resident controller pulling manifests from Git is the textbook definition of this principle.

Exam trap

The trap is equating any automated pipeline (Jenkins kubectl apply, Git hooks) with GitOps — the exam requires the pull direction and an in-cluster reconciler.

How to eliminate wrong answers

Option A is wrong because a developer manually running helm upgrade is a push-based, human-triggered action that bypasses Git as the source of truth and is not automated. Option B is wrong because a Git hook triggering an SSH deployment script is still a push model — the pipeline pushes to the server rather than the cluster pulling. Option C is wrong because Jenkins running kubectl apply is a classic CI push model; the cluster is a passive target, not an active reconciler, and credentials must be handed to the CI system.

309
MCQmedium

What is the primary advantage of storing Kubernetes manifests in a version-controlled repository?

A.It makes the container images run faster.
B.It automatically patches security vulnerabilities.
C.It provides a backup in case the cluster is deleted.
D.It allows developers to bypass the CI/CD system.
AnswerC

Version control preserves every manifest revision, so the desired state can be reapplied to rebuild a cluster from scratch. That declarative source of truth, not merely a backup, is what allows recovery after deletion and consistent redeployment across environments.

Why this answer

Storing Kubernetes manifests in a version-controlled repository (e.g., Git) creates a durable, auditable record of the desired cluster state. If the cluster is deleted or corrupted, the manifests can be re-applied to rebuild the environment, effectively acting as a backup of the declarative configuration. This is a core GitOps principle: Git is the single source of truth for both application and infrastructure definitions.

Exam trap

CGOA often tests the misconception that version control automatically provides security patching or performance benefits, when its primary role is declarative state management and recovery.

How to eliminate wrong answers

Option A is wrong because container image execution speed is determined by image size, layers, and runtime resources, not by where the YAML manifests are stored. Option B is wrong because version control does not scan or patch vulnerabilities; that requires separate tooling like image scanners or admission controllers. Option D is wrong because storing manifests in Git is a prerequisite for CI/CD pipelines, not a way to bypass them; changes still flow through the pipeline for validation and deployment.

310
MCQmedium

A company is choosing between a push-based CI/CD pipeline (e.g., executing 'kubectl apply' from GitHub Actions) and a pull-based GitOps controller (e.g., Argo CD or Flux). Which security advantage is uniquely provided by adopting the pull-based architecture?

A.Git repositories are automatically encrypted at rest using cluster-managed hardware security modules.
B.It eliminates the need to perform code reviews or pull request approvals before deploying to production.
C.Cluster API credentials do not need to be exposed or stored inside the external CI/CD platform.
D.Container images are automatically scanned for vulnerabilities before being pushed to the container registry.
AnswerC

In pull-based GitOps the controller runs inside the cluster and fetches from Git, so the CI platform never holds cluster API credentials. Push pipelines must store those credentials externally, widening the blast radius if the CI system is compromised.

Why this answer

The unique security advantage of pull-based GitOps is that the cluster's API credentials never leave the cluster — the in-cluster controller pulls changes from Git rather than an external system pushing into the cluster. This eliminates the need to store high-privilege kubeconfig or service account tokens in an external CI/CD platform, drastically reducing the attack surface.

Exam trap

CGOA often tests the credential-exposure distinction between push and pull models, catching candidates who pick generic security benefits like image scanning that apply to both architectures.

How to eliminate wrong answers

Option A is wrong because Git repository encryption at rest is a Git hosting concern (e.g., GitHub, GitLab) and is unrelated to the push-versus-pull deployment model. Option B is wrong because pull-based GitOps still relies on pull request reviews and code approvals — it does not remove governance; it strengthens it by making Git the audit trail. Option D is wrong because image vulnerability scanning is performed by separate tooling (Trivy, Clair, Grype) in either architecture and is not a security advantage unique to pull-based GitOps.

311
MCQhard

You are implementing a multi-environment strategy. Which Git branching strategy best supports GitOps?

A.Deleting the Git repository after each deployment to prevent tampering.
B.Using a single 'main' branch that is pushed to all environments simultaneously.
C.Using dedicated directories for each environment within a single repository.
D.Creating a new repository for every single deployment.
AnswerC

Dedicated directories per environment in one repository keep each environment's manifests isolated while sharing a common structure. Promotion becomes a pull request between directories, giving clear diffs and audit trails without the merge complexity of long-lived branches.

Why this answer

In GitOps, the desired state of each environment is stored declaratively in Git, and a controller (e.g., Argo CD or Flux) continuously reconciles the live state to match it. Using dedicated directories per environment within a single repository (e.g., /envs/dev, /envs/staging, /envs/prod) allows each environment to have its own manifests and configuration while sharing common base resources via Kustomize or Helm. This structure supports promotion workflows (e.g., merging changes from dev to staging to prod) and provides clear separation without the overhead of multiple repositories.

It also aligns with the principle of a single source of truth for all environments, making it easier to audit and manage drift.

Exam trap

CGOA often tests the misconception that GitOps requires separate repositories per environment, when in fact a single repository with dedicated directories is the recommended pattern for multi-environment management.

How to eliminate wrong answers

Option A is wrong because deleting the Git repository after deployment destroys the source of truth and prevents any reconciliation or rollback, which is antithetical to GitOps. Option B is wrong because pushing the same branch to all environments simultaneously eliminates environment-specific configuration and promotion gates, leading to unintended changes in production and breaking isolation. Option D is wrong because creating a new repository for every deployment is operationally unscalable, fragments the desired state, and makes it impossible to manage environment-specific overrides or promote changes systematically.

312
Multi-Selecthard

Which TWO of the following are valid reasons to maintain a clear separation between the CI pipeline and the GitOps controller?

Select 2 answers
A.The GitOps controller is required to perform binary compilation of source code.
B.GitOps provides a continuous feedback loop and reconciliation that a one-time CI execution cannot offer.
C.The CI pipeline should not have direct write access to the Kubernetes API, limiting the blast radius of a compromised pipeline.
D.Separation allows developers to bypass the Git repository when hotfixing production.
E.The CI pipeline is physically incapable of deploying resources to a cluster.
AnswersB, C

The controller continuously reconciles live cluster state against the declared Git desired state, detecting and correcting drift long after the pipeline's one-time build and push has finished. This ongoing feedback loop satisfies the stem's requirement for a distinct reason to separate the two roles.

Why this answer

Option B is correct because a GitOps controller runs a continuous reconciliation loop that constantly compares the desired state in Git with the live cluster state and corrects drift, whereas a CI pipeline executes only once per trigger and then stops, so it cannot provide ongoing convergence or feedback. Option C is correct because keeping the CI pipeline from holding direct write credentials to the Kubernetes API enforces least privilege: if the pipeline is compromised, the attacker cannot directly mutate cluster resources, and all changes must instead flow through Git where they are reviewed, versioned, and auditable, greatly reducing the blast radius. Option A is wrong because binary compilation is a CI/build responsibility, not something the GitOps controller does; the controller only applies declarative manifests.

Option D is wrong because bypassing the Git repository for production hotfixes directly contradicts GitOps principles, which require Git as the single source of truth. Option E is wrong because a CI pipeline is technically capable of deploying to a cluster (e.g., via kubectl or Helm with credentials); the separation is a deliberate security and architectural choice, not a physical limitation.

Exam trap

CGOA often tests the misconception that CI must deploy to the cluster or that GitOps replaces CI — candidates confuse the build/deploy boundary and pick options that violate Git as the source of truth.

313
MCQhard

You are designing a multi-cluster deployment with Argo CD. You want to avoid defining 50 individual Application manifests. Which feature should you use?

A.Argo CD ApplicationSets.
B.Helm subcharts.
C.Git submodules.
D.Kubernetes Custom Resource Definitions (CRDs).
AnswerA

ApplicationSets generate many Applications from a single template using generators such as cluster lists or Git directories, eliminating 50 hand-written manifests. Plain Application objects and Projects cannot template across clusters, so they would not reduce the duplication.

Why this answer

Argo CD ApplicationSets use generators (cluster, Git, list, matrix) to template and produce many Applications from a single manifest, so you avoid writing 50 individual Application resources. A cluster generator can automatically create one Application per registered cluster, which is exactly the multi-cluster scaling need. This is the idiomatic Argo CD feature for fleet-wide deployments.

Exam trap

CGOA often tests the misconception that Helm or Git submodules solve multi-cluster Application sprawl, when the purpose-built answer is Argo CD ApplicationSets with generators.

How to eliminate wrong answers

Option B is wrong because Helm subcharts are a packaging mechanism for composing charts, not a way to generate Argo CD Application resources across clusters. Option C is wrong because Git submodules manage nested Git repositories, not Application generation or cluster targeting. Option D is wrong because CRDs define custom resource types; while ApplicationSet itself is a CRD, using CRDs generically does not solve the 50-manifest problem.

314
MCQeasy

Which of the following is a key advantage of using a 'pull' based GitOps model (like Flux or ArgoCD) over a 'push' based CI/CD pipeline?

A.Elimination of external cluster credentials in CI
B.Faster build times
C.Automatic unit testing
D.No need for Git
AnswerA

In a pull model the in-cluster agent initiates connections outward to fetch desired state, so the CI system never holds kubeconfig credentials or cluster API access. This eliminates external cluster credentials in CI, removing a significant credential-exposure risk.

Why this answer

In a pull-based GitOps model, the in-cluster agent (Flux or ArgoCD) runs inside the Kubernetes cluster and pulls the desired state from Git. Because the agent already has in-cluster credentials via its ServiceAccount, the CI system never needs kubeconfig or cluster-admin credentials to deploy — it only commits to Git. This dramatically shrinks the attack surface and removes the need to store long-lived cluster credentials in CI secrets.

Exam trap

CGOA often tests the misconception that pull-based GitOps is about speed or testing; the real differentiator is credential isolation — CI never holds cluster credentials because the in-cluster agent pulls from Git.

How to eliminate wrong answers

Option B is wrong because build times are determined by the CI runner and Docker build steps, not by whether deployment is push or pull — pull-based models often add a reconciliation delay. Option C is wrong because unit testing is a CI pipeline concern (e.g., running dotnet test or go test) and is entirely orthogonal to the deployment mechanism. Option D is wrong because Git is the fundamental source of truth in GitOps; both push and pull models require a Git repository to store the declarative manifests.

315
MCQmedium

When utilizing Git as the 'Source of Truth' for a cluster, what happens if the cluster state diverges from Git?

A.The controller alerts the administrator but takes no action.
B.The Git repository is updated to reflect the new cluster state.
C.The controller detects the drift and reports it as out-of-sync.
D.The cluster ignores the Git repository until a new commit is pushed.
AnswerC

GitOps controllers continuously reconcile the desired manifest in Git against live cluster objects. When the running state diverges, the controller flags the resource as OutOfSync rather than silently overwriting it, satisfying the scenario's need to surface drift between Git as source of truth and the cluster.

Why this answer

In GitOps, Git is the single source of truth, and the reconciliation controller continuously compares the live cluster state against the desired state in Git. When they diverge, the controller marks the Application as OutOfSync and, depending on sync policy, may auto-heal or wait for manual sync. It never silently overwrites Git with cluster state, preserving Git's authority.

Exam trap

CGOA often tests the misconception that the controller writes cluster state back to Git or merely alerts, when the correct behavior is detecting drift and reporting OutOfSync.

How to eliminate wrong answers

Option A is wrong because the controller does more than alert; it computes a diff and exposes OutOfSync status, and with automated sync it actively remediates. Option B is wrong because GitOps is one-directional from Git to cluster; writing cluster state back to Git would invert the source of truth and is not how Argo CD or Flux behave. Option D is wrong because the controller does not ignore Git on divergence; it keeps reconciling and reports drift until the cluster matches Git or a sync is triggered.

316
Multi-Selecthard

Which THREE components are essential for a robust pull-based GitOps deployment?

Select 3 answers
A.A Git repository hosting declarative manifests.
B.A Kubernetes cluster to host the applications.
C.A GitOps controller (e.g., Argo CD or Flux).
D.A continuous integration server with cluster-admin access.
E.A dedicated database for storing cluster state.
AnswersA, B, C

A Git repository holding declarative manifests is the single source of truth that pull-based GitOps agents continuously reconcile against. Without it, no desired state exists for the cluster to pull, so the stem's essential-component requirement cannot be met.

Why this answer

Option A is correct because a pull-based GitOps workflow requires a Git repository that stores the declarative manifests (YAML/Helm/Kustomize) representing the desired state of the system, which serves as the single source of truth. Option B is correct because a Kubernetes cluster is the target runtime environment where the applications defined in those manifests are actually deployed and reconciled. Option C is correct because a GitOps controller such as Argo CD or Flux runs inside the cluster, continuously pulls the desired state from Git, and reconciles it against the live cluster state.

Option D is not essential and is in fact contrary to the pull model, since a CI server with cluster-admin access implies a push-based deployment and violates least-privilege principles. Option E is not required because the cluster state is stored in etcd and the desired state in Git; no dedicated external database is needed for GitOps.

Exam trap

CGOA often tests the misconception that a CI server with cluster-admin access is required for GitOps, confusing push-based CI/CD with pull-based GitOps, where the controller inside the cluster pulls changes and CI is not part of the core loop.

317
MCQmedium

When defining a declarative desired state in Kubernetes, which attribute is essential to satisfy the 'declarative' principle?

A.A shell script that executes 'kubectl apply'.
B.A webhook that triggers an update process.
C.A YAML manifest describing the final resource configuration.
D.A manual 'kubectl edit' command.
AnswerC

A YAML manifest declares the final resource configuration, letting Kubernetes controllers continuously reconcile actual state toward that specification. This satisfies the declarative principle's core constraint: you state the desired end state rather than issuing imperative commands, and the control plane determines and performs the steps needed to reach it.

Why this answer

The declarative principle in Kubernetes means you describe the desired end state of resources rather than the imperative steps to reach it. A YAML manifest (or JSON) expresses that final configuration, and the controller/API server reconciles actual state toward it. This is why 'kubectl apply -f manifest.yaml' is idempotent and repeatable, unlike imperative commands.

Exam trap

CGOA often tests the confusion between the tool that applies configuration (kubectl, a script, a webhook) and the declarative artifact itself — candidates pick the delivery mechanism instead of the manifest that encodes desired state.

How to eliminate wrong answers

Option A is wrong because a shell script running 'kubectl apply' is merely a delivery mechanism — the script itself is imperative and the declarative content still lives in the manifest it references. Option B is wrong because a webhook is an event trigger, not a description of desired state; it initiates a process rather than declaring an outcome. Option D is wrong because 'kubectl edit' is an imperative, interactive mutation of live state that bypasses version-controlled declarative definitions and is not reproducible.

318
MCQhard

When using an 'Image Updater' with a GitOps operator, what is the automated workflow?

A.It detects new images and updates the manifest in Git
B.It manually restarts the cluster
C.It creates a backup of the cluster
D.It bypasses the git repository entirely
AnswerA

The Image Updater watches registries for new tags matching configured policies, then commits the updated image reference back into the Git manifest. The operator subsequently reconciles that commit, so Git remains the single source of truth throughout the automated workflow.

Why this answer

An Image Updater (such as Argo CD Image Updater) monitors a container registry for new image tags and, when it detects a newer version matching the configured policy, writes the updated image tag back into the Git manifest. This keeps Git as the source of truth while automating image version bumps. The GitOps operator then syncs the updated manifest to the cluster.

Exam trap

CGOA often tests whether candidates realise Image Updater commits to Git rather than directly patching the cluster, catching those who think it bypasses the GitOps workflow.

How to eliminate wrong answers

Option B is wrong because restarting the cluster is not an image-update function; Image Updater modifies manifests, not cluster lifecycle. Option C is wrong because backing up the cluster is unrelated to image updating — that is a disaster-recovery concern. Option D is wrong because bypassing Git would violate GitOps principles; Image Updater's entire purpose is to commit changes to Git so the normal reconciliation loop can deploy them.

319
Multi-Selecthard

Which THREE of the following are best practices for managing GitOps secrets?

Select 3 answers
A.Share secrets in cleartext via team chat
B.Encrypt secrets using tools like SealedSecrets
C.Use an external secret manager like HashiCorp Vault
D.Rotate secrets regularly based on security policies
E.Store base64 encoded secrets in Git
AnswersB, C, D

SealedSecrets encrypts values with a controller-held asymmetric key, so the ciphertext is safe to commit alongside manifests. This satisfies the stem's GitOps constraint that secrets must live in Git while remaining unreadable to anyone lacking the in-cluster private key, unlike plaintext Secrets or external references.

Why this answer

Option B is correct because SealedSecrets encrypts secrets with a controller-held private key so the ciphertext can be safely committed to a Git repository and decrypted only inside the cluster, which fits GitOps' declarative, version-controlled workflow. Option C is correct because an external secret manager such as HashiCorp Vault keeps the actual secret material outside Git and injects it at runtime, so the repository stores only references or paths rather than sensitive values. Option D is correct because regularly rotating secrets according to security policies limits the blast radius of any leaked credential and is a core secrets-management control.

Option A is wrong because sharing secrets in cleartext via team chat exposes them to logs, backups, and unauthorized members. Option E is wrong because base64 is merely an encoding, not encryption, so anyone with repository access can trivially decode the secrets.

Exam trap

CGOA often tests the misconception that base64 encoding provides security, when it is merely an encoding scheme that anyone can decode with a single command.

320
Multi-Selectmedium

Which TWO benefits does GitOps provide for team collaboration?

Select 2 answers
A.Removing the need for communication.
B.Forcing everyone to use the same IDE.
C.Providing a transparent, versioned history of infrastructure changes.
D.Allowing developers to deploy without oversight.
E.Enabling peer review of all changes via Merge Requests.
AnswersC, E

Because every change is a commit, Git records who changed what and when. This versioned history gives teams an auditable, transparent trail of infrastructure changes, supporting collaboration and rollback without relying on undocumented manual actions.

Why this answer

Option C is correct because GitOps stores the desired state of infrastructure as declarative configuration in a Git repository, so every change is committed with an author, timestamp, and diff, giving the whole team a transparent, versioned audit trail that can be inspected, reverted, or compared across branches and tags. Option E is correct because GitOps workflows route all changes through Git, so modifications are proposed as branches and merged via Merge Requests (or Pull Requests), enabling peer review, comments, approvals, and CI checks before anything reaches the cluster. The unmarked options do not belong: A is wrong because GitOps still requires communication for design and incident response, B is wrong because GitOps is tool-agnostic and does not mandate any IDE, and D is wrong because GitOps actually increases oversight by requiring reviewed, approved merges rather than unmonitored deployments.

Exam trap

CGOA often tests the misconception that GitOps eliminates human oversight or communication, when in fact it formalizes both through version control and merge-request workflows.

321
Multi-Selecthard

Which THREE principles are foundational to the GitOps model as defined by the CNCF GitOps Working Group?

Select 3 answers
A.Manual approval is required for all production deployments
B.Software must be delivered using push-based CI/CD pipelines
C.Changes must be automatically pulled and applied
D.The state must be versioned and immutable
E.The system must be defined declaratively
AnswersC, D, E

Automatic pull-based reconciliation satisfies the CNCF principle that software agents continuously observe and reconcile desired state from Git, rather than relying on external push pipelines. This closes the loop without human intervention, ensuring the declared configuration is applied even after drift, which the stem's GitOps definition requires.

Why this answer

Option C is correct because GitOps requires an automated agent (such as Argo CD or Flux) that continuously pulls the desired state from Git and reconciles it into the cluster, rather than relying on external push-based deployments. Option D is correct because the CNCF GitOps Working Group defines the desired state as versioned and immutable, with Git serving as the single source of truth whose history is preserved. Option E is correct because the entire system must be described declaratively (for example, Kubernetes YAML manifests) so the agent can compare desired versus actual state and converge them.

Option A is incorrect because GitOps favors automated reconciliation, not mandatory manual approval for every production deployment. Option B is incorrect because GitOps is fundamentally pull-based, not push-based, so push-based CI/CD pipelines contradict the model.

Exam trap

The trap here is including push-based CI/CD or manual approval as principles, which are not part of the GitOps model; candidates might confuse traditional CI/CD practices with GitOps principles.

322
Multi-Selectmedium

Which TWO characteristics help ensure a GitOps repository is auditable?

Select 2 answers
A.Only allowing the admin user to push code.
B.Use of private email addresses in commit logs.
C.Cryptographically signed commits to verify authorship.
D.Detailed commit logs showing the author and time of change.
E.Storing all files as binary blobs.
AnswersC, D

Signed commits bind each change to a verified GPG key, so reviewers can prove who authored every commit. This cryptographic authorship evidence satisfies the auditability requirement, unlike unsigned history where identity can be spoofed by setting an arbitrary user.name and email.

Why this answer

Option C is correct because cryptographically signed commits (e.g., using GPG or SSH signatures verified via git commit -S and git verify-commit) provide non-repudiable proof of who authored a change, which is essential for auditability in a GitOps repository. Option D is correct because detailed commit logs capturing author identity and timestamp (as recorded in the commit object's author/committer fields and shown by git log) create a traceable history of every change, satisfying audit requirements. Option A is incorrect because restricting pushes to a single admin user does not by itself provide an audit trail and actually reduces traceability of who made changes.

Option B is incorrect because using private email addresses obscures author identity rather than making the repository more auditable. Option E is incorrect because storing files as binary blobs prevents meaningful diffs and review of changes, undermining auditability.

Exam trap

CGOA often tests the misconception that access restriction (only admins can push) equals auditability, when auditability actually requires verifiable authorship and detailed change records.

323
MCQeasy

An administrator notices that the 'sync' status of an Argo CD application is 'Synced' but the health status is 'Degraded'. What does this indicate?

A.The Argo CD controller has crashed
B.The Git repository is unreachable
C.Git and the cluster state are mismatched
D.The application is correctly defined in Git but is failing at runtime
AnswerD

Sync compares live manifests against Git; health assesses workload runtime. Synced confirms the desired manifests are applied, yet Degraded reveals pods failing readiness, crashing, or otherwise unhealthy — so the definition matches Git while execution fails.

Why this answer

A 'Synced' sync status means the live cluster resources match the desired manifests in Git — there is no configuration drift. A 'Degraded' health status, however, is reported by Argo CD's health assessment (based on resource readiness, e.g., a Deployment with unavailable replicas or a Pod in CrashLoopBackOff) and indicates the workloads are not functioning correctly at runtime. Together they signal that the desired state was applied successfully but the application itself is failing.

Exam trap

CGOA often tests the orthogonality of sync status and health status; candidates mistakenly equate 'Synced' with 'healthy' and pick the drift-related answer instead of the runtime-failure answer.

How to eliminate wrong answers

Option A is wrong because if the Argo CD controller had crashed, the Application status would be stale or unreported entirely, not freshly evaluated as Synced/Degraded. Option B is wrong because an unreachable Git repository produces a 'Unknown' or 'ComparisonError' sync status, not 'Synced' — Argo CD cannot confirm sync without reading Git. Option C is wrong because a Git-versus-cluster mismatch is precisely what 'OutOfSync' represents; 'Synced' explicitly means no such mismatch exists.

Page 4

Page 5 of 5

All pages