k8wiz
Playground

Fix a Flux Kustomization and ship a change through Git

Advanced · Flux CD · about 15 min

Flux watches https://github.com/acme/fleet. The GitRepository is Ready, but the apps Kustomization fails and podinfo never shows up.

Loading the playground...

About this scenario

Flux watches https://github.com/acme/fleet. The GitRepository is Ready, but the apps Kustomization fails and podinfo never shows up.

The repo is in the editor under git/fleet/. Changes there go to the cluster only after git commit and git push, the GitOps way.

Objectives

  1. Find why the Kustomization isn't ready
  2. Point the Kustomization at ./apps/production and get podinfo running
  3. Scale podinfo to 3 by changing Git, not the cluster

What you'll practice

  • Sources and appliers are separate: the GitRepository can be Ready while a Kustomization that reads it fails.
  • A Kustomization's path is relative to the repo root. A wrong path is a build error, shown in its Ready condition.
  • flux reconcile --with-source fetches Git and applies right away, instead of waiting for both intervals.

How the playground works

The cluster runs entirely in your browser: a simulated API server, scheduler, kubelets and controllers, with virtual nodes in three zones. kubectl output follows the real formats, errors use the real messages, and the add-ons (CSI storage, Traefik, Envoy Gateway, cert-manager, Flux, Argo CD) behave like their real counterparts for the common paths. It's a simulation, so some behavior is simplified. Your progress is saved in this browser.

Read next