Join today
Write your awesome label here.

Helm: The Complete Course

Go from container deployment basics to sophisticated application packaging and templating with Helm. Learn to create reusable charts, manage complex deployments, and automate Kubernetes application lifecycle management with the industry's leading package manager.
Write your awesome label here.

94 Lectures

Comprehensive Knowledge

10.5 Hours

Video Duration

30+ Labs

Focus on Practice

Course Certificate

Validate Your Learning
What you are going to learn

Transform Your Kubernetes Skills: From Manual Deployments to Automated, Scalable Application Management

This course takes you from understanding why Helm exists to confidently building and managing production-ready charts. You will start by mastering the fundamentals: finding and installing charts, customizing deployments, upgrading and rolling back releases. Then you will advance to creating your own charts, writing dynamic templates with conditionals, loops, and named templates, managing multi-service applications through subcharts and dependencies, and publishing charts for others to use.

By the end of this course, you will be able to package any Kubernetes application as a reusable, configurable Helm chart, manage complex multi-environment deployments with clean templating practices, and extend your workflow with plugins for diffing, testing, and visualization. You will have the skills to confidently own Helm in a real team environment.

By completing this course, you will be able to:

  • Understand how Helm simplifies managing Kubernetes applications and when to use it versus Kustomize
  • Discover and evaluate application packages from public repositories
  • Install, configure, and manage complete applications with dependencies
  • Upgrade applications to new versions and roll back when problems occur
  • Create custom Helm charts from scratch with proper structure and metadata
  • Implement dynamic manifests using Go templating syntax and operators
  • Publish custom charts to public repositories for sharing and reuse
  • Apply advanced templating functions, named templates, and validation strategies
  • Build and integrate subcharts as dependencies with parent charts
  • Manage chart lifecycles with Helm hooks at installation, upgrade, and deletion stages
  • Extend Helm with plugins including Dashboard, Diff, and Unit Test capabilities

Course Contents

01

Course Introduction

Welcome to the course!
02:41
Aligning expectations
02:43
Let's Stay Connected!
00:28
Course Resources
00:53

02

What is Helm?

This section introduces Helm as a package manager for Kubernetes applications and explores how it simplifies the deployment and management of complex multi-component systems. The section examines the challenges of managing Kubernetes resources manually, explains Helm's core capabilities for packaging and versioning applications, compares Helm with Kustomize as two different customization approaches, and describes the architecture and key components involved in using Helm including the CLI, chart repositories, and the interaction with Kubernetes clusters.
Section introduction
00:46
The role of Helm in Kubernetes
09:04
Benefits of using Helm
06:17
Helm vs. Kustomize
06:03
Helm architecture
05:51
Helm Concepts and Architecture
7 questions

03

Installing Tools

This section covers the installation and setup of three essential tools needed to work with Kubernetes locally: a container runtime environment, a command-line interface for managing clusters, and a package manager for deploying applications. Each lecture walks through the installation process on different operating systems, emphasizing the importance of version compatibility between components. By the end of this section, learners have a complete local development environment ready for containerized application deployment.
[Windows Users] Note about enabling the WSL Windows feature
00:47
[Windows Users] Installing Windows Subsystem for Linux (WSL)
03:54
[Windows Users] Windows Subsystem for Linux Features
06:10
Installing Minikube
01:54
Installing Kubectl
02:52
Installing Helm
01:56
Installing and configuring VS Code
03:49

04

Helm Fundamentals

This section explores the fundamentals of Helm package management for Kubernetes applications. It covers discovering and evaluating application packages from a public repository, adding and managing local package sources through the command-line interface, installing complete applications and their dependencies, retrieving and customizing configuration settings, and managing application versions through deployment updates and restoration of previous versions.
Section introduction
01:21
Exploring ArtifactHub
07:22
IMPORTANT! Changes to Bitnami Charts and Images
04:18
Managing Helm repositories with the Helm CLI
11:29
Installing the Wordpress Helm chart
08:48
Exploring the default Wordpress chart configuration
07:17
Uninstalling Helm charts
04:21
Cleaning up Kubernetes resources
07:44
Helm Repositories and Basic Release Management
7 questions
Setting custom values via the Helm CLI
10:14
Setting custom values via files
10:42
Upgrading Helm releases: Setting new values
08:09
Upgrading Helm releases: Setting new chart versions
04:36
Rollbacks in Helm
07:07
Upgrading Helm releases: Useful CLI flags
13:10
Value Customization and Release Upgrades
7 questions

05

Creating Our Own Helm Charts

