3.1-使用Helm-安装和配置Helm客户端

5 阅读4分钟

Helm提供了一个名为helm的命令行工具,这是执行所有主要Helm任务的命令行客户端

安装和配置Helm客户端

还有许多其他工具可以使用Helm chart。

helm客户端是用Go语言编写的。

注意:一旦编译了Go程序,就不需要任何Go工具来运行或以其他方式处理二进制文件。

安装预构建的二进制文件

每次Helm维护人员发布新版本的helm时,都会为许多常见的操作系统和架构提供新的helm签名二进制版本。

Helm发布的最终列表在Helm发布页面(oreil.ly/L_My5)。

使用软件包管理器安装

许多操作系统软件包管理器,包括适用于macOS的Homebrew、适用于Linux的Snap和适用于Windows的Chocolate,都可以安装Helm。

软件包管理器使安装、更新和删除软件变得容易,可以用操作系统软件包管理器安装Helm。

但通常做法是检查所选软件包管理器中的版本是否与当前在Helm站点上标记为stable的版本相同。

关于Helm版本号

直到2020年11月,两个不同的主要版本的Helm都被积极维护。目前稳定的是Helm 3。

Helm遵循一种称为语义版本管理(SemVer)(semver.org)的版本管理约定。

语义版本的核心是三个数字部分和一个可选的稳定性标记(stability marker)(用于alpha、beta和候选版本)。以下是一些示例:

·v1.0.0

·v3.3.2

·v2.4.22-alpha.2

这种格式概括为X.Y.Z,其中X是主版本(major version),Y是次要版本(minor version),Z是补丁版本(patch release):

·主版本号往往很少增加。它表明对Helm进行了重大更改,其中一些更改可能会破坏与以前版本的兼容性。Helm 2和Helm 3之间的差别很大,需要在两个版本之间进行迁移。

·次要版本号表示新增功能。3.2.0和3.3.0之间的区别可能是添加了一些小的新特性。但是,版本之间没有突破性的修改(breaking change)。有一个警告:一个安全修复可能需要一个突破性的修改

·补丁版本号表示在这个版本和上一个版本之间只进行了向后兼容的bug修复。建议始终保持最新的补丁版本。

当看到一个版本在版本号后面附加了一个稳定性标记(如alpha.1、beta.4或rc.2)时,这意味着该版本被认为是一个预发布版本,还没有准备好用于主流生产。特别是,Helm经常在主要或次要更新之前发布候选版本

下载二进制文件

从存储库安装Helm最简单的方法就是进入发布页面(oreil.ly/L_My5)并下载最新的Helm 3版本。

在Windows上,下载文件是包含README.md文本文件、LICENSE文本文件和helm.exe的ZIP压缩包。

在macOS和Linux上,下载的是一个gzip tar压缩包(.tar.gz),可以用tar-zxf命令解压。也包含README.md文本文件、LICENSE文本文件和helm二进制文件。如果用的是Windows Subsystem for Linux(WSL),那么应该将Linux AMD64版本安装到WSL实例中。

无论哪种操作系统,二进制文件都是运行Helm所需的唯一文件,可以将其放置在系统中任何位置。

它应该被预先标记为可执行文件,但是在类似UNIX的环境中,在很少的情况下,可能还需要运行chmod helm+x命令来将Helm设置为可执行文件。

当使用Homebrew(macOS) 等软件包管理器进行安装时,helm将安装在标准位置,并能通过命令行立即使用。

安装helm后,就应该能够运行helm help命令并查看Helm帮助文本。

使用get脚本安装

在macOS和Linux上,可以运行shell脚本本将决定要安装哪个版本的Helm,并自动完成安装。

以这种方式安装的命令序列通常如下所示:

$ curl -fsSL -o get_helm.sh \
https: //raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
$ chmod 700 get_helm.sh
$ ./get_helm.sh

前面的命令获取最新版本的get_helm.sh脚本,然后使用该脚本查找并安装最新版本的Helm 3。

对于自动安装Helm的系统,例如持续集成(CI)系统,如果需要始终使用最新的Helm版本,建议使用此方法安装。

使用Kubernetes集群

Helm直接与kubernetes API服务器交互。因此,Helm需要能够连接到Kubernetes集群。

Helm读取kubectl使用的相同配置文件。

Helm将尝试通过读取环境变量KUBECONFIG来查找此信息。如果没有设置此环境变量,它将在与kubectl相同的默认位置中查找(例如,在UNIXLinuxmacOS上,KUBECONFIG来查找此信息。如果没有设置此环境变量,它将在与kubectl相同的默认位置中查找(例如,在UNIX、Linux和macOS上,HOME/.kube/config)。

还可以使用环境变量(HELM_KUBECONTEXT)和命令行标志(--kube-context)覆盖这些设置。

运行helm help可以看到环境变量和标志的列表。

Helm维护人员建议使用kubectl来管理Kubernetes凭据,让Helm只自动检测这些设置。

Helm入门

安装Helm以后就可以执行helm命令了

从Helm开始的最常见的工作流程:

1.添加chart存储库。

2.查找要安装的chart。

3.安装Helm chart。

4.查看安装内容列表。

5.升级安装。

6.删除安装。