引
Helm 是为管理K8S 中的应用而提供的工具。它把 K8S 中的每一个应用抽象为一个 chart ,Chart 中定义了该应用的所有组件的配置文件。使用它能帮助开发人员更加轻量、便捷地使用K8S。Helm 官方介绍如下。
原文:
Helm helps you manage Kubernetes applications — Helm Charts help you define, install, and upgrade even the most complex Kubernetes application.
Charts are easy to create, version, share, and publish — so start using Helm and stop the copy-and-paste.
译文:
Helm 帮助您管理 Kubernetes 应用程序——Helm Charts 帮助您定义、安装和升级甚至是最复杂的 Kubernetes 应用程序。
Charts易于创建、版本化、共享和发布 - 所以开始使用 Helm 并停止复制和粘贴。
简介
当前(2022-09-25)Helm 维护着两个重要版本。
V3 提供了多种语言支持,如中文文档可以跳转到Helm 中文文档。V3 官网首页如下图所示
Helm 将 K8S 中的应用抽象打包为Chart,如下图 App01 包含 svc 、db 和 ctl 三个服务,Helm 将它们的配置文件分别抽取出来,组成一个集合,并用Helm 特有的组织方式存储在一个文件夹中,再配置上一些Helm 的特有配置文件,就形成了一个Chart 包。
可以发现,这和 Docker 镜像 打包一个简单应用一样。
区别在于 Docker 管理一个独立的应用,而 Helm 管理一组有关联的应用。
Helm 为BS架构,即整个软件分为服务端和客户端两部分。
服务端负责存储和管理不同或不同版本的Charts,官方提供的工具是 chartmuseum ,翻译过来就是 chart 图书馆,即 chart 仓库;
客户端负责开发人员或管理员与Helm 交互,HELM 支持HELM-CLI 和 图形化界面两种方式。Helm-CLI 即官方提供的 helm 命令;图形化界面有 chartmuseumUi 、KubApp 等。
安装
安装官方文档 快速入门指南 ,安装 Helm 需要三个条件
其实不然,Helm 只是K8S 的包管理用具,不像依赖于 K8S ,可以独立安装与运行,独立安装的 Helm 拥有其完整特性,只是不能将 chart 部署到 K8S 集群中。
因此,若只想学习 Helm ,不用安装 K8S 就可以,如果想学习 Helm 与 K8S 之间应用的部署、升级等操作,建议安装 K8S 集群环境。
安装方式
官方安装文档 https://helm.sh/zh/docs/intro/install/
1、二进制安装包
前往 Helm 二进制包 (https://github.com/helm/helm/releases) 下载需要的helm二进制文件即可。
下载完成后解压,再当前文件夹 执行 helm -h
即可看到 Helm 命令行提示。
如果要想再任何地方都能访问到helm,只需要将 helm 暴露在环境变量中即可,Win 将 helm 加入到环境变量Path 中,linux 中将 helm 路径配置到 PATH 中。
2、脚本安装
$ curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
$ chmod 700 get_helm.sh
$ ./get_helm.sh
3、各平台包管理器安装
- Mac OS
brew install helm
- Windowns OS (需要安装 Chocolatey )
choco install kubernetes-helm
- Scoop (Windows)
scoop install helm
- Apt (Debian/Ubuntu)
curl https://baltocdn.com/helm/signing.asc | gpg --dearmor | sudo tee /usr/share/keyrings/helm.gpg > /dev/null
sudo apt-get install apt-transport-https --yes
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/helm.gpg] https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list
sudo apt-get update
sudo apt-get install helm
- Snap
sudo snap install helm --classic
- pkg (FreeBSD)
sudo pkg install helm
安装成功后可远行命令helm version
校验是否成功
$ helm version
version.BuildInfo{Version:"v3.9.3", GitCommit:"414ff28d4029ae8c8b05d62aa06c7fe3dee2bc58", GitTreeState:"clean", GoVersion:"go1.17.13"}
总结
本文介绍了 Helm ,及 Helm (命令行工具) 的安装。