Helm 是为管理K8S 中的应用而提供的工具。它把 K8S 中的每一个应用抽象为一个 chart ,Chart 中定义了该应用的所有组件的配置文件。使用它能帮助开发人员更加轻量、便捷地使用K8S。Helm 官方介绍如下。

helm对grafana数据持久化_helm对grafana数据持久化


原文:

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对grafana数据持久化_Helm_02

Helm 将 K8S 中的应用抽象打包为Chart,如下图 App01 包含 svc 、db 和 ctl 三个服务,Helm 将它们的配置文件分别抽取出来,组成一个集合,并用Helm 特有的组织方式存储在一个文件夹中,再配置上一些Helm 的特有配置文件,就形成了一个Chart 包。

可以发现,这和 Docker 镜像 打包一个简单应用一样。

区别在于 Docker 管理一个独立的应用,而 Helm 管理一组有关联的应用。

helm对grafana数据持久化_Helm_03

Helm 为BS架构,即整个软件分为服务端和客户端两部分。

服务端负责存储和管理不同或不同版本的Charts,官方提供的工具是 chartmuseum ,翻译过来就是 chart 图书馆,即 chart 仓库;

客户端负责开发人员或管理员与Helm 交互,HELM 支持HELM-CLI 和 图形化界面两种方式。Helm-CLI 即官方提供的 helm 命令;图形化界面有 chartmuseumUi 、KubApp 等。

安装

安装官方文档 快速入门指南 ,安装 Helm 需要三个条件

helm对grafana数据持久化_配置文件_04


其实不然,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对grafana数据持久化_charts_05

下载完成后解压,再当前文件夹 执行 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 (命令行工具) 的安装。