Courseiva

CCNA Gitops Patterns Questions

64 questions · Gitops Patterns topic · All types, answers revealed

1
MCQeasy

What is the purpose of the 'destination' field in an Argo CD Application manifest?

A.It defines the sync frequency.
B.It defines the user who triggered the sync.
C.It defines the Git repository URL.
D.It defines the target Kubernetes cluster and namespace.
AnswerD

This is the required definition for the target environment.

Why this answer

The 'destination' field specifies the Kubernetes cluster (server) and namespace where the application resources should be applied.

2
Multi-Selectmedium

You are deploying applications across multiple clusters using Argo CD. You want to implement a hub-and-spoke model where the central management cluster controls all edge clusters. Which THREE of the following are necessary to correctly configure this pattern?

Select 3 answers
A.Install Argo CD control plane components on every edge cluster
B.Configure the 'server.enable.proxy' flag in the hub cluster
C.Ensure the service account for Argo CD has cluster-admin permissions on target clusters
D.Define Application projects to restrict cluster access
E.Create Argo CD cluster secrets in the management cluster namespace
AnswersC, D, E

The hub cluster must have sufficient RBAC permissions to manipulate resources on the spokes.

Why this answer

The hub-and-spoke pattern relies on cluster secrets, target cluster definitions, and proper project isolation.

3
MCQeasy

In the context of GitOps, what is 'Configuration Drift'?

A.A security vulnerability in the container image.
B.The movement of traffic between blue and green environments.
C.The difference between the cluster state and the Git repository state.
D.The time taken for a Git commit to reach the production cluster.
AnswerC

This is the standard definition of drift.

Why this answer

Drift occurs when the actual state of the infrastructure or application in the cluster deviates from the intended state defined in Git.

4
MCQmedium

You notice your GitOps operator is performing too many API calls to the Kubernetes API server. What is the most likely configuration issue?

A.The sync policy 'syncPeriod' is set too low.
B.The Git repo is too large.
C.The operator has too many permissions.
D.The cluster is running too many pods.
AnswerA

Frequent polling creates heavy traffic on the K8s API server.

Why this answer

An aggressive sync interval or a very large number of managed resources without caching can cause excessive API load.

5
Multi-Selecthard

Which THREE of the following are necessary to prevent 'Secret Sprawl' in a multi-cluster environment? (Select three)

Select 3 answers
A.Using External Secrets Operator to sync secrets to specific namespaces.
B.Using a dedicated Secret Management system (e.g., HashiCorp Vault).
C.Applying RBAC policies to ensure only specific apps can access secrets.
D.Granting 'cluster-admin' to the GitOps operator service account.
E.Storing encrypted secrets in the Git repository.
AnswersA, B, C

This limits the blast radius of secrets.

Why this answer

To prevent secrets from being exposed everywhere, you should use tools like External Secrets, namespace-scoped secrets, and avoid putting sensitive data directly into the Git repository.

6
MCQhard

When using Argo CD, how do you handle applications that require resources to be created in a specific order (e.g., CRDs before Operators)?

A.Use multiple Git repositories.
B.Disable automated sync and run it twice.
C.Use syncWaves annotations.
D.Use a single massive YAML file.
AnswerC

SyncWaves explicitly control the order of execution.

Why this answer

Argo CD 'syncWaves' allow you to assign a numerical value to resources, ensuring they are applied in the correct sequence.

7
MCQmedium

You are troubleshooting a multi-cluster Argo CD deployment where the 'staging' cluster is healthy but 'production' cluster is 'OutOfSync' despite having the same manifest source. Why might this happen?

A.The production cluster has a newer version of the Kubernetes API.
B.A manual 'kubectl apply' was performed on the production cluster.
C.The 'staging' cluster is using a different Argo CD instance.
D.The Git repo is only cloned to the staging cluster.
AnswerB

Manual changes cause drift, which Argo CD detects as 'OutOfSync' when it compares Git state to the actual cluster state.

Why this answer

Argo CD evaluates the state of the cluster against the Git definition. If a manual change or a different controller (like a Helm release) has altered the cluster state, the sync status will reflect a mismatch.

8
MCQhard

Your organization uses a 'Git-branch-per-environment' strategy. You notice that hotfixes applied to the 'production' branch are being overwritten by automatic merges from the 'staging' branch. Which GitOps promotion pattern should you adopt to prevent this drift?

