linux foundation cgoa practice test

Certified GitOps Associate Exam

Last exam update: Nov 18 ,2025
Page 1 out of 4. Viewing questions 1-15 out of 60

Question 1

In GitOps practices, when does CD take part?

  • A. CD takes part simultaneously with CI, both components of GitOps practices.
  • B. CD takes part after CI to automate the deployment of applications based on changes in the Git repository.
  • C. CD takes part before CI stage in order to ensure the successful deployment of applications.
  • D. CI plays a significant role in GitOps practices.
Mark Question:
Answer:

B


Explanation:
In GitOps, Continuous Deployment (CD) follows after Continuous Integration (CI). CI is responsible
for building and testing application code, while CD automates the delivery and deployment of these
changes into runtime environments. The Git repository serves as the single source of truth, and
when CI merges new changes into the main branch, CD reconciles the state of the environment to
match what is declared in Git.
“GitOps builds on the principles of DevOps by using Git as the source of truth for declarative
infrastructure and applications. CI pipelines handle the integration and testing of code, and CD
pipelines or agents automatically reconcile the desired state in Git with the actual state in the
cluster.”
This shows that CD is triggered after CI to handle deployment automation, ensuring systems remain
in sync with what is declared in version control.
Reference: GitOps Principles (CNCF GitOps Working Group), GitOps Working Group Terminology &
Principles documents.

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 2

In the context of GitOps, what happens to a GitOps-managed Kubernetes cluster if there is drift
divergence?

  • A. The GitOps-managed Kubernetes cluster ignores the drift divergence and continues to operate as it is.
  • B. The GitOps-managed Kubernetes cluster automatically reconciles the drift divergence to return the cluster to the Desired State.
  • C. The GitOps-managed Kubernetes cluster notifies the administrator about the drift divergence and waits for manual intervention.
  • D. The GitOps-managed Kubernetes cluster rolls back to the previous known state before the drift divergence occurred.
Mark Question:
Answer:

B


Explanation:
A GitOps-managed Kubernetes cluster uses reconciliation loops to continuously compare the actual
state of the system with the desired state declared in Git. When drift (divergence between declared
configuration and live cluster state) is detected, the GitOps operator automatically reconciles the
difference to bring the system back into alignment.
“In GitOps, a reconciliation loop ensures that the desired state as declared in Git is continuously
compared with the observed state of the system. If drift is detected, the system automatically takes
corrective action to reconcile the difference and restore the declared configuration.”
This ensures consistency, reliability, and self-healing. Manual intervention is not required for drift
correction, as the automated reconciliation is a core principle of GitOps.
Reference: GitOps Principles (CNCF GitOps Working Group), GitOps Principles Document — Principle
4: Software agents automatically pull the desired state declarations from the source and
continuously observe actual system state, reconciling differences.

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 3

In GitOps, what does the principle of Versioned and Immutable mean?

  • A. All changes to configuration and infrastructure should be made directly on production environments.
  • B. All software versions should be stored in a Git repository.
  • C. Configuration and infrastructure code should be version-controlled and treated as immutable artifacts.
  • D. Configuration and infrastructure code should be modified directly on production environments.
Mark Question:
Answer:

C


Explanation:
One of the four fundamental GitOps principles is Versioned and Immutable. This means that the
entire system’s desired state must be stored in a Git repository with version control. Each change
must be represented as a commit, and Git’s immutability guarantees a reliable, auditable history of
how the system evolved.
“The desired state is stored in a version control system. The record of truth is stored in an immutable
history, and changes can be audited and reverted if necessary. This guarantees that the system’s
configuration is versioned, immutable, and traceable.”
Thus, configuration and infrastructure must be version-controlled and immutable, never changed
directly in production.
Reference: GitOps Principles (CNCF GitOps Working Group), Principle 2: The desired system state is
stored as versioned and immutable.
===========

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 4

