
Learn to install the lab environment for practical helm charts, including Docker Desktop, Kubernetes, and the helm CLI, with macOS and Windows guidance and access to unit tests.
Install Docker desktop on macOS for Apple and Intel systems, including M1, then verify with docker run hello world.
Download the lab git repository to access example charts and exercises; clone with ssh or https and cd into the Helm Labs directory to begin.
Explore the basic components of a helm chart template, including templates in the templates directory, go template actions, and how values.yaml drives rendered Kubernetes manifests like a configmap.
Explore how to override values.yaml at runtime using dash dash set and helm template, enabling unique names per namespace, multiple configmaps, and chart customization without editing files.
Learn how to use the helm status command with a single argument, the release name, to view key-value details for a specific release.
Learn to use helm rollback to revert a release to a previous version after a failed upgrade, completing the chart lifecycle with verification via helm git manifest.
Explore how Kubernetes secrets power the Helm CLI, including secret types and release data, then inspect with helm history and perform cleanup with kubectl delete secret.
Conclude the cli section by showing how to manage helm releases across their life cycle and access command lists, including install and list, with helm --help.
Learn how helm actions, functions, and pipelines render templates. See how the quote function outputs strings and how dot values and built-in data are accessed.
Master string concatenation in helm by using the print function to build a final string for the manifest, and learn to leverage pipelines for consistent templating.
Discover how the nindent function in helm charts automatically adds a newline and indents a string within templates. Compare nindent with indent and choose your preferred style for templates.
Learn to use the helm quote function to enforce string values in templates, avoiding yaml booleans and numbers by quoting strings for Kubernetes manifests.
Learn to extract string parts in helm with the Substr function. Use three arguments, start and end indices (zero-based, inclusive start, exclusive end), and the target string for pipeline-friendly results.
Learn to switch strings among snakecase, camel case, and kebab case using helm functions, and apply these conversions in manifests and values for Helm charts.
Learn how helm handles numbers in chart templates by using integers and floats, performing arithmetic with functions, and using dot notation for whole and decimal parts.
Explore how helm compares numbers using six boolean functions, such as gt, g, lt, l, eq, and ne, and apply these primitives in control flow.
Learn how to use helm's with statement to set a local cursor in templates, switch to the values object with dot notation, and restore the previous cursor at end.
Explore the ternary function as an expression that resolves to a value, selecting between two results based on a condition, with examples in JavaScript, Java, and Helm.
Explore lists in the helm template language as ordered collections for Kubernetes manifests, including containers, volumes, and secrets, and learn helm functions across values.yaml and Go slices.
Learn to use variable names with the range action in helm templates. Set a named variable after range with the colon equals operator and iterate a list using item variable.
Learn to use the range action in Helm to capture both index and item while iterating a list, with index coming first and an example printing 'index: item'.
Learn to use the Helm length function to safely access list elements and avoid errors. Implement if-else logic to provide fallbacks when the list is too short.
Learn to slice lists in Go by using the slice syntax to return a part of a list, with start and end indices, including examples and end-exclusive behavior.
Learn how to add elements to a list in Helm using append and prepend, each taking a list and a new element, for end or start insertion.
Learn how to print lists in helm templates using json and the two yaml functions, handle indentation, and ensure valid yaml or json output in helm manifests.
Learn how to compare lists in helm using deep equal instead of the standard equal, enabling value equality checks for lists and dictionaries and avoiding non comparable type errors.
Explore the sort alpha function in Helm templates, which sorts lists of strings alphabetically. It works only on strings and there is no general purpose sort function in Helm.
Walk through the list lab, opening template and test files, running the test suite, and fixing list properties with to yaml, indent, range, first, index, and without.
Add a dictionary item in Helm templates using the set function, supplying the dictionary, key, and value; override existing keys and assign to a variable to avoid extra prints.
Learn how the omit function in helm templates removes multiple keys from a dictionary, always returns a new dictionary, and differs from unset by not modifying the original.
Learn how the helm split function from sprig returns a dictionary of results keyed by _0, _1, _2, and how it differs from the split list function.
Learn Helm Charts with hands-on exercises
This course includes both Helm Unit Test exercises to teach Helm template programming and deployment exercises with a live Kubernetes cluster. Helm is often described as the package manager for Kubernetes, but it also includes its own custom template language. Not only will you learn how to manage Helm applications on Kubernetes, you will also learn how to use the template language step-by-step. By the end of the course, you'll have the confidence and skills you need to use Helm to manage your Kubernetes applications with ease. Whether you're a beginner just starting with Kubernetes or an experienced developer looking to level up your skills, this course will give you a solid foundation in using Helm to manage your applications.
Start from the basics
For this course, you will learn how to use Helm starting with the basic concepts. We start with the parts of a Helm chart, and how the parts relate to each other. Helm charts have a lot of parts, but this course steps through each one so that you will have a strong foundation for the rest of the course. You will also learn why Helm is such a huge advantage for you when you manage Kubernetes applications.
Essential Command Line
In this course, you will learn about the Helm application lifecycle and the essential CLI commands to install, configure, update, debug, and retire your application. Kubernetes has a command line tool, kubectl, that doesn't support Helm functionality. The Kubernetes command line provides a lot of tools to help you interact with a Kubernetes cluster. However, kubectl and manual resource definition management can be hard to work with as your applications grow larger and change over time. For that reason, Helm uses a completely different command line utility to manage Helm Charts. In this course you can learn the commands you need to manage your application using the Helm method.
Remote Repositories
In today's distributed computing environment, you will need to work with chart repositories hosted on a remote server. In Helm, you can serve charts over the network through something called a Chart Repository. In this course, you will learn about the user commands you need to interact with both public and private chart repositories. You will also learn the structure of the Helm Chart repository so you know how remote repositories work in the Helm ecosystem.
Learn Helm Chart programming step by step
After the CLI, the course goes through the different data types and functions you will need to program a Helm chart. Helm has a lot of the same types as other programming languages, but everything is done a little differently in Helm chart templates. This course will teach you how to interact with all of the Helm types the Helm way.
Learn valuable Kubernetes skills
Kubernetes is growing quickly, and many Fortune 500 companies use Kubernetes and Helm. Kubernetes allows these huge companies to scale their business effectively and provide great 24/7 service for their users. Having Helm on your resume can help you when interviewing with these companies.
Learn Helm Chart Writing with Unit Test Exercises
Helm chart programming is programming, even though it doesn't look exactly like Python or JavaScript. Automated testing can help you guarantee that your charts continue to work after you make changes. You get the same types of benefits with unit testing in Helm charts as you do with other programming languages. This course provides hands-on unit test exercises so that you will be ready to write your own Helm charts and unit tests with confidence.
Appendix Examples
Helm has a lot of functions, which can be intimidating when you are trying to learn Helm templates. The appendix section is full of examples for the many helm functions available to you as a user. This section of the course shows running example Helm templates that you can adapt to fit your own use case. The example Helm templates are included in the Git repository for the course. This section covers important topics like encryption, certificates, and password generation. You will also get examples for common utilities such as base 64, checksums, URL parsing, semantic versions, and file path handling.
Custom Resource Definitions
CRDs, or custom resource definitions, allow you to extend to Kubernetes API and provide more functionality to software running on your cluster. Many third party tools such as service meshes and CI/CD tools use CRDs to empower developers to configure tools using standard Kubernetes manifests. Helm has special behavior related to CRDs that you need to know in order to work effectively with CRDs. In this course, you will learn about how CRDs work in helm, get an example chart related to CRDs, and also learn about some of the limitations of Helm related to CRDs.
Learn the standard
Helm is the de facto standard for Kubernetes package management. There is no alternative, so learning Helm is essential. Having Helm in your toolbox will be an asset in your career as a developer, DevOps engineer, or anyone working with Kubernetes. By taking this course, you'll gain valuable skills that will make you a valuable asset to any organization working with Kubernetes.