Course Outline:
Module 1: Introduction to Helm
- What is Helm?
- Benefits of using Helm with Kubernetes
- Helm architecture: Charts, Repositories, and Releases
- Understanding Helm’s Client-Server Model (Helm and Tiller in Helm v2 vs. Helm v3)
- Installing Helm and setting up a Helm environment
- Hands-On: Installing Helm on a Kubernetes cluster
Module 2: Working with Helm Charts
- Overview of Helm charts and their structure
- Anatomy of a Helm chart: Chart.yaml, values.yaml, templates/
- Creating a basic Helm chart
- Understanding Helm templates: Using Go templating in Kubernetes manifests
- Hands-On:
- Creating a simple Helm chart for a web application
- Deploying the Helm chart to a Kubernetes cluster
Module 3: Managing Helm Releases
- Deploying applications using helm install
- Understanding release lifecycle and naming conventions
- Upgrading and managing releases with helm upgrade
- Rollback strategies with helm rollback
- Managing application versions using Helm
- Hands-On:
- Deploying a multi-environment application with Helm (e.g., staging and production)
- Performing a rollback on a failed release
Module 4: Customizing Helm Charts
- Using values.yaml for configuration management
- Overriding default values with custom values.yaml files
- Using environment-specific values and Helm overrides
- Advanced templating with conditionals and loops
- Hands-On:
- Customizing Helm chart values for different environments
- Creating reusable and parameterized Helm charts
Module 5: Helm Repositories and CI/CD Integration
- Using public Helm repositories like ArtifactHub
- Creating and hosting a private Helm repository
- Using Helm in CI/CD pipelines for automated deployments
- Helm best practices for chart versioning and repository management
- Hands-On:
- Setting up a private Helm repository
- Automating deployments using Helm with GitHub Actions or Jenkins
Module 6: Structured Activity/Exercises/Case Studies
- Lab: Creating and deploying a Helm chart for a microservice application
- Lab: Automating Helm chart deployments using CI/CD
- Lab: Managing upgrades and rollbacks of a sample application
- Lab: Hosting and using a private Helm repository for internal applications
Training Material Provided:
- PDF Notes with detailed explanations and code snippets.
- Sample Helm Charts: Example charts for common applications (e.g., NGINX, Redis).
- Hands-On Lab Instructions: Step-by-step guides for practical exercises.
- Reference Links: Access to official Helm and Kubernetes documentation.
Additional Information:
Labs / Software Installs Required for the Course:
- Kubernetes Cluster: A pre-configured Kubernetes cluster (can be local with Minikube or a cloud-based service like EKS, GKE, or AKS).
- Helm Installation: Participants should have Helm installed on their local machine and configured with the Kubernetes cluster.
- Access to a Container Registry: Required for hosting Helm charts or images (e.g., Docker Hub or a private registry).
Hardware Requirements:
- A machine with at least 8 GB RAM for running local Kubernetes clusters.
- Internet Connection: Required for accessing Helm repositories and performing installations.