A.Enable Argo CD 'automated.allowEmpty' sync options.
B.Switch to a repository structure using Kustomize overlays with a single branch.
C.Implement an automated CI job to force push the staging branch to production.
D.Use Argo CD ApplicationSets with a 'git' generator to deploy only from the main branch.
AnswerB

Using Kustomize overlays allows you to keep one branch as the source of truth, avoiding merge conflicts between environment branches.

Why this answer

The 'Pull Request based promotion' pattern ensures that changes are explicitly reviewed and merged from staging to production, rather than relying on automated long-running branch merges that cause conflicts.

9
MCQmedium

During a blue-green deployment, what is the primary role of the traffic manager (e.g., Istio or Nginx Ingress)?

A.To build the container image.
B.To monitor the Git repository for changes.
C.To split traffic between versions to reduce risk.
D.To store application logs.
AnswerC

Traffic management enables controlled cutovers.

Why this answer

In blue-green deployments, the traffic manager performs the switch to route users from the old (blue) version to the new (green) version once validation is complete.

10
Multi-Selectmedium

Which THREE of the following are valid components or patterns used in Progressive Delivery with GitOps? (Select THREE)

Select 3 answers
A.Git-Branch-Per-Environment
B.AnalysisTemplates
C.Argo Rollouts
D.Argo Workflows
E.Blue-Green Deployment
AnswersB, C, E

AnalysisTemplates define the metrics to evaluate for a successful rollout.

Why this answer

Argo Rollouts, AnalysisTemplates, and blue-green deployments are all core components and patterns used to achieve progressive delivery within a GitOps ecosystem.

11
MCQhard

You are implementing progressive delivery using Flagger. After a Canary resource is defined, which metric is most critical for Flagger to automatically rollback a deployment during a blue/green shift?

A.Pod CPU usage
B.Number of running replicas
C.Request success rate and latency metrics
D.Git commit hash parity
AnswerC

Flagger specifically monitors service mesh or ingress metrics to decide if a traffic shift is safe.

Why this answer

Flagger uses analysis templates to evaluate Prometheus metrics; if the error rate or latency thresholds are exceeded, it triggers a rollback.

12
MCQmedium

Which Argo CD feature allows you to manage multiple applications with shared configuration?

A.ApplicationSets.
B.Sync Waves.
C.Application Projects.
D.Resource Hooks.
AnswerA

This is the intended use case for ApplicationSets.

Why this answer

Argo CD 'ApplicationSets' support templating, allowing you to define a base configuration and apply it across multiple applications dynamically.

13
MCQmedium

In a multi-cluster GitOps architecture using Argo CD, how do you manage credentials for a remote cluster that is not the cluster where Argo CD resides?

A.Modify the global ConfigMap in the Argo CD namespace
B.Add the cluster URL to the Git repository manifest
C.Use the argocd cluster add command to store credentials as a secret in the Argo CD namespace
D.Manually create a Kubernetes secret in the remote cluster
AnswerC

This is the standard, secure way to register a remote cluster for GitOps management.

Why this answer

You must add the remote cluster's API server and authentication credentials to Argo CD using the 'argocd cluster add' command, which stores the secret in the Argo CD namespace.

14
MCQeasy

What is the main advantage of using a 'Declarative' approach to system management?

A.It requires less storage in Git.
B.It allows you to skip CI/CD testing.
C.You can use imperative commands like 'kubectl run'.
D.It makes system state predictable and reproducible.
AnswerD

This is the main benefit of declarative GitOps.

Why this answer

Declarative systems allow you to define 'what' the state should be, and the system automatically figures out the steps to get there, making it predictable and repeatable.

15
MCQhard

You are using a 'Pull' based GitOps model (e.g., Flux or Argo CD). Why is it considered more secure than a 'Push' based CI/CD model?

A.It allows faster deployment times.
B.It does not require a container registry.
C.It is easier to configure with SSH keys.
D.It eliminates the need for cluster credentials on the CI server.
AnswerD

The cluster manages its own authentication, increasing security.

Why this answer

In a Pull model, the cluster agent pulls changes from Git. The cluster does not need inbound firewall access from the CI/CD server, and no secrets are stored on the CI server.

16
MCQmedium

You want to promote a microservice from staging to production using the 'Git Branch' strategy. Which configuration allows you to ensure the exact same container image SHA is used across both environments?

A.Manually update the container image using kubectl edit.
B.Use a common Helm chart with environment-specific values files.
C.Use a different container registry for production.
D.Change the image tag to 'production' in the deployment manifest.
AnswerB

Keeping the chart constant and varying the values (including the image SHA) is the standard GitOps practice for promotion.

