Module Title: dgt_k8s07 – Helm, Kustomize and CI/CD
Module Description:
The module “dgt_k8s07 – Helm, Kustomize and CI/CD” covers application deployment on Kubernetes and is intended for developers and DevOps professionals. It deals with three tools and practices widely used in Kubernetes environments: Helm, Kustomize, and Continuous Integration/Continuous Deployment CI/CD practices.
Helm: Recognized as the de facto package manager for Kubernetes, Helm simplifies the deployment and management of applications on Kubernetes clusters. In this module, you will learn how Helm packages, configures and deploys complex applications. We will explore Helm charts, which are collections of files that describe a related set of Kubernetes resources, and understand why Helm has become the standard tool for managing Kubernetes applications at scale.
Kustomize: As an integral part of the Kubernetes ecosystem, Kustomize allows you to customize raw, template-free YAML configurations. This module explains how Kustomize manages environment-specific configurations without duplicating your manifest files. You’ll learn how overlays and patches work, making it easier to maintain consistency across different environments while accommodating their unique requirements.
CI/CD: CI/CD pipelines are used to deliver software quickly and reliably. This module covers the integration of Helm and Kustomize into CI/CD workflows, enabling automated testing, building and deployment. You’ll learn what makes a pipeline robust: one that checks code quality and automates delivery from development to production.
In the practical sessions you work only in natural language. You ask the machine to package an application as a Helm chart and deploy it, to create a staging and a production overlay with Kustomize, or to add a deployment stage to a pipeline; then you open the chart, the values file, the kustomization and the pipeline definition it produced, and check them against what you learned here: are the values really parameterized, does the patch target the right resource, does the pipeline stop when the tests fail?
Module Objectives:
- Understand the role of Helm as a package manager in Kubernetes and why it is considered the standard.
- Understand Helm charts well enough to have the machine create and manage them, and to review the templates and values it writes.
- Learn how Kustomize customizes Kubernetes configurations without altering the base manifests, and verify the overlays the machine generates.
- Describe to the machine how Helm and Kustomize should fit into CI/CD pipelines, and validate the resulting workflows.
- Work through real-world scenarios in natural language, strengthening your ability to deploy complex applications and to catch mistakes before they reach production.
Target Audience:
This module is intended for developers, system administrators, DevOps engineers and IT professionals who work with Kubernetes. It is suitable both for those new to Helm and Kustomize and for those who want to study CI/CD practices in a Kubernetes context, and it provides the knowledge needed to direct and verify this work.
The module covers the use of Helm, Kustomize and CI/CD for deploying applications on Kubernetes.
The students can push their exercises to the Academy DevOps & SRE Git project. For this module, create a folder with your username as its name in the following subfolder: https://github.com/Garanti-Del-Talento/gdt_academy
