Courseiva

CCNA Tooling Questions

42 questions · Tooling · All types, answers revealed

1
MCQhard

When troubleshooting a Kyverno policy, which command should you use to check if a specific resource complies with the policy?

A.kubectl get policies
B.kyverno test
C.kubectl describe policy
D.kyverno apply
AnswerD

This CLI tool tests policies against resources.

Why this answer

The 'kyverno apply' command allows testing a policy against a local manifest to verify compliance before deployment.

2
MCQmedium

In ArgoCD, what does the 'Revision' field in an Application manifest represent?

A.The number of times the app has synced
B.The ArgoCD version
C.The specific git hash or branch being tracked
D.The version of the Helm chart
AnswerC

Revision points to the exact state in Git.

Why this answer

The 'Revision' field specifies the Git commit hash, tag, or branch that the application is currently synced to.

3
MCQmedium

An ArgoCD application is configured with 'SelfHeal' set to true. If a developer manually modifies a Deployment's replica count via kubectl, what happens?

A.ArgoCD reverts the change to match the Git state
B.The change is permanently accepted
C.ArgoCD flags the app as 'OutOfSync' but waits for manual intervention
D.The manual change is merged into Git
AnswerA

Self-heal ensures live state matches Git state.

Why this answer

With self-heal enabled, ArgoCD detects the discrepancy between the live state and Git state and automatically overwrites the live state with the Git version.

4
MCQhard

You are using Flux with Kustomize. You want to apply different configurations for production and staging, but both use the same base manifests. Which Kustomize feature allows this?

A.Post-build variables
B.Overlays
C.Flux Kustomization resource
D.Helm charts
AnswerB

Overlays are the standard Kustomize method for environment-specific configs.

Why this answer

Kustomize overlays allow patching the base manifests with environment-specific configurations.

5
Multi-Selectmedium

Which THREE of the following items are commonly found in a Flux 'GitRepository' manifest?

Select 3 answers
A.Git reference (branch/tag)
B.Reconciliation interval
C.Kubernetes node labels
D.Repository URL
E.Database password
AnswersA, B, D

Defines the version to track.

Why this answer

A GitRepository object defines the URL, the interval for polling, and the specific reference (branch or tag).

6
MCQeasy

Which GitOps tool relies primarily on a pull-based model utilizing the 'Source Controller' and 'Kustomization' custom resources?

A.Flux
B.ArgoCD
C.Terraform
D.Helm
AnswerA

Flux is defined by these core controllers.

Why this answer

Flux v2 is architected around specialized controllers, including the Source Controller and Kustomization Controller.

7
MCQmedium

You have a large ArgoCD installation and want to limit the blast radius. Which feature allows you to restrict which namespaces an application can deploy to?

A.ClusterRoleBinding
B.Sync policies
C.AppProject
D.ApplicationSet
AnswerC

AppProjects define destination clusters and namespaces.

Why this answer

AppProject resources are used to group applications and define strict cluster and namespace-level destination restrictions.

8
Multi-Selectmedium

Which TWO of the following are valid ways to trigger a sync in ArgoCD?

Select 2 answers
A.Sending a kill signal to the controller
B.Clicking 'Sync' in the ArgoCD UI
C.Webhook from Git repository
D.Deleting the Git repository
E.Restarting the API server
AnswersB, C

Manual triggered sync.

Why this answer

ArgoCD can be triggered via a manual UI action or through an automated webhook notification from a git provider.

9
Multi-Selectmedium

Which THREE of the following are common methods for managing secrets in a GitOps workflow?

Select 3 answers
A.External Secrets Operator
B.Sealed Secrets
C.Mozilla SOPS
D.Committing raw Kubernetes Secret YAMLs
E.Hardcoding credentials in Dockerfiles
AnswersA, B, C

Syncs secrets from external stores like Vault.

Why this answer

Sealed Secrets, SOPS, and External Secrets Operator (or Vault) are the industry standards for secrets in GitOps.

10
MCQhard

You are using Flux and want to pause reconciliation for a specific application without deleting the resource. Which field should you modify?

A.interval: 0
B.reconcile: false
C.suspend: true
D.pause: true
AnswerC

This field stops the controller from reconciling the resource.

Why this answer

The 'suspend: true' field in the Kustomization or HelmRelease resource pauses reconciliation for that specific object.

11
MCQmedium

You are using ArgoCD and need to ensure that secret values stored in Git via Sealed Secrets are decrypted only within the target cluster. What component performs the actual decryption of a SealedSecret resource?

