Helm has two important concepts: chart and release.
Chart is a collection of information that creates an application, including configuration templates, parameter definitions, dependencies, documentation, and more for various Kubernetes objects. Chart is the self-contained logical unit of the application deployment. Think of the chart as a software installation package in apt, yum.
Release is a running instance of chart that represents a running application. When chart is installed into the Kubernetes cluster, a release is generated. The chart can be installed to the same cluster multiple times, and each installation is a release.
Helm is a package management tool, and the package here refers to the chart. Helm can:
Create a new chart from zero.
Interact with the repository where the chart is stored, pull, save, and update the chart.
Install and uninstall the release in the Kubernetes cluster.
Update, rollback, and test release.
Helm consists of two components: the Helm client and the Tiller server.
The Helm client is a command-line tool used by end users who can:
Develop a chart locally.
Manage chart warehouse.
Interact with the Tiller server.
Install the chart on the remote Kubernetes cluster.
View the release information.
Upgrade or uninstall an existing release.
The Tiller server runs in a Kubernetes cluster, which processes Helm client requests and interacts with the Kubernetes API Server. The Tiller server is responsible for:
Listen for requests from Helm clients.
Build a release via chart.
Install chart in Kubernetes and track the status of the release.
Upgrade or uninstall an existing release through the API Server.
To put it simply: the Helm client is responsible for managing the chart; the Tiller server is responsible for managing the release.
deploy helm client:
deploy Tiller server
Tiller itself runs as a containerized application in Kubernetes Cluster:
You can see Tiller’s Service, Deployment, and Pod.
use Helm
helm search
helm manages chart as apt and yum manages software package
stable is offical repo ,local is local repo
helm install stable/mysql
- description of this release ,NAME,STATUS
- the release includes Service,Deployment,Secret,PersistentVolumeClaim
- how to use release
chart is composed of a series of files:
chart.yaml:describe chart abstart info
value.yaml:to set parameter for templates
templates:standard yaml file will be combined with value.yaml