When are progressive delivery patterns useful in software development and deployment?

  • A. Progressive delivery patterns are only useful for one-time, single-deployment scenarios, not ongoing, continuous delivery.
  • B. Progressive delivery patterns are primarily beneficial for small development teams rather than for large organizations.
  • C. Progressive delivery patterns are useful in several software development and deployment scenarios, as they offer advantages such as risk reduction, improved quality, and better user experience.
  • D. Progressive delivery patterns are useful during initial project development instead of in subsequent phases.
Mark Question:
Answer:

C


Explanation:
Progressive delivery is a GitOps pattern used to release software gradually, reducing risks associated
with deploying new versions. Techniques such as canary releases, feature flags, and blue-green
deployments allow teams to incrementally roll out changes, validate functionality with subsets of
users, and minimize potential disruptions.
“Progressive delivery builds on continuous delivery by enabling safer, incremental rollouts. This
pattern reduces risk, improves reliability, enhances user experience, and allows for validation of
features with a portion of users before wider release.”
Therefore, progressive delivery is useful in multiple scenarios (not just one-time deployments or
small teams), making option C correct.
Reference: GitOps Patterns (CNCF GitOps Working Group), Progressive Delivery Patterns
documentation.
===========

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 5

When deciding whether to use an in-cluster reconciler or an external reconciler, what factors should
be considered?

  • A. The version of Kubernetes and the availability of network resources.
  • B. The size of the cluster and the complexity of the reconciler logic.
  • C. The programming language the applications are written in.
  • D. The location of the state store and the number of replicas.
Mark Question:
Answer:

B


Explanation:
In GitOps, reconcilers ensure the actual state matches the desired state. Reconcilers may run inside
the cluster (in-cluster) or outside (external). The choice depends primarily on operational scale and
the complexity of reconciliation logic.
“When determining reconciler placement, factors such as the size of the environment, the
operational complexity of the reconciler, and the performance requirements should be evaluated. In-
cluster reconcilers are common for straightforward deployments, while external reconcilers may be
chosen for large-scale or complex systems.”
Thus, the most important considerations are cluster size and complexity of reconciler logic, making B
correct.
Reference: GitOps Related Practices (CNCF GitOps Working Group), GitOps Reconciler Guidelines.
===========

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 6

In GitOps, what does it mean to Continuously Reconcile?

  • A. Regularly update Git repositories with the latest changes from external sources.
  • B. Perform regular backups of Git repositories.
  • C. Automatically compare and adjust the system state as needed.
  • D. Monitor the system for any unauthorized changes and revert them.
Mark Question:
Answer:

C


Explanation:
Continuous reconciliation is another core GitOps principle. It means that software agents (operators
or controllers) run loops that continuously observe the live system and compare it against the
desired state declared in Git. If any divergence (drift) is found, the agent automatically reconciles the
system to match the declared configuration.
“Software agents continuously observe the actual system state and compare it with the desired state
declared in Git. If a divergence is detected, the agents automatically reconcile the difference to bring
the system back into alignment.”
This provides automation, consistency, and self-healing, which are hallmarks of GitOps.
Reference: GitOps Principles (CNCF GitOps Working Group), Principle 4: Continuously reconciled.

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 7

How can you achieve the declarative GitOps principle in managing infrastructure and applications?

  • A. By using imperative scripting languages to automate infrastructure changes.
  • B. By manually making ad-hoc configuration changes directly in the production environment.
  • C. By periodically creating manual backups of your infrastructure configurations.
  • D. By defining and maintaining infrastructure and application configurations declaratively in a version-controlled system.
Mark Question:
Answer:

D


Explanation:
The first GitOps principle is Declarative Descriptions. This means the desired system configuration
(for infrastructure, services, and applications) is expressed declaratively and stored in version control.
Git becomes the single source of truth.
“The desired system state must be expressed declaratively. This provides a clear, machine-readable
blueprint for the system, and ensures that what is in Git is what should be running in the
environment.”
Therefore, infrastructure and application configurations must be defined declaratively and stored in
Git, not managed imperatively or manually.
Reference: GitOps Principles (CNCF GitOps Working Group), Principle 1: The system is described
declaratively.
===========

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 8