A.GitOps CLI (kubeseal)
B.Kubernetes API Server
C.ArgoCD Application controller
D.Sealed Secrets controller
AnswerD

The controller uses the private key stored in the cluster to decrypt secrets.

Why this answer

The Sealed Secrets controller running in the target cluster holds the private key required to decrypt the SealedSecret into a standard Kubernetes Secret.

12
Multi-Selecteasy

Which TWO of the following tools allow for GitOps policy enforcement?

Select 2 answers
A.OPA Gatekeeper
B.Helm
C.ArgoCD
D.Flux
E.Kyverno
AnswersA, E

Standard policy engine for K8s.

Why this answer

OPA (Gatekeeper) and Kyverno are the two industry-standard policy engines for Kubernetes.

13
MCQeasy

Your organization requires that all Kubernetes manifest changes be signed and encrypted before being pushed to Git. Which tool is primarily designed for this 'at-rest' encryption approach?

A.Kyverno
B.Mozilla SOPS
C.Sealed Secrets
D.HashiCorp Vault
AnswerB

SOPS supports file-level encryption for various formats including YAML.

Why this answer

Mozilla SOPS is the standard tool for encrypting sensitive values within manifest files (like YAML) before they are committed to Git.

14
MCQmedium

You are using ArgoCD and need to inject a value into a manifest that is not present in Git, such as a temporary credential. Which feature would you use to do this dynamic injection?

A.Helm values override in Application manifest
B.Secret injection controller
C.Resource hooks
D.Git commit override
AnswerA

Values can be injected via the 'helm.parameters' field in the Application spec.

Why this answer

ArgoCD supports 'Helm parameters' or 'Kustomize vars', but specifically for dynamic external values, the 'argocd-vault-plugin' or similar sidecar approaches are common, but using 'Application parameters' is the core supported way to override Helm values.

15
MCQhard

You are debugging a flux-system reconciliation loop. You notice the Kustomization is stuck in 'Retrying'. What command shows the current status and reason for the failure?

A.flux get kustomizations
B.flux logs
C.kubectl describe kustomization
D.flux wait
AnswerA

This command displays status and reconciliation failure info.

Why this answer

The 'flux get kustomizations' command provides a summary including the status and any error messages.

16
MCQhard

You have a Git repository that contains multiple Kustomizations. You want Flux to update all of them based on a single trigger. How should you structure the repository?

A.Using one Git repo per application
B.Disabling Kustomize
C.Using a base directory and multiple overlays
D.Combining all manifests into one large file
AnswerC

This is the best-practice pattern for multi-environment management.

Why this answer

Using a base directory with common configurations and multiple overlay directories allows you to trigger updates across the entire hierarchy.

17
MCQmedium

You are using OPA Gatekeeper with GitOps. You want to prevent any deployment that does not have an 'owner' label. Where should this policy be applied to ensure it is enforced for all GitOps-driven changes?

A.Git pre-receive hook
B.Flux Source Controller
C.Validating Admission Webhook
D.ArgoCD AppProject
AnswerC

This ensures every request is checked against policies.

Why this answer

Validating admission webhooks (which Gatekeeper uses) enforce policies regardless of the source of the change, whether manual or GitOps.

18
MCQhard

You are using ArgoCD and need to ensure that a Helm chart is rendered correctly with a specific set of values. Where do you specify these values in the ArgoCD Application resource?

A.spec.syncPolicy.values
B.spec.parameters
C.spec.destination.values
D.spec.source.helm.values
AnswerD

This field manages value overrides for Helm charts.

Why this answer

The 'spec.source.helm.values' field allows for either direct YAML values or a reference to a values file within the repository.

19
Multi-Selecthard

Which THREE of the following are valid components of the ArgoCD architecture?

Select 3 answers
A.API Server
B.Application Controller
C.Repo Server
D.Source Controller
E.Kustomization Controller
AnswersA, B, C

Handles the UI and CLI requests.

Why this answer

ArgoCD core consists of the API server, the Repo Server, and the Application Controller.

20
MCQeasy

What is the primary function of the Flux Image Reflector Controller?

A.Enforcing policies
B.Scanning container registries for updates
C.Applying Kubernetes manifests
D.Encrypting secrets
AnswerB

It tracks metadata for images.

Why this answer

The Image Reflector Controller scans container registries and reflects image metadata into the cluster as ImageRepository objects.

21
MCQeasy

Which of these is a primary reason for using Helm charts in a GitOps workflow?

A.Encrypting all traffic
B.Replacing the need for Kubernetes
C.Creating Git commits automatically
D.Templating and packaging complex applications
AnswerD

Helm simplifies managing complex sets of manifests.

