Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is FluxCD in the context of Kubernetes?
FluxCD is a tool that automates the deployment of container images and configuration changes to Kubernetes clusters, enabling continuous delivery by syncing Git repositories with the cluster state.
Click to reveal answer
beginner
How does FluxCD use Git in continuous delivery?
FluxCD treats Git as the single source of truth. It continuously monitors Git repositories for changes and applies those changes automatically to the Kubernetes cluster, ensuring the cluster matches the desired state defined in Git.
Click to reveal answer
intermediate
What is a GitRepository resource in FluxCD?
A GitRepository resource in FluxCD defines the location and credentials of a Git repository that FluxCD will watch for changes to deploy to the Kubernetes cluster.
Click to reveal answer
intermediate
Explain the role of the Kustomization resource in FluxCD.
The Kustomization resource tells FluxCD which manifests to apply from the Git repository, how often to sync, and how to handle dependencies, enabling customization of Kubernetes resources during deployment.
Click to reveal answer
beginner
What happens if the Kubernetes cluster drifts from the desired state in Git when using FluxCD?
FluxCD detects the drift and automatically reconciles the cluster back to the desired state defined in Git, ensuring consistency and reliability in deployments.
Click to reveal answer
What is the main purpose of FluxCD?
AMonitor Kubernetes cluster health
BBuild container images from source code
CAutomate continuous delivery by syncing Git with Kubernetes
DManage Kubernetes user access
✗ Incorrect
FluxCD automates continuous delivery by syncing Git repositories with Kubernetes clusters.
Which resource in FluxCD defines the Git repository to watch?
AKustomization
BGitRepository
CHelmRelease
DPod
✗ Incorrect
GitRepository resource specifies the Git repo FluxCD monitors for changes.
How does FluxCD handle changes made directly in the Kubernetes cluster that differ from Git?
AReconciles cluster back to Git state
BOverrides Git with cluster changes
CIgnores them
DSends an alert but does nothing
✗ Incorrect
FluxCD reconciles the cluster to match the Git repository state automatically.
What does the Kustomization resource in FluxCD do?
ASpecifies which manifests to apply and sync frequency
BDefines how to build container images
CManages user permissions
DMonitors cluster resource usage
✗ Incorrect
Kustomization tells FluxCD which manifests to apply and how often to sync.
FluxCD is an example of which deployment approach?
AManual deployment
BBlue-green deployment
CCanary deployment
DGitOps
✗ Incorrect
FluxCD follows the GitOps approach, using Git as the source of truth for deployments.
Describe how FluxCD enables continuous delivery in Kubernetes using Git repositories.
Think about how FluxCD watches Git and applies changes to the cluster.
You got /4 concepts.
Explain the role of the Kustomization resource and how it helps manage deployments in FluxCD.
Consider how FluxCD knows what and when to deploy from Git.
You got /4 concepts.
Practice
(1/5)
1. What is the primary role of FluxCD in a Kubernetes environment?
easy
A. Automatically sync and deploy application changes from Git to Kubernetes
B. Monitor Kubernetes cluster health and send alerts
C. Manage container image builds and push to registries
D. Provide a user interface for Kubernetes cluster management
Solution
Step 1: Understand FluxCD's purpose
FluxCD is designed to automate continuous delivery by syncing Kubernetes with Git repositories.
Step 2: Identify the correct role
Among the options, only automatic syncing and deploying from Git matches FluxCD's role.
Final Answer:
Automatically sync and deploy application changes from Git to Kubernetes -> Option A
Quick Check:
FluxCD = Git sync and deploy [OK]
Hint: FluxCD syncs Git changes to Kubernetes automatically [OK]
Common Mistakes:
Confusing FluxCD with monitoring tools
Thinking FluxCD builds container images
Assuming FluxCD provides UI for cluster management
2. Which of the following is the correct minimal YAML snippet to define a GitRepository resource for FluxCD?
4. You applied a Kustomization resource but FluxCD never deploys your changes. Which of these is the most likely cause?
medium
A. The FluxCD controller pod is running with high CPU usage
B. The Kubernetes cluster is out of disk space
C. The container image tag is not updated in the deployment manifest
D. The GitRepository resource referenced by sourceRef is missing or has wrong name
Solution
Step 1: Check Kustomization sourceRef
If the GitRepository resource named in sourceRef does not exist or is misnamed, FluxCD cannot fetch manifests to deploy.
Step 2: Evaluate other options
Disk space or CPU issues may cause problems but won't prevent FluxCD from attempting deploy; image tag issues affect app behavior but not deployment trigger.
Final Answer:
The GitRepository resource referenced by sourceRef is missing or has wrong name -> Option D
Quick Check:
Missing GitRepository = no deploy [OK]
Hint: Check sourceRef GitRepository exists and matches name exactly [OK]
Common Mistakes:
Ignoring sourceRef misconfiguration
Blaming cluster resources without checking FluxCD logs
Assuming image tag changes trigger deploy automatically
5. You want FluxCD to deploy only when a specific branch 'release' is updated in your Git repository. Which field should you add or modify in the GitRepository resource to achieve this?
hard
A. Add 'ref: branch: release' under spec in GitRepository
B. Set 'interval: 1h' in Kustomization spec
C. Add 'prune: false' in Kustomization spec
D. Set 'validation: none' in Kustomization spec
Solution
Step 1: Understand GitRepository branch filtering
To track a specific branch, the GitRepository spec must include a ref field specifying the branch name.
Step 2: Identify correct syntax
The correct syntax is spec.ref.branch: release, which tells FluxCD to sync only that branch.