In the context of GitOps, which of the following is the primary purpose of Desired State?

  • A. To serve as a blueprint to recreate a system for behavioral consistency.
  • B. To store all persistent application data, such as database content.
  • C. For monitoring real-time application performance.
  • D. To track code changes that developers have made.
Mark Question:
Answer:

A


Explanation:
The Desired State in GitOps is the declarative specification of how the system should behave. It is
stored in Git and serves as the reference point for reconciliation against the actual state.
“The desired state is a complete specification of the system stored in Git. It acts as the blueprint from
which the actual state is continuously reconciled, ensuring the system remains consistent and
reproducible.”
Thus, the primary purpose of Desired State is to act as a blueprint to recreate and ensure consistency
of the system.
Reference: GitOps Terminology (CNCF GitOps Working Group).
===========

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 9

Can you choose one example where Configuration as Code may be utilized to manage an
application’s configuration and source code?

  • A. Using a manual process of editing configuration files and manually syncing the source code of a monolithic application.
  • B. Using a spreadsheet to manually update and manage the configuration and source code of a mobile application.
  • C. Using a Helm chart to define and manage the configuration and container image of a web application deployed on Kubernetes.
  • D. Using a GUI-based configuration tool to visually configure and manage the source code of a microservices architecture.
Mark Question:
Answer:

C


Explanation:
Configuration as Code is a GitOps-related practice where configurations are stored as declarative
definitions in version control. Helm charts, for example, allow applications deployed on Kubernetes
to have both their container images and configuration specified declaratively.
“Configuration as Code enables teams to manage application and infrastructure configuration in
version control systems, using declarative approaches such as Kubernetes manifests or Helm charts.
This ensures repeatability, automation, and auditability.”
Thus, Helm charts are a prime example of this practice, making C correct.
Reference: GitOps Related Practices (CNCF GitOps Working Group), Configuration as Code.
===========

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 10

Which of the following is part of a declaratively defined system?

  • A. Both the desired state and the steps to reach the Desired State.
  • B. Only the steps to reach the Desired State.
  • C. Only the Desired State.
  • D. Only the code for reaching the Desired State.
Mark Question:
Answer:

C


Explanation:
In GitOps, systems are defined declaratively. This means that the desired state is described in Git,
while the steps to achieve it are not explicitly defined. Instead, reconciliation agents interpret the
declarative definition and automatically apply changes as needed.
“A declaratively defined system specifies only the desired state. It does not describe the sequence of
steps required to reach that state. The reconciliation process ensures the system converges to the
declared state automatically.”
Therefore, the correct answer is C: Only the Desired State.
Reference: GitOps Principles (CNCF GitOps Working Group), Principle 1: The system is described
declaratively.

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 11

Which statement describes Blue-Green deployments?

  • A. Blue-Green deployments involve deploying the new version of an application alongside the old version and switching traffic to the latest version once it is ready.
  • B. Blue-Green deployments involve deploying the new version of an application to a subset of users and gradually expanding the deployment based on feedback.
  • C. Blue-Green deployments involve deploying different versions of an application in other regions and routing traffic based on geographic location.
  • D. Blue-Green deployments involve deploying only one version at a time.
Mark Question:
Answer:

A


Explanation:
Blue-Green deployments are a progressive delivery pattern where two environments exist: Blue
(current version) and Green (new version). The new version is deployed in parallel, and once
validated, traffic is switched over from Blue to Green.
“Blue-Green deployments provide zero-downtime releases by running two production environments:
one active and one idle. A new version is deployed to the idle environment, tested, and when ready,
traffic is switched to it.”
Thus, the correct description is A.
Reference: GitOps Patterns (CNCF GitOps Working Group), Progressive Delivery patterns.
===========

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 12