Why this answer

Helm charts allow packaging complex applications into a single templateable format, which is easier to version and manage than hundreds of individual YAML files.

22
Multi-Selectmedium

Which THREE of the following actions occur during an ArgoCD sync operation?

Select 3 answers
A.Comparing live state vs desired state
B.Deleting all existing pods
C.Rebuilding the application image
D.Applying updates to the cluster
E.Fetching latest manifests from Git
AnswersA, D, E

Diff generation phase.

Why this answer

The controller fetches the latest from Git, compares the live state to Git (diff), and applies updates to the cluster.

23
MCQeasy

What is the purpose of the 'SealedSecrets' custom resource?

A.Backing up Kubernetes secrets
B.Managing cluster-wide RBAC
C.Encrypting traffic between pods
D.Encrypting sensitive data for Git storage
AnswerD

It wraps secrets into an encrypted CRD.

Why this answer

It provides a way to commit encrypted secrets into Git that can only be decrypted by a controller running in the target cluster.

24
MCQhard

You are configuring Flux to manage a multi-tenant cluster. You need to ensure that specific namespaces only allow images from an internal registry. Which tool should you use to enforce this at admission time?

A.ArgoCD Notifications
B.Kyverno
C.Sealed Secrets
D.Flux Image Automation Controller
AnswerB

Kyverno policies can validate image registry sources during admission.

Why this answer

Kyverno is a Kubernetes-native policy engine that can restrict image registries via admission controllers.

25
Multi-Selectmedium

Which TWO of the following are key features of the Flux Kustomization controller?

Select 2 answers
A.Reconciling Kubernetes manifests
B.Direct integration with Jenkins
C.Post-build variable substitution
D.Hosting a private Git server
E.Managing container image build pipelines
AnswersA, C

Core function of the controller.

Why this answer

The Kustomization controller reconciles manifests and supports post-build variable substitution.

26
MCQeasy

What is a 'GitOps Operator'?

A.A human user who manages Git
B.A controller that continuously reconciles Git with cluster state
C.A CI/CD pipeline server
D.A Git server provider
AnswerB

Continuous reconciliation is the core function of a GitOps operator.

Why this answer

An operator is a Kubernetes controller that continuously reconciles the cluster state with a source of truth in a Git repository.

27
Multi-Selecthard

When using Kyverno, which THREE of the following can be used to validate Kubernetes resources?

Select 3 answers
A.SQL queries
B.Bash scripting
C.Conditional logic (if/then)
D.Pattern matching
E.JMESPath expressions
AnswersC, D, E

Allows complex validation rules.

Why this answer

Kyverno uses patterns, variable expressions, and conditional logic to define validation rules.

28
Multi-Selecthard

When using SOPS with Age, which THREE of the following are true regarding key management?

Select 3 answers
A.Multiple public keys can be added to one SOPS file
B.Private keys must be stored securely in the cluster
C.Age keys require an external KMS
D.Only one person can decrypt the files
E.Public keys are used for encryption
AnswersA, B, E

Allows team-based access control.

Why this answer

Age keys are file-based, can be stored as Kubernetes secrets, and allow for multiple public keys for team access.

29
MCQmedium

You are using ArgoCD to deploy an application. You notice that the Application status remains 'OutOfSync' even after manual refreshes. Which feature should you examine to determine if the controller is failing to reach the cluster API?

A.Project settings
B.ArgoCD App Details event log
C.ApplicationSet controller logs
D.Git repository webhooks
AnswerB

The events log captures controller-side errors related to sync status.

Why this answer

The 'App Details' view under the 'Sync' tab or the 'Events' log in the ArgoCD UI provides specific error messages regarding API connectivity and reconciliation failures.

30
MCQmedium

When using OPA Gatekeeper for policy enforcement, what resource is used to define the actual logic of the policy?

A.AdmissionRule
B.GatekeeperConfig
C.PolicyDefinition
D.ConstraintTemplate
AnswerD

This defines the Rego code for the policy.

Why this answer

A 'ConstraintTemplate' defines the Rego logic, while a 'Constraint' applies that logic to specific Kubernetes objects.

31
MCQeasy

Which GitOps tool provides a dedicated CLI called 'argocd'?

A.Kyverno
B.Flux
C.Helm
D.ArgoCD
AnswerD

The 'argocd' CLI is the standard interaction tool.

Why this answer

ArgoCD provides a powerful CLI tool for interacting with the ArgoCD API, managing applications, and checking sync states.

32
Multi-Selectmedium

When evaluating ArgoCD vs Flux, which TWO of the following are distinct advantages of using Flux?