Why this answer

Using image tags like 'latest' is non-deterministic. Referencing the specific SHA in the Git manifest for the production branch ensures consistency.

17
MCQmedium

You are implementing progressive delivery with Flagger. You notice that the canary analysis is failing despite the new version being stable. What is the most common reason for this?

A.The deployment strategy is set to 'Immediate' instead of 'Canary'.
B.The Prometheus query for success rate is returning no data.
C.The Git repository is in read-only mode.
D.The service mesh sidecar is missing the 'canary' annotation.
AnswerB

If Flagger cannot retrieve the metrics defined in the analysis template, it defaults to a failed state.

Why this answer

Flagger requires specific metrics (like HTTP request success rate) to be present to validate a canary. If the metrics provider (e.g., Prometheus) is not configured, the analysis cannot proceed.

18
MCQeasy

What does the 'prune' policy in GitOps do?

A.It deletes resources from the cluster that are no longer in Git.
B.It cleans up old container logs.
C.It synchronizes the Git repo with the latest upstream changes.
D.It restarts pods that have been running for too long.
AnswerA

This is the core function of pruning in GitOps.

Why this answer

Pruning removes resources from the cluster that are no longer defined in the source Git repository, ensuring the cluster only contains what is declared.

19
MCQhard

In a multi-cluster environment, you are managing resources across 50 clusters. Which pattern prevents the 'Control Plane' bottleneck?

A.Storing all YAML in a single massive monorepo.
B.Manual kubectl context switching.
C.ApplicationSets with Cluster Generators.
D.Centralized Cluster Management.
AnswerC

ApplicationSets allow for dynamic cluster discovery and distributed reconciliation.

Why this answer

The 'Hub-and-Spoke' pattern with local agents (like Argo CD ApplicationSets or Flux controllers on each cluster) prevents a single central controller from having to manage thousands of API connections.

20
MCQmedium

Your organization uses the App-of-Apps pattern in Argo CD to manage hundreds of microservices. You need to ensure that when a developer updates a repository structure, the root application automatically discovers and syncs new child applications without manual intervention. Which feature should be enabled in the Application resource?

A.Use the 'ignoreDifferences' field for the child application manifests
B.Enable automated sync policy with self-healing and allow-empty
C.Set the sync policy to 'manual' and use a post-sync hook
D.Configure a manual webhook trigger on the root application
AnswerB

Self-healing ensures the live state matches the desired state defined in Git, while automatic sync ensures new directories are picked up.

Why this answer

The self-healing and automated sync policies, combined with directory recursion, allow the App-of-Apps pattern to maintain state automatically.

21
Multi-Selectmedium

Which TWO of the following help ensure successful multi-cluster GitOps rollouts? (Select two)

Select 2 answers
A.Deploying to all clusters at the same time.
B.Using only one Git repository for all cluster configurations.
C.Using canary deployment phases per cluster group.
D.Grouping clusters by geography or environment for staggered rollouts.
E.Hardcoding cluster IPs in the manifest files.
AnswersC, D

This limits the impact of potential failures.

Why this answer

Phased rollouts and cluster grouping ensure that if a deployment fails, it is contained to a specific set of clusters rather than the entire fleet.

22
Multi-Selecthard

Which THREE of the following represent advanced GitOps patterns for multi-cluster management? (Select three)

Select 3 answers
A.ApplicationSets with custom generators.
B.GitOps-driven traffic management with Service Mesh.
C.Policy-as-Code for multi-cluster compliance.
D.Always using a single cluster for everything.
E.Using manual shell scripts for cluster provisioning.
AnswersA, B, C

This is the gold standard for scaling.

Why this answer

Advanced patterns include using ApplicationSets for dynamic generation, using Git submodules or monorepos for structure, and implementing policy-driven deployments.

23
MCQhard

When configuring an App-of-Apps pattern, which field in the 'Application' manifest controls the order in which child applications are deployed?

A.argocd.argoproj.io/sync-wave
B.spec.project
C.spec.syncPolicy.automated.prune
D.spec.source.targetRevision
AnswerA

The 'sync-wave' annotation is the standard way to order the synchronization of resources within Argo CD.

Why this answer

The 'syncPolicy.syncOptions' field, specifically 'ApplyOutOfSyncOnly=true' or using 'wave' annotations, manages deployment ordering. However, standard Argo CD 'syncWaves' are the primary mechanism for ordering resources within an app.

24
MCQmedium

What happens if the 'revision' in an Argo CD Application points to a branch that does not exist?

