Everything You Need to Know to Start Using Helm
Charts, Releases, and Repositories
A chart is a collection of files that describe a related set of Kubernetes resources. A single chart can define a simple application, like a Redis instance, or a complex one, like a complete web application stack with a application server, a database, and a caching layer.
When you install a chart in a Kubernetes cluster, this creates a new release of that chart. A release is a specific instance of a chart running in a Kubernetes cluster. You can have multiple releases of the same chart in a cluster, each with its own configuration and state. The name of the release is specified during the installation process and should be unique within the target namespace of the cluster.
A repository, on the other hand, is a place where charts are stored, versioned, and shared. A repository can contain multiple charts, and as a user, you can add repositories to your Helm client to access and install charts from them. One of the most popular public repositories is the Artifact Hub, which hosts a wide variety of charts for different applications and services.
A chart is a collection of files that is organized as follows (an example from a WordPress chart):
wordpress/
# A YAML file containing information
# about the chart
Chart.yaml
# OPTIONAL: A plain text file containing
# the license for the chart
LICENSE
# OPTIONAL: A human-readable README file
README.md
# The default configuration values for this chart
values.yaml
# OPTIONAL: A JSON Schema for imposing a
# structure on the values.yaml file
values.schema.json
# A directory containing any charts
# upon which this chart depends.
charts/
# Custom Resource Definitions
crds/
# A directory of templates that,
# when combined with values,
# will generate valid Kubernetes manifest files.
templates/
# OPTIONAL: A plain text file containing
# short usage notes
templates/NOTES.txt
This is a quick description of each file and directory:
Chart.yaml: A YAML file containing information and metadata about the chart, such as its name, version, description, and dependenciesLICENSE: A plain text file containing the license for the chart like MIT, Apache 2.0, or GPL.README.md: A human-readable README file.
Cloud-Native Microservices With Kubernetes - 2nd Edition
A Comprehensive Guide to Building, Scaling, Deploying, Observing, and Managing Highly-Available Microservices in KubernetesEnroll now to unlock all content and receive all future updates for free.
