catalogue
The helm3 command uses summary records
Deployment management commands
Helm installing nfs storageclasses
Helm 3: command for Helm 2 that no longer exists
Helm 3: new commands compared with Helm 2
Helm 3: the command description has changed
About Helm
Container deployment on Kubernetes is not easy. docker, environment variables, storage, network and other aspects will be involved. These complex operations can be realized by helm application package management tool to avoid manual operation. Helm official website: Helm
From Helm2 to Helm3
Helm is a very common K8s application package management tool, which is responsible for the installation, deployment and life cycle management of cloud native applications.
Helm2
Helm2 has two main components:
-
Tiller: the server of helm is deployed in a pod in k8s, usually in the Kube system space. It is mainly responsible for deploying helm charts, managing release and communicating with k8s API.
-
Helm Client: it is mainly responsible for pulling the chart package from the shared or private helm charts warehouse, modifying the variable value, and then directly throwing it to tiller.
Helm2's problem
A major problem with Helm2 is that a server needs to be run in the k8s cluster, which requires exposing the tiller port to the outside world, which will lead to security risks.
The tiller introduced in helm 2 is mainly because at that time k8s there was no RBAC mechanism, so the server tiller was introduced.
Later k8s, the functions were improved accordingly, and RBAC and CRD were added, which made tiller redundant.
Helm3
helm3 has only one client and no server, so it is very convenient to install. Just download the corresponding program. There is no need to install helm init.
Compared with helm2, helm3 has several characteristics:
-
tiller removed
-
Distributed helm hub is supported. With it, there is no need to manually add unofficial repo in many cases, such as helm3 search hub < package name >
-
json schema validation for chart input values.
-
You can add tests to helm charts. You can run some tests for deployed applications through helm test < release >.
-
The release name must be specified during deployment. If it is not specified during helm2, it will be automatically generated.
-
When deleting, you don't need -- purge. Deleting is deleting.
Helm2 unloading
helm installation failed. You need to delete tiller. You can directly overwrite the version
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#aa5500"># Delete secrets, SA, clusterrolebinding related to tiller</span> kubectl <span style="color:#3300aa">get</span> <span style="color:#0000cc">-n</span> kube-system secrets,sa,clusterrolebinding <span style="color:#0000cc">-o</span> name|grep tiller|xargs kubectl <span style="color:#0000cc">-n</span> kube-system delete <span style="color:#aa5500"># Delete resources related to helm client</span> kubectl <span style="color:#3300aa">get</span> all <span style="color:#0000cc">-n</span> kube-system <span style="color:#0000cc">-l</span> <span style="color:#0000ff">app</span><span style="color:#981a1a">=</span>helm <span style="color:#0000cc">-o</span> name|xargs kubectl delete <span style="color:#0000cc">-n</span> kube-system</span></span>
Installation of Helm2
The actual combat environment is kubernetes cluster (version 1.15.3), which is composed of three CentOS 7.7 servers; After deployment, in the process of experiencing Helm, you need to prepare NFS in advance as the network storage space for deploying applications;
Deploy client
ssh login to the server that can perform kubectl operations:
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#3300aa">wget</span> https://get.helm.sh/helm-v2.16.2-linux-amd64.tar.gz <span style="color:#aa5500"># Decompression:</span> tar <span style="color:#0000cc">-zxvf</span> helm-v2.16.2-linux-amd64.tar.gz <span style="color:#aa5500"># Put the helm file in the unzipped folder into / usr/local/bin /:</span> <span style="color:#3300aa">mv</span> linux-amd64/helm /usr/local/bin/ <span style="color:#aa5500">#Check the helm version as follows. It can be seen that the client version is 2.16.2. Since the helm server (named tiller) has not been deployed, it displays "could not find tiller":</span> [root@node1 ~]<span style="color:#aa5500"># helm version</span> Client: &version.Version{SemVer:<span style="color:#aa1111">"v2.16.2"</span>, GitCommit:<span style="color:#aa1111">"bbdfe5e7803a12bbdf97e94cd847859890cf4050"</span>, GitTreeState:<span style="color:#aa1111">"clean"</span>} Error: could not <span style="color:#3300aa">find</span> tiller </span></span>
Deploy tiller
After the client is deployed, the ServiceAccount and role binding should be established
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#aa5500"># Account and role binding</span> <span style="color:#aa5500"># Create a ServiceAccount named tiller:</span> kubectl create serviceaccount <span style="color:#0000cc">--namespace</span> kube-system tiller <span style="color:#aa5500"># Bind tiller to the role tiller cluster rule:</span> kubectl create clusterrolebinding tiller-cluster-rule <span style="color:#0000cc">--clusterrole</span><span style="color:#981a1a">=</span>cluster-admin <span style="color:#0000cc">--serviceaccount</span><span style="color:#981a1a">=</span>kube-system:tiller <span style="color:#aa5500"># helm initialization, in which the image of tiller comes from Alibaba cloud, and the default warehouse is also set to Alibaba cloud:</span> helm init <span style="color:#0000cc">--upgrade</span> <span style="color:#0000cc">-i</span> registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.16.2 <span style="color:#0000cc">--stable-repo-url</span> https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts <span style="color:#0000cc">--service-account</span> tiller <span style="color:#aa5500"># After the console prompts that the helm version is successful, execute helm version again, and the output is as follows. It can be seen that the server of helm has returned the information:</span> [root@master-1 ~]<span style="color:#aa5500"># helm version</span> Client: &version.Version{SemVer:<span style="color:#aa1111">"v2.16.2"</span>, GitCommit:<span style="color:#aa1111">"bbdfe5e7803a12bbdf97e94cd847859890cf4050"</span>, GitTreeState:<span style="color:#aa1111">"clean"</span>} Server: &version.Version{SemVer:<span style="color:#aa1111">"v2.16.2"</span>, GitCommit:<span style="color:#aa1111">"bbdfe5e7803a12bbdf97e94cd847859890cf4050"</span>, GitTreeState:<span style="color:#aa1111">"clean"</span>}</span></span>
Now that helm is installed, let's deploy an application
Helm2 common commands
View version
# helm version
View currently installed charts
#helm list
Query charts
#helm search redis
Install charts
#helm install --name redis --namespaces prod bitnami/redis
View charts status
#helm status redis
Delete charts
#helm delete --purge redis
Add repo
#helm repo add stable https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
#helm repo add --username admin --password password myharbor https://harbor.qing.cn/chartrepo/charts
Update repo warehouse resources
#helm repo update
Create charts
#helm create helm_charts
Test charts syntax
helm lint
Pack charts
#cd helm_charts && helm package ./
View the generated yaml file
#helm template helm_charts-0.1.1.tgz
Update image
#helm upgrade --set image.tag='v2019-05-09-18-48-40' study-api-en-oral myharbor/study-api-en-oral
Rollback relase
#helm hist study-api-en-oral
#helm rollback study-api-en-oral 4
Migration from Helm2 to Helm3
Helm officially provides a small public initiative to help us migrate the deployed helm2 applications to helm3.
-
Install plug-ins
<span style="background-color:#f8f8f8"><span style="color:#333333">$ helm3 plugin install https://github.com/helm/helm-2to3</span></span>
-
Migrate the configuration of helm2, such as warehouse
<span style="background-color:#f8f8f8"><span style="color:#333333">$ helm3 2to3 move config</span></span>
-
Migrate helm2 deployed applications (ensure helm2 and helm3 are installed on the same machine at the same time)
<span style="background-color:#f8f8f8"><span style="color:#333333">$ helm3 2to3 convert <release-name> --delete-v2-releases</span></span>
Helm3 installation
Binary installation
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#aa5500"># Get the latest binary installation package according to the operating system https://github.com/helm/helm/releases </ span> <span style="color:#3300aa">wget</span> https://get.helm.sh/helm-v3.3.1-linux-amd64.tar.gz <span style="color:#aa5500"># Since the helm package is abroad, I pulled Tencent cloud cos through ss. In China, I can access it through the following address: https://download.osichina.net/tools/k8s/helm/helm-v3.3.1-linux-amd64.tar.gz </ span> tar <span style="color:#0000cc">-zxvf</span> helm-v3.3.1-linux-amd64.tar.gz <span style="color:#3300aa">cp</span> linux-amd64/helm /usr/local/bin/</span></span>
For other installation of helm, please refer to the official website: Helm | Installing Helm
Note: the helm client needs to be downloaded to the server that has kubectl installed and can operate kubernetes normally through kubectl, otherwise helm will not be available
Configure repo
<span style="background-color:#f8f8f8"><span style="color:#333333">helm repo add elastic https://helm.elastic.co helm repo add gitlab https://charts.gitlab.io helm repo add harbor https://helm.goharbor.io helm repo add bitnami https://charts.bitnami.com/bitnami helm repo add incubator https://kubernetes-charts-incubator.storage.googleapis.com helm repo add stable https://kubernetes-charts.storage.googleapis.com <span style="color:#aa5500"># Add domestic warehouse </ span> helm repo add stable http://mirror.azure.cn/kubernetes/charts helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts helm repo update helm repo list </span></span>
The helm3 command uses summary records
However, there are many helm commands and many parameters. It's certainly not possible to rely on memory. You won't forget it if you don't use it for a few months
This article is not only a review of helm commands, but also a structured summary of these commands
In this article, nginx chart is taken as an example. Please pay attention to the replacement when using it
Information command
Commands containing helm's own information
View environment information
<span style="background-color:#f8f8f8"><span style="color:#333333">helm env </span></span>
View version information
<span style="background-color:#f8f8f8"><span style="color:#333333">helm version</span></span>
Warehouse command
Commands related to warehouse operation are often used
Find software
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#000000">helm</span> <span style="color:#000000">search</span> <span style="color:#000000">repo</span> <span style="color:#000000">nginx</span> <span style="color:#000000">helm</span> <span style="color:#000000">search</span> <span style="color:#000000">hub</span> <span style="color:#000000">nginx</span> </span></span>
Add a warehouse
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#000000">helm</span> <span style="color:#000000">repo</span> <span style="color:#000000">add</span> <span style="color:#000000">bitnami</span> <span style="color:#000000">https</span>:<span style="color:#aa5500">//charts.bitnami.com/bitnami</span></span></span>
View the list of existing warehouses
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#000000">helm</span> <span style="color:#000000">repo</span> <span style="color:#000000">list</span> </span></span>
Update warehouse resources
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#000000">helm</span> <span style="color:#000000">repo</span> <span style="color:#000000">update</span></span></span>
Delete a warehouse
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#000000">helm</span> <span style="color:#000000">repo</span> <span style="color:#770088">delete</span> <span style="color:#000000">bitnami</span></span></span>
Create warehouse index
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#000000">helm</span> <span style="color:#000000">repo</span> <span style="color:#000000">index</span> <span style="color:#981a1a">/</span><span style="color:#000000">root</span><span style="color:#981a1a">/</span><span style="color:#000000">helm</span><span style="color:#981a1a">/</span><span style="color:#000000">repo</span></span></span>
Deployment management commands
This part includes a series of operations such as deploying applications and managing applications, which are frequently used
Deploy chart and specify the version
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#000000">helm</span> <span style="color:#000000">install</span> <span style="color:#000000">center</span><span style="color:#981a1a">-</span><span style="color:#000000">nginx</span> <span style="color:#000000">bitnami</span><span style="color:#981a1a">/</span><span style="color:#000000">nginx</span> <span style="color:#981a1a">--</span><span style="color:#000000">version</span> <span style="color:#116644">9.4.1</span></span></span>
Unload chart
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#000000">helm</span> <span style="color:#000000">uninstall</span> <span style="color:#000000">center</span><span style="color:#981a1a">-</span><span style="color:#000000">nginx</span></span></span>
chart status view
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#000000">helm</span> <span style="color:#000000">status</span> <span style="color:#000000">center</span><span style="color:#981a1a">-</span><span style="color:#000000">nginx</span></span></span>
View chart list
-Table A all namespace s
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#000000">helm</span> <span style="color:#000000">list</span> <span style="color:#981a1a">-</span><span style="color:#000000">A</span> </span></span>
chart deployment history
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#000000">helm</span> <span style="color:#000000">history</span> <span style="color:#000000">center</span><span style="color:#981a1a">-</span><span style="color:#000000">nginx</span></span></span>
chart update
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#000000">helm</span> <span style="color:#000000">upgrade</span> <span style="color:#981a1a">--</span><span style="color:#000000">set</span> <span style="color:#000000">image</span>.<span style="color:#000000">tag</span><span style="color:#981a1a">=</span><span style="color:#000000">nginx</span><span style="color:#116644">.18</span> <span style="color:#000000">center</span><span style="color:#981a1a">-</span><span style="color:#000000">nginx</span> <span style="color:#000000">bitnami</span><span style="color:#981a1a">/</span><span style="color:#000000">nginx</span></span></span>
chart rollback
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#000000">helm</span> <span style="color:#000000">rollback</span> <span style="color:#000000">center</span><span style="color:#981a1a">-</span><span style="color:#000000">nginx</span> <span style="color:#116644">2</span></span></span>
chart production command
This part includes the download of chart and the commands related to making chart package
Download chart package
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#000000">helm</span> <span style="color:#000000">pull</span> <span style="color:#000000">bitnami</span><span style="color:#981a1a">/</span><span style="color:#000000">nginx</span></span></span>
Check chart package syntax
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#000000">helm</span> <span style="color:#000000">lint</span> </span></span>
Render mode test chart package
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#000000">helm</span> <span style="color:#000000">install</span> <span style="color:#981a1a">--</span><span style="color:#000000">debug</span> <span style="color:#981a1a">--</span><span style="color:#000000">dry</span><span style="color:#981a1a">-</span><span style="color:#000000">run</span> <span style="color:#000000">testchart</span> .</span></span>
Create chart package
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#000000">helm</span> <span style="color:#000000">create</span> <span style="color:#000000">testchart</span></span></span>
Upload chart package to private server
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#000000">helm</span> <span style="color:#000000">push</span> <span style="color:#000000">nginx</span><span style="color:#981a1a">-</span><span style="color:#116644">9.4.1</span>.<span style="color:#000000">tgz</span> <span style="color:#000000">chartmuseum</span> <span style="color:#981a1a">--</span><span style="color:#000000">debug</span></span></span>
chart information command
chart is a resource collection and a format in helm. We can view relevant information before installation and use
Because the readme values all in helm show is of little value and too much information is displayed, it is not recorded here and rarely used. Because there are too many displayed contents, it is better to read it on the page
View chart package information
Display the version, source code and other information of chart package
<span style="background-color:#f8f8f8"><span style="color:#333333">helm show chart bitnami/nginx</span></span>
release information command
The concept of release in helm is a deployed chart (excluding whether k8s is successfully deployed). Such commands are misused after deployment because the information displayed by such commands is also implemented by other commands, and all of them are rarely used
View release notes
<span style="background-color:#f8f8f8"><span style="color:#333333">helm get notes center-nginx</span></span>
View the value modified by release
If it has not been modified after install, it is null
<span style="background-color:#f8f8f8"><span style="color:#333333">helm get values center-nginx</span></span>
View release hook
<span style="background-color:#f8f8f8"><span style="color:#333333">helm get hooks center-nginx</span></span>
View manifest configuration file
The manifest configuration file is the resource configuration file in kubernetes, with the same name
<span style="background-color:#f8f8f8"><span style="color:#333333">helm get manifest center-nginx</span></span>
View all release information
This is the aggregation of the values of the above four commands
<span style="background-color:#f8f8f8"><span style="color:#333333">helm get all center-nginx</span></span>
Plug in command
This section lists plug-in commands, which are rarely used
Install plug-ins
<span style="background-color:#f8f8f8"><span style="color:#333333">helm plugin install https://github.com/chartmuseum/helm-push.git</span></span>
Plug in list
<span style="background-color:#f8f8f8"><span style="color:#333333">helm plugin list</span></span>
Uninstall plug-in
<span style="background-color:#f8f8f8"><span style="color:#333333">helm plugin pluginName</span></span>
Update plug-in
<span style="background-color:#f8f8f8"><span style="color:#333333">helm plugin update pluginName</span></span>
Helm installing nfs storageclasses
Installing nfs
<span style="background-color:#f8f8f8"><span style="color:#333333">yum -y install epel-release yum -y install nfs-utils rpcbind systemctl enable rpcbind nfs-server nfs-lock nfs-idmap systemctl start rpcbind nfs-server nfs-lock nfs-idmap # 172.18.4. * all IP addresses can access nfs echo "/data 172.18.4.*(rw,sync,no_root_squash)" > /etc/exports exportfs -a </span></span>
Installing nfs storageclasses
<span style="background-color:#f8f8f8"><span style="color:#333333">helm pull stable/nfs-client-provisioner --untar cd nfs-client-provisioner/ vim values.yaml helm install nfs -f values.yaml .</span></span>
values.yaml
<span style="background-color:#f8f8f8"><span style="color:#333333">... nfs: server: <span style="color:#116644">172</span>.18.4.202 path: /data/nfs mountOptions: ...</span></span>
There are some differences between Helm 2 and Helm 3 in use. In addition to removing Tiller in Helm 3, some commonly used commands have also changed, which are briefly sorted out in this article.
List of common commands
command | Helm 2 | Helm 3 | Command description differences | Command description |
---|---|---|---|---|
create | have | have | nothing | create a new chart with the given name |
delete | have | nothing | - | given a release name, delete the release from Kubernetes |
dependency | have | have | nothing | manage a chart's dependencies |
fetch | have | nothing | - | download a chart from a repository and (optionally) unpack it in local directory |
get | have | have | have | download a named release |
history | have | have | nothing | fetch release history |
home | have | nothing | - | displays the location of HELM_HOME |
init | have | nothing | - | initialize Helm on both client and server |
inspect | have | nothing | - | inspect a chart |
install | have | have | have | install a chart archive |
lint | have | have | nothing | examines a chart for possible issues |
list | have | have | nothing | list releases |
package | have | have | nothing | package a chart directory into a chart archive |
plugin | have | have | have | add, list, or remove Helm plugins |
repo | have | have | nothing | add, list, remove, update, and index chart repositories |
reset | have | nothing | - | uninstalls Tiller from a cluster |
rollback | have | have | nothing | roll back a release to a previous revision |
search | have | have | nothing | search for a keyword in charts |
serve | have | nothing | - | start a local http web server |
status | have | have | nothing | displays the status of the named release |
template | have | have | nothing | locally render templates |
test | have | have | have | test a release |
upgrade | have | have | nothing | upgrade a release |
verify | have | have | nothing | verify that a chart at the given path has been signed and is valid |
version | have | have | have | print the client/server version information |
env | nothing | have | - | Helm client environment information |
help | nothing | have | - | Help about any command |
pull | nothing | have | - | download a chart from a repository and (optionally) unpack it in local directory |
show | nothing | have | - | show information of a chart |
uninstall | nothing | have | - | uninstall a release |
Helm 3: command for Helm 2 that no longer exists
In the previous article example, we found that helm init no longer exists in Helm 3. Similarly, there are 7 commands in Helm 3, which are deleted, renamed or enhanced. For example, due to the removal of Tiller, the reset command has no meaning. At the same time, init has only the functions that need to be set by the client, so it is removed. In addition, such as the fetch command, the pull command is provided in Helm 3 instead. Originally, the home command was used to display HELM_HOME environment variable, and the env command provided in Helm 3 can display all environment variable information, which is replaced with enhanced functions. However, in any case, the following seven commands cannot be used directly in Helm 3.
command | Helm 2 | Helm 3 | Command description |
---|---|---|---|
delete | have | nothing | given a release name, delete the release from Kubernetes |
fetch | have | nothing | download a chart from a repository and (optionally) unpack it in local directory |
home | have | nothing | displays the location of HELM_HOME |
init | have | nothing | initialize Helm on both client and server |
inspect | have | nothing | inspect a chart |
reset | have | nothing | uninstalls Tiller from a cluster |
serve | have | nothing | start a local http web server |
Helm 3: new commands compared with Helm 2
Compared with Helm 2, from the information obtained from helm --help, we can see that the following five commands are newly added in Helm 3.
command | Helm 2 | Helm 3 | Command description |
---|---|---|---|
env | nothing | have | Helm client environment information |
help | nothing | have | Help about any command |
pull | nothing | have | download a chart from a repository and (optionally) unpack it in local directory |
show | nothing | have | show information of a chart |
uninstall | nothing | have | uninstall a release |
A little analysis will reveal the following facts:
-
env is an enhancement of the deleted command home
-
pull is a replacement for the deleted command fetch
-
show is the replacement of the deleted command inspect
-
The help command itself can be used in the Helm 2 era, but it is not displayed in helm --help, which is a self-contained enhancement of the document
-
uninstall is a feature enhancement
Helm 3: the command description has changed
Due to the removal of Tiller, the expression of the version display command helm version has changed from displaying the version information of the client/server to displaying the version information of the client. Similarly, there are five commands that have changed. Whether they are document changes or functional reflection will be further explained through examples in subsequent articles.
command | Helm 2 | Helm 3 | Command description differences | Helm 2 command description | Helm 3 command description |
---|---|---|---|---|---|
get | have | have | have | download a named release | download extended information of a named release |
install | have | have | have | install a chart archive | install a chart |
plugin | have | have | have | add, list, or remove Helm plugins | install, list, or uninstall Helm plugins |
test | have | have | have | test a release | run tests for a release |
version | have | have | have | print the client/server version information | print the client version information |
Helm 3: other changes
This is not to say that helm --help does not change, and there is no difference in use. For example, repo and install have changed in use, but they are not provided in the help information provided by helm itself. These will be further explained in the use of subsequent examples.
Helm 2 to Helm 3 upgrade
helm also provides a portable plug-in. For details, see:
The Helm command used for comparison in this paper is taken as Helm 2.8.2 and Helm 3.0.0.
Helm version support policy
This document describes the maximum version deviation supported between Helm and Kubernetes.
Supported versions
The version of Helm is described by x.y.z. x is the main version, y is the secondary version, and Z is the patch version. Follow Semantic version Terminology.
The Helm project maintains a release branch for the most recent minor version. Appropriate fixes, including security fixes, cherry pick from the release branch, depending on severity. See for more details Helm version policy.
Supported version deviations
When a new version of Helm is released, it is compiled for a specific minor version of Kubernetes. For example, Helm 3.0.0 interacts with the 1.16.2 client version of Kubernetes, which can be compatible with Kubernetes 1.16 at one time.
Starting with Helm 3, Helm compiles assuming compatibility with Kubernetes for the n-3 version. Since Helm 2 supports minor changes to Kubernetes a little more strictly, it is assumed to be compatible with the n-1 version of Kubernetes.
For example, if you are using a Helm 3 version compiled for the Kubernetes 1.17 client API version, it should be safe to use Kubernetes 1.17, 1.16, 1.15, and 1.14. If you are using a Helm 2 version compiled for the Kubernetes 1.16 client API version, it should be safe to use Kubernetes 1.16 and 1.15.
Helm is not recommended for higher versions of Kubernetes than the version on which it is compiled, because helm does not guarantee any forward compatibility.
If you choose a Helm that is not supported by the Kubernetes version, you need to do so at your own risk.
Please refer to the following table to determine which version of Helm is compatible with your cluster.
Helm version | Supported Kubernetes versions |
---|---|
3.7.x | 1.22.x - 1.19.x |
3.6.x | 1.21.x - 1.18.x |
3.5.x | 1.20.x - 1.17.x |
3.4.x | 1.19.x - 1.16.x |
3.3.x | 1.18.x - 1.15.x |
3.2.x | 1.18.x - 1.15.x |
3.1.x | 1.17.x - 1.14.x |
3.0.x | 1.16.x - 1.13.x |
2.16.x | 1.16.x - 1.15.x |
2.15.x | 1.15.x - 1.14.x |
2.14.x | 1.14.x - 1.13.x |
2.13.x | 1.13.x - 1.12.x |
2.12.x | 1.12.x - 1.11.x |
2.11.x | 1.11.x - 1.10.x |
2.10.x | 1.10.x - 1.9.x |
2.9.x | 1.10.x - 1.9.x |
2.8.x | 1.9.x - 1.8.x |
2.7.x | 1.8.x - 1.7.x |
2.6.x | 1.7.x - 1.6.x |
2.5.x | 1.6.x - 1.5.x |
2.4.x | 1.6.x - 1.5.x |
2.3.x | 1.5.x - 1.4.x |
2.2.x | 1.5.x - 1.4.x |
2.1.x | 1.5.x - 1.4.x |
2.0.x | 1.4.x - 1.3.x |