
Explore kustomize fundamentals, including overlays, bases, config maps, secret generators, and custom resource definitions—and learn to manage namespaces, multi-environment setups, and CI/CD integration.
Explore the customization file and transformers to master kubernetes configuration, including secrets, config maps, prefixes, namespaces, labels, annotations, CRDs, patching, and a real-world customized workflow with GitHub actions.
Set up a Kubernetes cluster using Docker Desktop with its Kubernetes feature or a lightweight k3d installation, then create a two-node cluster for demos.
Discover how Kustomize transformers modify Kubernetes manifests, using configuration files, inline settings, or convenience fields, and prefix resource names like V1 across bases and overlays.
Learn how kustomize generators create Kubernetes resources, including config map and secret generators, and control behavior, files, literals, generator options, and labels.
Master multi-env workflows in kustomize using a base and overlays to generate production-ready yaml for the Kubernetes API. Organize per-service directories and address hard-coded environment variables.
Structure complex microservice manifests with a base directory and overlays, grouping services into subdirectories and using customization files to assemble deployments, namespaces, and environment-specific config maps.
Set up a GitHub actions workflow with kustomize to hydrate customization manifests and deploy to a GKE cluster, using workload identity federation for secure authentication.
In this course, you will:
Understand how Kustomize works.
Understand how to use kustomize to manage kubernetes manifests for multiple environments from scratch.
Apply kustomize to existing kubernetes configurations manifests.
Assess and decide when to use Kustomize and when the use case isn’t suitable.
Understand various ways to set up Kustomize and pros and cons of each.
Before taking this course, you should be:
Familiar with what Kubernetes is and the basic structure of a Kubernetes manifest file.
Have basic knowledge or experience working with YAML files.
Interested in writing clean YAML code and applying best practices such as DRY (Dont Repeat Yourself) in your Kubernetes configurations.
This course is intended for:
Beginner, Intermediate to advanced Kubernetes developers who are seeking new ways to manage their Kubernetes configurations.
Developers who just want to get more familiar with Kustomize and the possibilities it offers.
Developers looking for best practices around Kubernetes configuration management with minimal overhead. (I want to stick to YAML. I don't want to learn a new language just to manage my configurations).
Why you should take this course:
Configuration management in Kubernetes becomes complicated the more you use it and the more complex your infrastructure gets, especially when you need to manage multiple environments.
New Kubernetes developers end up duplicating their Kubernetes configurations across multiple environment directories, resulting in even more complication.
Updating deployment manifests becomes really difficult when you need to make a simple manifest change, since this will need to be made in several places due to the duplication.
Most other Kubernetes configuration management tools add more complexity to simple workflows, e.g. helm charts.
The name “Kustomize” is just cool and now integrated into kubectl :)
Extra things that come with this course:
Access to the course Slack team, for getting help/advice from me and other students.