Helm is a tool used to package Kubernetes manifest files that are used to install a cloud-native application. Deployments, Services, Ingresses, ConfigMaps, etc. are all packed into a Helm chart. Using this Helm chart, you can deploy the app to a Kubernetes cluster the same way you use apt-get in Ubuntu, or brew on a macOS.
After completing this course, you will have a working knowledge of Helm. You'll be able not only to use ready-made Helm Charts to automate day-to-day deployments, but you'll also automate the most complex Kubernetes deployments and contribute them to the community.
I've designed this course to focus on the important parts of Helm. I did my best not to bother you with boring material that you'd seldom use in your day-to-day life as a Helm and Kubernetes engineer. Instead, I give you the core stuff of the tool together with some tips and tricks that will let you code Helm charts like a pro in no time!
To get the most out of this course, I highly encourage you to open your laptop and do the labs that I explain in the class. There's nothing better than getting your hands dirty learning a new tool or technology. That way, by the end of this course, you'll find yourself already developing, applying, maintaining, and even sharing your very own Helm charts.
The best way to learn any tool is by using it! In this course, we'll work together to deploy ready-made Helm charts to Kubernetes using Helm. After mastering that, we'll start analyzing Helm chart bit by bit. Along the way, you'll learn the following:
Understand why we need a package manager for Kubernetes
Deploying Helm to minikube (local Kubernetes cluster)
Understanding Helm repositories
Adding one or more Helm repositories to your system
Searching the Helm repository for your desired Chart
Using Helm to deploy ready-made Charts from popular repositories
Inspecting a Helm Chart deployment
Upgrading a Helm deployment and viewing its history
Customizing the Helm Chart to your own needs by modifying the values file
How (and when) to create your own Helm Charts
Understanding Helm Templates
Testing your Helm templates without applying them using the dry-run flag.
Revisiting Helm history by upgrading and rolling back package deployments
Using Helm functions (include, indent, nindent, toYaml, b64enc, and more)
Decision making using conditional and logical statements (IF, NOT, AND, OR)
Loop through simple and complex objects using the "range" keyword
Deep diving into Helm variables
Debugging your Helm charts
Creating your own Helm repositories and pushing Charts
Deploying even more complex Kubernetes environments using Helm Chart dependencies
Learning about popular community-based Helm projects like Chartmuseum
Extending Helm by building your own repositories
Exploring different Helm plugins to automate repetitive tasks and store charts in the cloud
Build your own Helm plugins and use custom commands and protocols
Configure Helm to create your own specific boilerplate charts using Helm starters