Helm Package Manager

Reference: helm.sharrow-up-right, Google Cloud Training - Helm Package Managerarrow-up-right, bmc blogs - Introduction to Kubernetes Helm Chartsarrow-up-right

What is Helm?

  • It is a Kubernetes package manager

    • K8s equivalent of yum , apt, or npm!

  • Helm uses a packaging format called charts

    • Here, a chart is a collection of files that describe k8s resources

    • A chart is used to deploy something

      • ex) memcached pod, web app w/ HTTP servers, databases, etc.

    • A chart is created from files organized in a specific directory tree

      • These files can be packaged into versioned archives for deployment

The Chart File Structure

  • A chart is organized as a collection of files inside a directory

  • The directory name == the chart name (excluding versioning information)

    • ex) A chart describing WordPress is stored in wordpress/

  • Inside the directory, Helm requires the following structure

    wordpress/
      Chart.yaml          # A YAML file containing information about the chart
      LICENSE             # OPTIONAL: A plain text file containing the license for the chart
      README.md           # OPTIONAL: A human-readable README file
      values.yaml         # The default configuration values for this chart
      values.schema.json  # OPTIONAL: A JSON Schema for imposing a structure on the values.yaml file
      charts/             # A directory containing any charts upon which this chart depends.
      crds/               # Custom Resource Definitions
      templates/          # A directory of templates that, when combined with values,
                          # will generate valid Kubernetes manifest files.
      templates/NOTES.txt # OPTIONAL: A plain text file containing short usage notes
    • Helm reserves the names of the charts/, crds/, templates/ directories and all the file names shown in the example above

The Chart.yaml File

The Chart.yaml file is a required component of a chart and contains the following fields

Other fields not specified above will not be applied

Last updated