A.It will create the branch automatically.
B.It will stop the Argo CD controller.
C.The application will be marked as 'Invalid' or 'Degraded'.
D.It will sync the 'main' branch instead.
AnswerC

Argo CD cannot pull the manifest, leading to an error status.

Why this answer

Argo CD will report an 'Invalid' state because it cannot resolve the target revision specified in the manifest.

25
MCQmedium

You want to use Helm for your GitOps deployments. Where should the 'values.yaml' file reside for environment-specific overrides?

A.In the Git repository, per environment.
B.In a local machine folder not tracked by Git.
C.In the Argo CD global settings.
D.Inside the container image.
AnswerA

This allows GitOps to manage environment-specific configurations.

Why this answer

Environment-specific values files (e.g., values-prod.yaml) are typically stored in the Git repository alongside the chart or in a separate environment-specific folder, allowing for clear separation of concerns.

26
Multi-Selecteasy

Which THREE of the following are benefits of using the App-of-Apps pattern? (Select THREE)

Select 3 answers
A.Centralized management of multiple applications.
B.Elimination of the need for Helm.
C.Simplified visualization of related applications in the UI.
D.Ability to sync all related applications with one click.
E.Automatic promotion of code between environments.
AnswersA, C, D

It allows managing a fleet of applications from a single root.

Why this answer

The App-of-Apps pattern simplifies management by providing a single point of visibility, enabling bulk operations, and allowing for hierarchical organization of applications.

27
MCQmedium

You are performing a Canary deployment using Argo Rollouts. You notice that the analysis template is failing even though the metrics are within range. What is the most common cause of this in a GitOps workflow?

A.The analysis template is missing the 'rollback' flag.
B.The Prometheus metric query does not match the 'args' passed from the Rollout object.
C.The Rollout image version is not updated in the Git repository.
D.The ReplicaSet is failing to scale to the desired state.
AnswerB

AnalysisTemplates rely on accurately passed arguments to correctly query the metrics provider.

Why this answer

If the analysis template fails despite metrics being valid, the culprit is often an incorrectly configured 'provider' field pointing to the wrong Prometheus endpoint or incorrect authentication credentials within the secret referenced by the analysis run.

28
Multi-Selecthard

Which THREE of the following are true about 'Resource Hooks' in Argo CD? (Select three)

Select 3 answers
A.They can be triggered pre-sync, post-sync, or on-sync-fail.
B.They are defined using Kubernetes annotations.
C.They replace the need for the CI/CD pipeline.
D.They run as standard pods in the cluster.
E.They allow for custom logic during the deployment lifecycle.
AnswersA, B, E

These are the standard hook phases.

Why this answer

Hooks allow execution of pre/post-sync logic, such as database migrations or notifications, as part of the sync process.

29
MCQmedium

You are using the App-of-Apps pattern in Argo CD to manage hundreds of microservices. You notice that the parent application is stuck in a 'Syncing' state indefinitely. What is the most likely cause?

A.The parent application is not using a Helm chart source.
B.The Argo CD API server has exceeded its connection limit.
C.The child application's manifests include the parent application as a dependency.
D.The parent application is missing the sync-policy configuration.
AnswerC

A circular dependency occurs when a child application defines the parent as a source, preventing the sync process from completing.

Why this answer

In an App-of-Apps pattern, if the parent application has 'self-heal' or 'prune' enabled, it may conflict with child applications if the sync policy is misconfigured, often caused by circular dependencies or the parent attempting to manage its own child resources.

30
MCQmedium

In a GitOps promotion pipeline, why is it recommended to tag container images with a unique Git commit SHA instead of 'latest'?

A.Because the container registry requires unique SHAs.
B.To reduce the size of the container image.
C.Because 'latest' is deprecated by Docker.
D.To ensure immutability and auditability.
AnswerD

SHA-based tagging is essential for reliable GitOps.

Why this answer

Using the Git commit SHA provides traceability and immutability. 'Latest' is a mutable tag that can point to different versions over time, making rollbacks impossible.

31
MCQeasy

When deploying across multiple clusters using Argo CD, you need to ensure that specific secrets are only available to clusters located in the 'us-east' region. Which resource should you use to enforce this segregation?

A.AppProject
B.ConfigMap
C.ApplicationSet
D.ClusterRoleBinding
AnswerA

AppProject allows you to define destination restrictions, including cluster and namespace whitelisting.

Why this answer

Argo CD AppProject objects are designed specifically to restrict cluster access and namespace access, making them the correct tool for multi-cluster security and segregation.

