INTRODUCTION OF HELM
Helm is the first application package manager running atop Kubernetes. It allows describing the application structure through convenient helm-charts and managing it with simple commands. Because it’s a huge shift in the way the server-side applications are defined, stored and managed.
A Kubernetes cluster is a set of node machines for running containerized applications.
The master node is responsible for maintaining the desired state of the cluster, such as which applications are running and which container images they use. Worker nodes actually run the applications and workloads.
Helm uses a packaging format called charts. A chart is a collection of files that describe a related set of Kubernetes resources. A single chart might be used to deploy something simple, like a memcached pod, or something complex, like a full web app stack with HTTP servers, databases, caches, and so on.
Purpose of HELM
Helm is a tool for managing Kubernetes packages called charts. Helm can do the following:
Create new charts from scratch.
Package charts into chart archive (tgz) files.
Interact with chart repositories where charts are stored.
Install and uninstall charts into an existing Kubernetes cluster.
Manage the release cycle of charts that have been installed with Helm.
Helm consists of two main components:
- Helm Client — allows developers to create new charts, manage chart repositories, and interact with the tiller server.
- Tiller Server — runs inside the Kubernetes cluster. Interacts with Helm client, and translates chart definitions and configuration to Kubernetes API commands. Tiller combines a chart and its configuration to build a release. Tiller is also responsible for upgrading charts, or uninstalling and deleting them from the Kubernetes cluster.
The chart is a bundle of information necessary to create an instance of a Kubernetes application.
The config contains configuration information that can be merged into a packaged chart to create a releasable object.
A release is a running instance of a chart, combined with a specific config.
A chart is organized as a collection of files inside of a directory.
Common actions for Helm:
helm search: search for charts.
helm pull: download a chart to your local directory to view.
helm install: upload the chart to Kubernetes.
helm list: list releases of charts.