Helm CLI and Overall Structure
The Helm CLI is the command-line tool installed on your local machine. It enables you to perform actions such as installing, upgrading, and rolling back applications. A Helm chart is a collection of files that contains all the instructions needed to create the Kubernetes objects required by your application. When you deploy a chart, Helm creates a release. Each installation becomes a release, and updating the application (by modifying configurations like image versions or replica counts) results in a new revision of that release. Helm stores metadata not on your local system but within your Kubernetes cluster as Kubernetes secrets. This ensures that metadata stays accessible to anyone working with the cluster and persists through cluster restarts.
Charts and Templating
Helm charts are packages that include several resource definition files, such as templates for Deployments, Services, and more. The templating mechanism allows you to separate configuration values (for example, those provided in a values.yaml file) from the resource definitions. Consider the following basic example for a simple HelloWorld application deploying an Nginx-based web server:Many public repositories offer Helm charts, but you might need to adjust the values.yaml file to tailor the installation to your specific requirements. In this lesson, we use two applications to illustrate these concepts: a simple HelloWorld application and a more complex WordPress site.
Releases and Versioning
Every deployment of a Helm chart results in a new release. Releases allow you to run multiple instances of the same chart concurrently, with each release maintaining its own revision history. This functionality is especially useful when you need separate releases for production and development environments, even though they may be based on the same chart. For instance, you can deploy multiple instances of a WordPress website using distinct release names:Helm Repositories and Artifact Hub
Helm charts are available across numerous public repositories managed by providers such as Appscode, Community Operators, TrueCharts, and Bitnami. Instead of searching through each repository separately, Artifact Hub aggregates these resources in one convenient location.
