Skip to content
All posts
AKS GitOps & CI/CDMay 28, 20261 min read

Kustomize Over Helm for Cluster Config? Sometimes.

Helm became the default for everything, including jobs it's bad at. For your own cluster configuration, Kustomize is often the calmer choice, and knowing when is the whole skill.

Helm won the packaging war so thoroughly that teams now reach for it reflexively, including for jobs it's genuinely awkward at. For managing your own cluster configuration across environments, Kustomize is often the quieter, sturdier choice. The skill isn't picking a side forever; it's knowing which job you're doing.

Helm is a package manager. Its real strength is distributing an application with a configurable surface: templated manifests, a values.yaml of knobs, and versioned releases someone else can install without reading your YAML. When you consume third-party software (ingress controllers, databases, operators), Helm is exactly right, and you should use it.

The friction shows up when you template your own manifests. Go-templated YAML turns readable Kubernetes objects into string soup full of {{ }}, whitespace landmines, and conditionals that make "what does this actually render to" a real question.

Kustomize is a patcher. You keep plain, valid manifests as a base, then declare overlays that patch them per environment: staging bumps replicas, prod swaps the image tag, each a small, legible diff against real YAML. Nothing is templated; everything stays a genuine Kubernetes object you can read. It's built into kubectl, and both Flux and Argo speak it natively.

A rule of thumb that ages well:

  • Distributing an app for others to configure? Helm.
  • Consuming someone else's software? Helm.
  • Managing your own manifests across your own environments? Kustomize.

And they compose: a common GitOps pattern renders a third-party Helm chart, then Kustomize-patches the output to fit your cluster. You don't have to choose a religion.

The trap is treating Helm as the answer to every config question because it's the tool you already have. For first-party cluster configuration, reach for Kustomize first. Plain YAML you can read at 2 a.m. during an incident is worth more than templating cleverness you have to mentally compile.

Want this distilled for your stack? Ask the assistant for the key takeaways or related reading.

Keep reading

Related notes

AKS GitOps & CI/CD1 min read

Flux on AKS in Twenty Minutes

GitOps sounds like a platform project. Getting your first Flux reconciliation running on AKS is closer to a coffee break, and it changes how you think about deploys immediately.

AzureKubernetes
May 14, 2026Read

The Clarity Brief

Every other Tuesday · unsubscribe anytime

A short, high-signal briefing on architecture, AI, observability, and engineering leadership, written to make hard things clear.

Topics you care about

We respect your inbox. Your email is used only to send the newsletter and is never sold or shared.

Sathpal-OS