Feedback

Chat Icon

Helm in Practice

Designing, Deploying, and Operating Kubernetes Applications at Scale

Introduction to Helm
18%

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 an 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 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 dependencies

  • LICENSE: A plain text file containing the license for the chart, like MIT, Apache 2.0, or GPL.

  • README.md: A human-readable README file.

Helm in Practice

Designing, Deploying, and Operating Kubernetes Applications at Scale

Enroll now to unlock current content and receive all future updates for free. Your purchase supports the author and fuels the creation of more exciting content. Act fast, as the price will rise as the course nears completion!

Unlock now  $15.99$11.99

Hurry! This limited time offer ends in:

To redeem this offer, copy the coupon code below and apply it at checkout:

Learn More