Course Overview
Master Helm, the package manager for Kubernetes, in this comprehensive one-day course. Learn to create, manage, and deploy applications using Helm charts, understand chart templating, repository management, and best practices for Kubernetes deployments. Perfect for DevOps engineers and Kubernetes administrators looking to streamline their container orchestration workflow.
Course Prerequisites
Students must be familiar with using kubernetes and should have an understanding of the basic kubernetes objects such as nodes, pods, deployments and services. Students should also be familiar with Yaml. We recommend students to follow our Core Kubernetes course before attending this course.
Outline
Introduction to Helm
- Introduction to Helm
- Understanding Helm concepts (charts, releases, …)
- Compare with Kustomize and discuss use cases for each
- Introduce Helm repositories
- Explore the helm tooling and the helm cli
- Role of Helm in GitOps
- Package management and release history
- Understanding Helm Architecture (client/server model)
Using Helm
Helm Repositories
- Compare different repository formats and their use cases
- Overview of traditional (HTTP/HTTPS) repository format
- Introduction to OCI (Open Container Initiative) repository format
- Setting up private repositories
- Finding charts
- Collecting information about a chart
- Chart verification and security scanning
Use Charts to create Releases
- Installing and configuring releases
- Explore various ways to provide Values and overriding/unset defaults
- Understand Chart versioning
- Managing the lifecycle of a release
- Rolling out new versions and checking compatability
- Troubleshooting releases
- Tips on working with Charts
- Rollback strategies and version control
- Upgrading and downgrading releases
Developing and publishing Charts
Defining Charts
- Understand the structure of a chart
- Defining the chart.yaml meta-data
- Introduction to template directives
- Link to Dependencies and sub-charts
- Publishing to traditional and OCI repositories
- Chart Hooks and lifecycle management
- Writing tests
- Chart validation and linting
- Documentation best practices
- Chart signing and provenance
Templating
- Understanding variables and values
- Use built-in objects
- Appreciate pipelines (filters)
- Working with functions and pipelines
- Using control structures (if/else, with, range)
- Named templates and template includes
- Whitespace control and formatting
- Find objects in the target cluster (lookup)
- Debugging templates
- Best practices and common patterns
- Security considerations in templating
- Conditional logic and template optimization
- Shared libraries and helper templates