In the Working with Helm training course, you'll learn:
An Introduction to Helm
- Why does Helm exist and what does it solve?
- Templating Kubernetes resources
- Packaging related resources together
- Reusability
How Helm is Architected
- A first look at the CLI
- Initializing Helm: the client and Tiller, the server
- The three parts of Helm
- Charts: Templated Definitions of Kubernetes Resources
- Config: Install/Upgrade time values
- Releases: Charts and Config put together to run stuff in the Cluster
Building Your First Chart
- A look at all the things that make up a chart
- Chart metadata and info
- Variables
- Templates
- Dependencies
- Best Practices when Developing Charts
- General conventions
- Avoiding Gotchas including preparing for the best overrides support possible
- Templating practices including working with Go templates, Sprig, and the other pieces that Helm templates support
- Packaging up a chart, preparing to be distributed
Chart Distribution, Repos, Publishing, and Using Published Charts
- What is a Helm chart repo and what distribution options are available?
- Cloud provider options
- Chart Museum
- A quick look at OCI (Registry v2) support in Helm 3
- The primary, official Helm stable charts repo and some other common ones where you can find community charts
Installing and Using the Helm CLI
- Revisiting initializing Helm
- A deeper look at both the client and Tiller
- Securing Helm via TLS certs and some alternative strategies for how and where Helm can be run
- Kubernetes RBAC resources and Helm
- Service Accounts and other RBAC resources
- a Helm per namespace as a pattern
- Managing Known Client Repos
- Working with and Managing Common Plugins
- Using the CLI to Manage Releases
- Installing/Upgrading
- Rolling Back and Addressing Failure Cases
- Inspecting both Charts and Releases
- How to Test it all?
- Helm hook-based testing
- The unitest plugin
- conftest and OPA as a possible alternative testing strategy
- The helm template command
- Bypassing Tiller and Helm release management entirely and just leveraging the power of Helm as a templating and packaging utility
- A look at the remaining CLI commands available
A Deep Dive Into More Complex Template Scenarios
- Maximizing reusability via helpers
- Navigating Go templates, Sprig, and Helm templating with grace
- Looking at loops and other various more-complex syntax cases in templates
Putting it All Together and Where to Go Next
- Operations around managing the release of many charts that make up your platform in a cluster or even many clusters
- Differences in Helm versions and architecture - what changed and why