32
Multi-Selectmedium

Which TWO of the following are features of progressive delivery in GitOps? (Select two)

Select 2 answers
A.Gradual traffic shifting between application versions.
B.Manually logging into pods to check health.
C.Automated rollback based on custom metrics.
D.Immediate deployment of all changes to the entire cluster.
E.Removing all health checks from the application.
AnswersA, C

This minimizes risk by exposing only a subset of users.

Why this answer

Progressive delivery allows for safer deployments by limiting the blast radius through canary or blue-green releases and automated metric-based rollbacks.

33
Multi-Selectmedium

Which TWO of the following are valid strategies for promoting an application from staging to production in GitOps? (Select two)

Select 2 answers
A.Deleting the application and recreating it.
B.Running a 'kubectl rollout undo' command manually.
C.Merging a pull request from a staging branch to a production branch.
D.Bypassing the CI/CD pipeline by pushing directly to the cluster.
E.Updating the environment-specific values file in the production directory.
AnswersC, E

This is a standard promotion practice.

Why this answer

Promotion strategies include changing the Git reference (branch/tag) or updating the values file within a single repository path.

34
MCQmedium

You are using Kustomize 'overlays' for environment promotion. If you need to add a specific label to all resources in production but not in staging, where should you define it?

A.In the 'overlays/production' kustomization.yaml file.
B.In the global GitOps config map.
C.By modifying the manifest manually after deployment.
D.In the 'base' directory kustomization.yaml file.
AnswerA

The overlay is the correct location for environment-specific customizations.

Why this answer

Kustomize overlays are designed to layer changes on top of a base. The production overlay allows for patching or adding specific labels that don't exist in the base.

35
MCQeasy

What is the primary benefit of using a 'Git Branch' promotion pattern over a 'Directory-based' promotion pattern?

A.It eliminates the need for CI pipelines.
B.It allows teams to use PRs to review configuration changes for specific environments.
C.It requires less storage space in the Git repository.
D.It automatically synchronizes all branches to the cluster simultaneously.
AnswerB

Branch isolation allows for formal review processes per environment, reducing the risk of configuration drift.

Why this answer

Branch-based promotion allows for better isolation of changes, enabling PR reviews for individual environments and preventing accidental merges to production.

36
MCQeasy

You are managing a large-scale deployment using the App-of-Apps pattern in Argo CD. Which resource type do you primarily use as the parent application to reference child application manifests?

A.Application
B.SyncPolicy
C.ArgoCD Project
D.AppProject
AnswerA

An Application resource acts as the parent container that synchronizes sub-applications.

Why this answer

The App-of-Apps pattern uses a root Application resource that points to a directory or Git repository containing multiple other Application resources.

37
MCQeasy

You have a GitOps pipeline where you want to promote a change from Staging to Production. Using Argo CD, what is the recommended way to perform this promotion?

A.Update the ApplicationSet generator to point to a different branch.
B.Run 'argocd app sync' pointing to the staging image.
C.Update the version in the Git manifest for the Production Application and commit.
D.Use the 'kubectl patch' command on the production deployment.
AnswerC

This follows the GitOps principle of declarative state changes in Git.

Why this answer

Updating the image tag or configuration in the Production folder/branch within the Git repository is the standard GitOps way to trigger a promotion, as it maintains Git as the single source of truth.

38
Multi-Selecthard

Which THREE of the following are essential security practices for GitOps? (Select three)

Select 3 answers
A.Giving every developer direct 'cluster-admin' access.
B.Strict RBAC for both the Git repository and the Kubernetes cluster.
C.Using OPA Gatekeeper to enforce security policies on manifests.
D.Encrypting secrets before storing them in Git (e.g., SOPS).
E.Sharing the Git repository password with all cluster users.
AnswersB, C, D

This is foundational for secure operations.

Why this answer

GitOps security relies on repository access controls, secret management, and policy enforcement (like OPA) to ensure the system remains compliant.

39
MCQeasy

Which of the following is a core principle of GitOps?

A.Manual intervention is required to scale deployments.
B.Developers should have direct 'cluster-admin' access.
C.The system state is defined in a version-controlled repository.
D.The system state is defined by the latest CI pipeline execution.
AnswerC

This is the foundational definition of GitOps.

Why this answer

GitOps defines the desired state in a version-controlled repository, which acts as the 'single source of truth'.

40
MCQeasy

What is the primary role of the 'Reconciler' in a GitOps operator?