In a GitOps framework, what distinct advantage does Configuration as Code (CaC) provide in
comparison to traditional infrastructure management approaches?

  • A. CaC in GitOps exclusively automates the documentation process, whereas traditional approaches focus on manual documentation.
  • B. GitOps leverages CaC for immutable infrastructure deployments, ensuring consistent environments, unlike traditional methods that allow ad-hoc changes.
  • C. CaC is less secure and more complex than traditional infrastructure management.
  • D. In GitOps, CaC enables dynamic resource allocation during runtime, contrasting with the static configurations in traditional methods.
Mark Question:
Answer:

B


Explanation:
Configuration as Code (CaC) in GitOps ensures that infrastructure and application definitions are
stored in Git, version-controlled, and immutable. Unlike traditional approaches (manual changes,
scripts, mutable infrastructure), GitOps uses CaC for immutable infrastructure deployments,
guaranteeing reproducibility and environment consistency.
“Configuration as Code ensures that system configuration is stored declaratively in version control.
This allows immutable deployments, reproducibility, consistency across environments, and prevents
ad-hoc manual changes.”
Thus, the distinct advantage is immutable deployments and consistent environments, making B
correct.
Reference: GitOps Related Practices (CNCF GitOps Working Group).
===========

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 13

A GitOps-managed Software System includes which of the following?

  • A. Hardware infrastructure used for hosting the software system.
  • B. One or more runtime environments consisting of resources under management.
  • C. One or more programming languages used for development.
  • D. Operating systems used for hosting the software system.
Mark Question:
Answer:

B


Explanation:
A GitOps-managed software system is defined as one or more runtime environments whose
resources are managed declaratively via GitOps practices.
“A GitOps-managed software system includes one or more runtime environments, such as clusters,
where resources are under management. The desired state of these resources is declared in Git and
reconciled continuously.”
Thus, the correct option is B.
Reference: GitOps Terminology (CNCF GitOps Working Group).
===========

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 14

In GitOps, what is a pull-based approach?

  • A. A pull-based approach is when developers manually push changes to the GitOps system, which then applies them automatically.
  • B. A pull-based approach is when the GitOps system sends notifications to developers to apply changes from the Git repository manually.
  • C. A pull-based approach is when the Git repository automatically pushes changes to the GitOps system, which then applies them.
  • D. A pull-based approach is when the GitOps system continuously polls the Git repository for changes and applies them automatically.
Mark Question:
Answer:

D


Explanation:
In GitOps, pull-based deployment is fundamental. Instead of pushing changes into a cluster, GitOps
agents running inside the cluster continuously pull from Git to reconcile desired state.
“GitOps uses a pull-based model: agents inside the cluster continuously poll the Git repository for
desired state changes. If changes are found, they reconcile the live system automatically to match
the declared state.”
This ensures secure, automated, and consistent deployments.
Thus, D is correct.
Reference: GitOps Principles (CNCF GitOps Working Group), Pull-based Reconciliation Model.

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 15

A GitOps project wants to leverage both ArgoCD and Flux for a deployment. Can ArgoCD and Flux be
used in conjunction?

  • A. ArgoCD and Flux cannot be used together as they have conflicting functionalities.
  • B. If you modify their source code, ArgoCD and Flux can only be used together.
  • C. ArgoCD and Flux can be used together, leveraging a drop-in extension for ArgoCD, ensuring that both reconciliation engines do not conflict.
  • D. ArgoCD and Flux cannot be used together as they are designed for different types of deployments.
Mark Question:
Answer:

C


Explanation:
ArgoCD and Flux are the two primary CNCF GitOps tools. While both are reconciliation engines, they
can be used together carefully if configured properly to avoid conflicts. For example, Flux can be used
to manage configuration sources, while ArgoCD handles application-level delivery. Extensions and
integration points allow them to complement each other.
“ArgoCD and Flux implement the GitOps reconciliation principle. Though they provide overlapping
functionality, they can be integrated by carefully managing their scope. For instance, Flux can
manage sources and Helm charts, while ArgoCD handles higher-level deployments. Extensions exist
to allow cooperation without conflict.”
Thus, the correct answer is C.
Reference: GitOps Tooling (CNCF GitOps Working Group).
===========

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000
To page 2