See this post to have a gentle overview of why Kustomize exists and this one to see how it compares to Helm.

30-Day Plan to learn Kustomize

I drafted the following plan and will add links to each topic as I progress.

Week 1: Introduction to Kustomize and YAML

Days 1-2: Introduction to Kustomize and why it’s used. Also, learn about Kubernetes and its relation to Kustomize.

Days 3-5: Basics of YAML (Yet Another Markup Language), which is the language of Kustomize configuration files. Start from simple data structures, then go to more complex ones.

Day 6-7: Understand Kubernetes objects and their representation in YAML files. Explore how Kustomize works with these files and practice basic commands.

Week 2: Understanding and Setting Up Kustomize

Day 8-9: Set up your environment for Kustomize and learn how to create base and overlay directories.

Day 10-11: Understand Kustomization files and their structure, and learn about Kustomize patches.

Day 12-14: Learn about generators (ConfigMapGenerator and SecretGenerator) and transformers, and understand how Kustomize can handle environment-specific changes.

Day 15: Study practical examples and use cases of Kustomize.

Week 3: Hands-on Practice and Advanced Topics

Day 16-18: Start a project to consolidate your learning. Gradually add complexity and experiment with different scenarios.

Day 19-21: Learn about integrating Kustomize with CI/CD pipelines, managing secrets, and deploying applications in different environments.

Day 22-23: Understand the best practices for using Kustomize effectively and explore more advanced features.

Day 24-25: Continue with the implementation of advanced topics in your project.

Week 4: Review and Mastery

Day 26-27: Review all the learned concepts and work on the areas of confusion or difficulty.

Day 28-29: Finalize your project and prepare it for demonstration. Learn about the future of Kustomize, its upcoming features, and how to stay updated.

Day 30: Review everything once more. Create a portfolio showcasing your work and create a video tutorial explaining how you used Kustomize in your project.