A.To delete old pods to save memory.
B.To send notifications to Slack.
C.To build images.
D.To match the actual state to the desired state.
AnswerD

This is the core loop of GitOps operators.

Why this answer

The reconciler continuously monitors the cluster and the target state (Git), identifying differences and applying actions to make the cluster match the Git definition.

41
Multi-Selectmedium

Which THREE of the following are benefits of the 'App-of-Apps' pattern? (Select three)

Select 3 answers
A.It enables hierarchical synchronization of applications.
B.It ensures all applications use the exact same image tag.
C.It allows for grouping applications by project or business unit.
D.It simplifies the management of large numbers of applications.
E.It eliminates the need for container registries.
AnswersA, C, D

The parent can coordinate the rollout of children.

Why this answer

App-of-Apps simplifies large scale management, allows for grouping of related services, and enables hierarchical control of GitOps deployments.

42
MCQmedium

What is the primary function of an 'ApplicationSet' in Argo CD?

A.To perform unit testing on manifests.
B.To automate the creation of Argo CD Applications.
C.To manage cluster security policies.
D.To automatically update the Git repo with new commits.
AnswerB

ApplicationSets simplify management for large-scale environments.

Why this answer

ApplicationSets allow for the automated generation of one or more applications from a single template, based on generators like Cluster, List, or Git.

43
MCQhard

You are using Argo Rollouts for progressive delivery. You want to execute a 'AnalysisRun' before switching traffic. Where is the 'AnalysisTemplate' defined?

A.In the Argo CD global configuration file.
B.As a Kubernetes resource in Git.
C.Hardcoded in the application binary.
D.By the Service Mesh control plane directly.
AnswerB

These are managed as standard K8s manifests.

Why this answer

The AnalysisTemplate is a Kubernetes resource that defines the metric queries and thresholds. It is often stored in the same Git repository as the application manifests.

44
MCQhard

In a multi-cluster GitOps environment, you are using the ApplicationSet controller with a 'Cluster Generator'. You need to add a new cluster dynamically without modifying the ApplicationSet manifest. How should you achieve this?

A.Update the ApplicationSet manifest via a manual Git commit.
B.Add a secret with the label 'argocd.argoproj.io/secret-type: cluster' to the management cluster.
C.Execute 'argocd cluster add' via the CLI.
D.Modify the 'clusters.yaml' file in the root Git repository.
AnswerB

Argo CD automatically discovers clusters defined by these secrets.

Why this answer

The Cluster Generator can watch for new Kubernetes Secrets with the label 'argocd.argoproj.io/secret-type: cluster'. Once a new secret is added with this label, the controller automatically detects it and deploys the applications.

45
Multi-Selectmedium

When implementing multi-cluster GitOps, which THREE components are critical for success? (Select three)

Select 3 answers
A.Secure communication channel (e.g., mTLS/VPN) between management and targets.
B.A centralized management cluster (Hub).
C.A shared database for all clusters to store secrets.
D.Environment-specific configuration separation (e.g., Kustomize overlays).
E.Uniform network latency across all clusters.
AnswersA, B, D

This is required for the controller to talk to the API server.

Why this answer

A robust multi-cluster strategy requires a centralized management plane, a way to handle environment-specific differences, and secure connectivity between the hub and spoke clusters.

46
Multi-Selectmedium

Which THREE of the following are effective ways to handle 'Configuration Drift' in a GitOps environment? (Select three)

Select 3 answers
A.Use Admission Controllers to block manual modifications.
B.Monitor 'OutOfSync' status via dashboards or alerts.
C.Deleting the cluster and recreating it daily.
D.Manual syncing every hour to fix issues.
E.Enable self-healing/automated sync in the GitOps operator.
AnswersA, B, E

This prevents drift before it happens.

Why this answer

Drift can be managed by enabling self-healing, using admission controllers to block non-Git changes, and regular auditing/monitoring of the sync status.

47
MCQmedium

When promoting an application from staging to production using the 'GitOps directory' pattern, what is the most robust way to ensure environment-specific configurations are applied correctly?

A.Using Kustomize overlays for each environment
B.Hardcoding environment names inside the main deployment file
C.Dynamic shell scripting in the CI pipeline
D.multiple_choice
E.Copy-pasting YAML files across folders
AnswerA

Overlays are the standard GitOps pattern for maintaining environment-specific differences from a common base.

Why this answer

Using Kustomize overlays allows for a base configuration with environment-specific patches, ensuring no drift between environments.

48
Multi-Selecteasy

