Helm Concepts: Difference between revisions
(→Chart) |
(→Chart) |
||
Line 10: | Line 10: | ||
A chart is a Helm package, the Kubernetes equivalent of a [[yum]] RPM file or a [[Brew|Homebrew]] formula. A chart contains all resource definitions necessary to deploy and run an application inside Kubernetes. | A chart is a Helm package, the Kubernetes equivalent of a [[yum]] RPM file or a [[Brew|Homebrew]] formula. A chart contains all resource definitions necessary to deploy and run an application inside Kubernetes. | ||
Charts are installed and turned into [[#Release|releases]] with | Charts are installed and turned into [[#Release|releases]] with [[helm install]]. | ||
==Chart Archive== | ==Chart Archive== |
Revision as of 16:32, 28 August 2019
Internal
Overview
Chart
A chart is a Helm package, the Kubernetes equivalent of a yum RPM file or a Homebrew formula. A chart contains all resource definitions necessary to deploy and run an application inside Kubernetes.
Charts are installed and turned into releases with helm install.
Chart Archive
Chart Operations
Config
Template
Release
A release is a running instantiation of a chart, to which a specific config was applied. Whenever a chart is installed, a new release is created. One chart can be installed multiple times into the same cluster, and each can be independently managed and upgraded. Each release has its own release name.
Release Name
Release Operations
Repository
A repository is a place where charts are collected and shared. When Helm is installed, it is pre-configured to look into the official Kubernetes chart repository, named "stable". Repositories can be searched for charts with helm search.
Repository Operations
Dependency
- If I rely on a dependency referred from an external Helm repository, and the repository exposes newer versions, can I still rely on the fact that the old version is still available? I might not want to upgrade to the "latest", but keep using a version I tested with and was proven stable.
Runtime
The Helm Client
The client is responsible for managing charts.
The Tiller Server
The server is responsible for managing releases.
Tiller stores release information in ConfigMaps in the namespace where it is running. It could be configured to use a storage backend that uses Secrets for storing release information. More here. It could also be configured to use an SQL storage backend for storing release information. More here.