This section covers the fundamentals of creating custom Helm charts from scratch, including understanding why custom charts are necessary, learning the standard chart structure and its components, implementing a basic chart with configuration values, and exploring the templating system for dynamic manifest generation. The section progresses through manual chart creation, template development with configuration management, conditional rendering of resources, packaging for distribution, publishing to public repositories, and demonstrates how to use automated tools to bootstrap new chart structures efficiently.
Section introduction
01:15
Why create our own charts?
03:13
Helm chart structure and files
06:28
Creating our first Helm chart
08:47
Helm Chart Structure and Metadata
7 questions
Introduction to Go Templates: Part 1
08:23
Introduction to Go Templates: Part 2
06:39
Introduction to Go Templates: Part 3
03:44
Adding first values to our values.yaml file
08:35
Using release and chart information in templates
07:59
Conditionally deploy Kubernetes resources
03:23
Helm Templating Basics and Built-in Objects
7 questions
Packaging our Helm chart
04:16
Publishing our Helm chart with GitHub Pages
07:14
Installing our newly published Helm chart
03:26
Leveraging the Helm CLI for creating new charts
04:11
Recap: Building, packaging, and publishing Helm charts
02:21
Packaging, Publishing, and Bootstrapping
7 questions

06

Go Template Deep-Dive

This section covers an in-depth exploration of template functionality, including functions and pipelines, named templates, conditional logic, loops, variable management, scopes and contexts, and validation techniques for chart values.
Section introduction
01:09
Template functions and pipelines
15:44
Named templates
15:18
If and If-Else statements
06:20
Functions, Pipelines, and Named Templates
7 questions
Variables
08:19
Variables’ Scopes
04:42
Using “range” to iterate over lists
11:26
Using “range” to iterate over dictionaries
05:03
Understanding the “dot” variable
05:53
Using “with” blocks
10:36
Validation functions
14:34
Implementing custom validation logic
14:01
Advanced Control Structures, Scoping, and Validation
7 questions

07

[Optional] Coding a Key-Value Store API

This section covers setting up a complete development environment for a configuration storage application. The lectures progress through creating a project repository, establishing a Node.js application with development dependencies, integrating Docker containerization with multi-stage builds, connecting to a PostgreSQL database, implementing REST API routes for managing key-value pairs, and finally testing and publishing the Docker image to a registry.
Project setup
05:39
Express app setup
11:56
PostgreSQL setup
07:40
Implement API routes
18:35
Testing, building, and pushing the Docker images
07:36

08

Managing Chart Dependencies

This section covers the concept of chart dependencies or subcharts in Helm, explaining how to manage them and integrate them into parent charts. The lectures discuss defining dependencies in configuration files, using command-line tools to update and manage dependencies, passing configuration values from parent charts to subcharts using both direct scoping and global values, including shared templates from subcharts in parent charts, and conditionally enabling or disabling subcharts based on Boolean conditions or tags. The section concludes with a practical demonstration of integrating a PostgreSQL database dependency into an application chart and configuring authentication credentials for the database.
Section introduction
00:53
What are Subcharts?
05:07
Bootstrap the Config Store Helm chart
11:16
IMPORTANT - PostgreSQL Chart Updates
01:13
IMPORTANT - PostgreSQL Changes to Bitnami Charts and Images and What To Do
01:42
Add PostgreSQL subchart as chart dependency
08:45
Managing Dependencies and the Helm CLI
6 questions
Passing values from parent to subchart
11:24
Global values
09:15
Including names templates from subchart in parent chart
07:18
Conditionally enabling subcharts
05:34
Integrate PostgreSQL into our Kubernetes resources
19:32
Value Overrides, Globals, and Conditional Subcharts
6 questions

09

Advanced Topics

This section covers advanced topics in Helm including how to access and retrieve files from within charts using utilities and glob patterns, the functionality and lifecycle of Helm hooks, the creation and implementation of library charts versus application charts, the use of test hooks for testing purposes, and an introduction to the Helm plugin ecosystem including the dashboard, diff, and unit test plugins that extend Helm's capabilities.
Section introduction
01:35
Accessing files: Introduction
06:37
Accessing files: Glob patterns
05:25
Accessing files: ConfigMap and Secret utilities
02:34
Chart hooks: Introduction
05:35
Chart hooks: Working with hooks
11:01
Chart hooks: Hook weights
06:55
Chart hooks: Handling hook failures
12:59
Chart hooks: Cluster cleanup
01:24
Accessing Files and Helm Hooks Lifecycle
7 questions
Library charts
11:18
Test hook: Introduction
07:52
Test hook: Extract and decouple testing script
07:02
Test hook: Update templates and Kubernetes resources
06:44
Test hook: Add configuration values to values.yaml
13:34
IMPORTANT - Breaking Changes to Bitnami Charts and Images and What To Do
01:01
Helm plugins: Helm Dashboard
10:08
Helm plugins: Helm Diff
10:07
Helm plugins: Helm Unittest
16:39
Library Charts, Testing, and Plugins
6 questions

