Skip to content

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.

Working with Helm

Course Summary

The Working with Helm training course is designed to be an introduction to understanding and working with the Helm Kubernetes package manager.

The course begins with a journey through understanding why Helm exists and its purpose. Students will then navigate a path towards how to work with Helm, including building charts, publishing them, using them to release and manage Kubernetes workloads. The course concludes with exploring the various capabilities Helm offers via its CLI and otherwise.

Students should have knowledge and experience working with Kubernetes. This includes understanding common resources and usage of things like Deployments, Config Maps, Secrets, Pods, Container Spec, etc. Students should also have a comfort level working with the command line.

Purpose
Learn a comprehensive understanding of Helm and how to use it to package and manage Kubernetes workloads.
Audience
Developers, Service Owners and Operations that would like to learn more about Helm.
Role
Data Engineer - DevOps Engineer - Software Developer - System Administrator - Web Developer
Skill Level
Introduction
Style
Workshops
Duration
2 Days
Related Technologies
Kubernetes

 

Productivity Objectives
  • Create Helm charts and describe features and practices of chart source code.
  • Explain how Helm charts are commonly distributed, stored, and work with Helm chart repositories.
  • Define the architecture of Helm, where it is today, where it's headed, and the differences between versions.
  • Utilize the various features including packaging charts, installing and using plugins, installing and upgrading charts.
  • Evaluate and utilize development and testing strategies around Helm charts.
  • Rundown of Helm security - Role Based Access Control resources, Tiller, namespaces, and best practices.

What You'll Learn:

In the Working with Helm training course, you'll learn:
  • An Intro 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
      • Helm S3
    • 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
“I appreciated the instructor's technique of writing live code examples rather than using fixed slide decks to present the material.”

VMware

Dive in and learn more

When transforming your workforce, it's important to have expert advice and tailored solutions. We can help. Tell us your unique needs and we'll explore ways to address them.

Let's chat

By filling out this form and clicking submit, you acknowledge our privacy policy.