Which TWO of the following are essential when using Helm in a GitOps workflow? (Select two)

Select 2 answers
A.Ignoring the chart dependencies.
B.Defining environment-specific overrides in values files.
C.Installing Helm manually on every node in the cluster.
D.Always using the 'latest' version of the chart.
E.Storing the Helm chart and values in a Git repository.
AnswersB, E

This is required for environment promotion.

Why this answer

GitOps with Helm requires versioning charts and tracking the specific values files used for each deployment environment.

49
Multi-Selectmedium

Which TWO of the following are common benefits of using a 'GitOps Operator'? (Select two)

Select 2 answers
A.They manually restart the server every time a change is detected.
B.They require the user to have cluster-admin privileges to see the logs.
C.They provide a single, declarative source of truth.
D.They automate the drift detection and correction loop.
E.They eliminate the need for container images.
AnswersC, D

This is a key benefit.

Why this answer

Operators provide continuous reconciliation of state and enable declarative management, reducing manual operational burden.

50
MCQmedium

Which mechanism is used in a GitOps workflow to ensure that a 'Canary' deployment successfully rolls back if error rates spike?

A.Kubernetes Liveness Probes.
B.Argo Rollouts 'pause' condition.
C.Git revert commands via CI/CD.
D.Flagger AnalysisTemplates.
AnswerD

These templates define the thresholds and rollback logic for progressive delivery.

Why this answer

Flagger monitors metrics via a provider (e.g., Prometheus) during the canary phase. If thresholds are exceeded, it automatically triggers a rollback to the previous version.

51
MCQmedium

What is the impact of enabling 'selfHeal' in an Argo CD Application sync policy?

A.It automatically creates backups of the cluster state.
B.It automatically patches the application with the latest security updates.
C.It disables the UI for that application.
D.It automatically reverts manual changes to the cluster.
AnswerD

This is the definition of self-healing in Argo CD.

Why this answer

If 'selfHeal' is true, Argo CD will automatically overwrite any manual changes made to the cluster, reverting it to the Git-defined state.

52
MCQmedium

Why would you choose to use 'Kustomize' over 'Helm' in a GitOps workflow?

A.Because it avoids complex templating logic.
B.Because Kustomize is the only tool Argo CD supports.
C.Because it supports more advanced logic than Helm.
D.Because Kustomize requires a server-side component.
AnswerA

Kustomize's simplicity is its primary advantage.

Why this answer

Kustomize is template-free, meaning it uses raw YAML, which is often easier to debug and avoids the 'helm hell' of deeply nested template complexity.

53
MCQhard

In a blue-green progressive delivery deployment using Flagger, you notice that the 'primary' service is not receiving traffic even after the analysis successfully completes. What is the most likely cause?

A.The analysis template lacks the 'weight' parameter
B.The Flagger controller is in 'paused' mode
C.The VirtualService or HTTPRoute is not pointing to the primary service
D.The canary resource is missing a 'host' definition
AnswerC

If the traffic router is not updated to point to the primary service, traffic remains on the canary or old version.

Why this answer

Flagger requires the primary service to be defined correctly for traffic shifting to occur.

54
Multi-Selectmedium

Which TWO of the following are common reasons for a deployment to be marked as 'Degraded' by Argo CD? (Select two)

Select 2 answers
A.The user manually changed a label.
B.The health checks defined for the application are failing.
C.The Argo CD controller is overloaded.
D.The Git repository is temporarily offline.
E.The application pods are in a 'CrashLoopBackOff' state.
AnswersB, E

If the resource fails health checks, it is 'Degraded'.

Why this answer

'Degraded' status often occurs when pods fail to start (e.g., CrashLoopBackOff) or when health checks defined in the manifest are not met.

55
Multi-Selectmedium

Which THREE of the following are standard ways to organize a Git repository for a multi-tenant environment? (Select three)

Select 3 answers
A.Storing all secrets in plain text in the root folder.
B.Using labels to filter resources for different tenants.
C.Separate Git repository per business unit/tenant.
D.Folder-per-environment structure within one repository.
E.Hardcoding all cluster IPs in a single global config.
AnswersB, C, D

This is a common way to manage multitenancy.

Why this answer

Organization patterns include project-based repos, environment-based folders, or using ApplicationSets to dynamically separate tenants.

56
Multi-Selecthard

Which THREE of the following are common challenges when scaling GitOps to hundreds of clusters? (Select three)