Select 2 answers
A.Built-in web-based graphical dashboard
B.RBAC managed via UI
C.Visual sync waves
D.Modular, controller-based architecture
E.Native support for multi-repo reconciliation
AnswersD, E

Flux is composed of specialized controllers.

Why this answer

Flux is known for its modular controller-based architecture and its ability to handle multi-repo environments effectively without a centralized UI overhead.

33
Multi-Selecthard

When configuring Kyverno policies to secure a cluster, which TWO of the following actions can a policy perform?

Select 2 answers
A.Enforce policies by blocking requests
B.Provision new clusters
C.Manage Git repository webhooks
D.Automatically upgrade cluster nodes
E.Audit policies to report non-compliance
AnswersA, E

Policies can perform validation/mutation.

Why this answer

Kyverno policies can block unauthorized changes (enforce) or simply log them for reporting purposes (audit).

34
Multi-Selecthard

Which THREE of the following are essential tasks when implementing SOPS with GitOps?

Select 3 answers
A.Enabling Git LFS for encrypted files
B.Running a custom CI/CD build to decrypt
C.Configuring the KMS or local key (e.g., Age)
D.Storing the private key in the cluster as a secret
E.Creating a .sops.yaml config file
AnswersC, D, E

Required for encryption/decryption.

Why this answer

You must create the encryption key, integrate with the GitOps tool (Flux/Argo), and ensure the key is available to the controller as a Secret.

35
Multi-Selectmedium

Which TWO of the following are true about ArgoCD ApplicationSets?

Select 2 answers
A.They support multi-cluster generators
B.They are only for local clusters
C.They handle container image builds
D.They automate application creation
E.They replace the need for Git
AnswersA, D

Can deploy to multiple clusters based on rules.

Why this answer

ApplicationSets automate the generation of applications and support multi-cluster deployment via generators.

36
MCQmedium

In an ArgoCD environment, you notice that a specific set of resources is being ignored during sync. What field in the 'argocd-cm' ConfigMap or the Application manifest is likely responsible?

A.syncPolicy.automated.prune
B.resource.exclusions
C.ignoreDifferences
D.selfHeal
AnswerC

This field explicitly tells ArgoCD to ignore specified fields.

Why this answer

The 'ignoreDifferences' field allows users to exclude specific fields or resource paths from the sync reconciliation process.

37
MCQmedium

You are debugging an ArgoCD sync failure. You find the 'Sync Status' is 'Failed'. Where is the most detailed error information located?

A.Sync Result in Application UI
B.ApplicationSet status
C.Git log
D.ArgoCD repo server logs
AnswerA

This shows the specific error returned by the API server during the sync operation.

Why this answer

The 'Sync' tab in the ArgoCD UI provides the 'Sync Result' and 'Resource Details', which show specific error outputs from the Kubernetes API server.

38
MCQhard

You are managing secrets using SOPS with Age. You notice that Flux cannot decrypt the files. What is the most likely cause?

A.Missing private key secret in the flux-system namespace
B.SOPS version mismatch
C.Network latency
D.Incorrect git branch
AnswerA

Flux must be able to read the private key from a Secret to decrypt files.

Why this answer

Flux needs access to the private key (stored as a Kubernetes Secret) to decrypt SOPS-encrypted files during reconciliation.

39
MCQhard

When migrating from ArgoCD to Flux, you want to replicate the 'Sync Waves' behavior. Which Flux feature provides equivalent control over the order of resource reconciliation?

A.Post-sync hooks
B.dependsOn
C.Sync waves
D.Reconciliation intervals
AnswerB

The dependsOn field allows defining the order of reconciliation for Kustomizations.

Why this answer

Flux uses the 'dependsOn' field in the Kustomization resource to define ordered dependencies between objects.

40
MCQmedium

In a GitOps workflow, what is the best way to handle a configuration that must be different for production versus development clusters?

A.Copy-pasting the manifest files
B.Using environment variables
C.Kustomize overlays
D.Running multiple ArgoCD instances
AnswerC

Overlays are the standard solution for environment-specific differences.

Why this answer

Using Kustomize overlays allows you to maintain a common base and modify specific values for each environment.

41
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

Manual changes often cause drift.

Why this answer

Managing secrets securely and handling drift are the most frequent challenges in GitOps environments.

42
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

The cluster pulls from Git, so the CI doesn't need write access.

Why this answer

Pull models don't require the GitOps tool to have cluster admin credentials stored in the CI system, enhancing security.

Ready to test yourself?

Try a timed practice session using only Tooling questions.