Skip to main content

What is the difference between a chart and a release?

· One min read

In the context of Helm, a chart and a release are two distinct but connected concepts

Chart

  1. Think of it as a blueprint or template for deploying an application in a Kubernetes cluster. It contains all the necessary Kubernetes manifest files like deployments, services, pods, and config maps, pre-configured with default values.
  2. It's versioned, allowing you to install different versions of the application with different configurations.
  3. You can find and download charts from repositories like Helm Hub or private repositories.
  4. A single chart can be installed multiple times in a cluster, creating different releases.

Release

  1. This is a specific instance of a chart that has been deployed to a Kubernetes cluster using Helm. It's the actual running application created from the chart template.
  2. Each release has its own unique name and namespace within the cluster.
  3. You can view information about releases, upgrade them to newer versions of the chart, or even roll back to previous versions.
  4. Multiple releases of the same chart can coexist in a cluster, allowing you to run different versions of the application or manage separate environments.

Here's an analogy to further clarify the difference

  1. Imagine a chart as a recipe for your favorite dish. It tells you the ingredients and steps needed to prepare the food.
  2. A release is actually cooking the dish based on that recipe. Each time you cook the dish, it's a new instance of the recipe, but you can use the same recipe (chart) again to cook it differently or for different occasions.