Select 3 answers
A.The need for a dedicated team just to write Dockerfiles.
B.Automatic rollbacks when the Git repo is empty.
C.Performance degradation of the central GitOps controller.
D.Increased dependency on internet speed.
E.The complexity of secret management across multiple environments.
AnswersB, C, E

If not configured properly, empty repos can trigger unintended removals.

Why this answer

Scaling challenges include managing the overhead of the controller, handling secret distribution, and ensuring that temporary outages do not lead to massive drift across the fleet.

57
Multi-Selecthard

Which TWO of the following configurations are necessary to ensure that GitOps-managed clusters in a multi-cluster setup remain isolated from one another? (Select TWO)

Select 2 answers
A.Disabling the GitOps controller on the management cluster.
B.Implementing unique namespaces for each application.
C.Restricting cluster destinations in the AppProject object.
D.Using the same Git repository for all clusters.
E.Enabling 'automated.prune' on all applications.
AnswersB, C

Namespace isolation is critical for preventing cross-application interference.

Why this answer

Using dedicated AppProjects per cluster and strict namespace-level RBAC ensures that GitOps controllers cannot accidentally deploy or interfere with resources in unauthorized clusters.

58
MCQmedium

When setting up a multi-cluster GitOps pattern, what is the benefit of using 'Cluster Labels' in ApplicationSets?

A.It increases the speed of the Git clone.
B.It allows dynamic targeting of clusters based on attributes.
C.It reduces the number of namespaces required.
D.It encrypts the communication between clusters.
AnswerB

This enables flexible and automated cluster management.

Why this answer

Cluster labels allow you to dynamically select which clusters to deploy to based on attributes (e.g., env=prod), providing a scalable way to target subsets of your infrastructure.

59
MCQmedium

When managing multiple environments (dev/stage/prod) in one repository, which folder structure is generally considered best practice?

A.Storing configurations in the application code folder.
B.Putting everything in a single root folder.
C.Using different Git repos for every single manifest.
D.Using environment-specific folders.
AnswerD

This is the industry-standard structure for GitOps repositories.

Why this answer

Keeping environment configurations in separate folders (e.g., /overlays/dev, /overlays/prod) allows for clear separation and prevents accidental configuration bleeding.

60
MCQhard

In a multi-cluster GitOps setup using Argo CD, you need to ensure that specific secrets are only synced to a production cluster. Which approach is the most secure?

A.Use Argo CD 'Project' resource to limit which namespaces secrets can be synced to.
B.Store secrets in Git as plain text and use a private repository.
C.Use Helm post-render hooks to inject secrets at runtime.
D.Enable 'AllowClusterResources' in the global configuration.
AnswerA

Argo CD Projects allow for strict destination constraints, ensuring secrets only reach authorized cluster destinations.

Why this answer

Using External Secrets Operator with cluster-specific namespaces or Argo CD Project-level restrictions allows you to segregate secret access effectively.

61
MCQhard

If you have a multi-cluster setup and you want to ensure that 'production' clusters only pull images from a hardened internal registry, how can you enforce this in GitOps?

A.By changing the Argo CD global settings.
B.By hardcoding the registry URL in every pod manifest.
C.By updating the Git repository access permissions.
D.Using Admission Controllers to enforce policy.
AnswerD

This provides automated and consistent enforcement.

Why this answer

Using Admission Controllers (e.g., OPA Gatekeeper or Kyverno) triggered by the GitOps deployment ensures that only images from approved registries are admitted into the cluster.

62
MCQeasy

In GitOps, what is the 'Source of Truth'?

A.The running Kubernetes cluster.
B.The CI pipeline logs.
C.The container registry.
D.The Git repository.
AnswerD

Git is the declarative definition of the state.

Why this answer

The Git repository is the single source of truth for the desired state of the infrastructure and applications.

63
Multi-Selecteasy

Which TWO of the following are true about the 'Pull' model in GitOps? (Select two)

Select 2 answers
A.It improves security by removing the need for cluster credentials in CI.
B.It allows the cluster to self-reconcile state changes.
C.It is only supported for Helm charts.
D.It requires opening an inbound port on the cluster firewall.
E.It requires the CI pipeline to be active 24/7.
AnswersA, B

This is a key security advantage.

Why this answer

The pull model uses an internal controller to fetch desired state from Git, which is more secure and reliable than pushing from an external CI system.

64
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 automate the generation of Applications for multiple clusters.

Why this answer

ApplicationSets use generators (like the Cluster generator) to dynamically create Applications based on cluster list, significantly reducing configuration overhead.

Ready to test yourself?

Try a timed practice session using only Gitops Patterns questions.