10

Conclusion

Congratulations!
00:23
Certificate of Completion

Frequently asked questions

Who is this course designed for?

This course is designed for multiple technical roles:

Software Engineers and Developers who want to automate application deployments and package their services for consistent deployment across environments will gain the skills to create reusable Helm charts and manage complex multi-component applications with simple commands.

DevOps Engineers and Platform Engineers seeking to standardize application deployment practices and improve consistency across teams will learn how to create and maintain organization-wide Helm charts, implement validation strategies, and leverage advanced features like hooks and subcharts for sophisticated deployment orchestration.

Kubernetes Operators and Cloud Infrastructure Professionals managing production clusters will understand how to evaluate community charts, implement customization strategies, establish secure deployment pipelines, and leverage Helm's plugin ecosystem for enhanced visibility and testing.

Technical Leads and Architects evaluating package management solutions for their organizations will gain the deep technical knowledge needed to understand Helm's capabilities, limitations, and appropriate use cases compared to alternative tools like Kustomize.

What prior knowledge do I need before taking this course?

You should have basic familiarity with Kubernetes concepts including Pods, Deployments, Services, and ConfigMaps. Comfortable experience working with command-line tools is highly recommended, as you will extensively use kubectl and Helm command-line interfaces.

Prior experience with YAML configuration files and understanding of how Kubernetes manifests are structured will significantly help. No prior knowledge of Helm, templating, or package management is required. The course starts from fundamentals and builds progressively through hands-on exercises, though understanding why Kubernetes deployments can become complex will help you appreciate why Helm exists.

Will I incur costs (cloud provider or tools) while taking this course?

The entire course can be completed using free, open-source tools. All core Helm functionality is free and unlimited.

Free Components:
  • Helm command-line tool and all official plugins (completely free and open source)
  • Minikube or local Kubernetes environments (free options available)
  • Docker Desktop (free for personal and small business use)
  • Public chart repositories including Artifact Hub (free)
  • GitHub Pages for hosting custom charts (free)

Does this course cover Docker and Kubernetes fundamentals?

This course assumes you have basic Kubernetes knowledge including understanding Pods, Deployments, Services, and ConfigMaps. If you are not familiar with Kubernetes, make sure to check my complete Docker and Kubernetes course, which covers all the foundational concepts for both Docker and Kubernetes.

The focus is on how Helm manages and packages these Kubernetes resources rather than on foundational Kubernetes concepts. If you are new to Kubernetes, consider gaining basic familiarity with core concepts before starting this course, as this will help you understand why Helm is so valuable for managing complex deployments.

Can I use what I learn in this course with production systems?

Absolutely. This course focuses entirely on practical, production-ready skills including proper chart structure, configuration management, validation strategies, testing approaches, and deployment best practices. You will learn how to create charts that follow community standards, implement security configurations, manage sensitive data appropriately, and use advanced features like hooks and plugins for robust deployments.

The course covers real-world scenarios including upgrading applications, rolling back failed deployments, managing complex dependencies with subcharts, and validating deployments before applying changes to production systems. By the end of the course, you will have the knowledge and experience needed to create Helm charts for production use and manage sophisticated application deployments in real environments.

We use cookies to provide you with an optimal experience and relevant communication. Learn more or accept individual cookies.

Necessary

Necessary cookies (First Party Cookies) are sometimes called "strictly necessary" as without them we cannot provide the functionality that you need to use this website. For example, essential cookies help remember your preferences as you navigate through the online school.

Functional

Functional cookies enable this website to provide enhanced functionality and personalization, by remembering information you have entered and choices you make. These preferences are remembered through the use of persistent cookies, so that you will not have to set them again the next time you visit the website.

Analytics

Analytics cookies track information about visits on our website so that we can measure and improve its performance, as well as optimize our course content. These cookies help us analyze user behavior by tracking the number of visits, how visitors use the website, which site or page they come from and how long they are staying for.

Marketing

Marketing cookies are used to deliver advertising material relevant to you and your interests. They are also used to limit the number of times you see an advertisement, resulting to more targeted advertising, as well as help us measure the effectiveness of our campaigns. They are usually placed by advertising networks we collaborate with, with our permission.