Helm 是一个用于 Kubernetes 的包管理工具,它简化了应用程序在 Kubernetes 上部署和管理工作负载的过程。通过使用 Chart(一组定义 Kubernetes 资源的文件),用户可以轻松地安装、更新和删除应用。
Helm 提供了一个官方仓库 stable
,你可以直接从中获取各种应用程序。首先需要添加该仓库:
helm repo add stable https://charts.helm.sh/stable
执行后会提示你是否要将 stable
加入到全局配置中,默认选择 Y
即可。
在添加了新的源之后,为了确保能够获取最新的 Chart 版本信息,需要更新包索引:
helm repo update
Helm 本身就是一个基于 Go 编写的命令行工具。你可以直接从官方 GitHub 仓库下载安装包。
对于 Linux 用户,可以使用以下命令进行安装(以 Ubuntu 为例):
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
对于 macOS 用户,可以使用 Homebrew 进行安装:
brew install helm
安装完成后,你可以通过以下命令查看当前的 Helm 版本信息以确认安装成功:
helm version
同时,你还可以配置 Helm 的用户凭证、仓库位置等参数。例如,在 Kubernetes 上进行部署时,需要使用 --kubeconfig
参数来指定认证文件路径:
HELM_HOME=/path/to/helm/home helm install my-release stable/nginx-ingress --kubeconfig /path/to/kube-config.yaml
通过编写 Chart.yaml
、values.yaml
等文件来定义你的应用程序,这些文件会存储在某个目录下,然后使用以下命令打包为一个 Chart 文件:
helm package /path/to/chart/directory
有了 Chart 包之后,可以通过指定名称和版本来安装应用。例如,安装 stable/nginx-ingress
Chart:
helm install my-release stable/nginx-ingress
你可以通过自定义 values.yaml
来配置应用程序的参数。在安装时提供一个包含特定参数值的新 values.yaml
文件,例如:
ingress:
enabled: true
host: example.com
tls:
- hosts:
- "example.com"
更新现有应用非常简单。首先查找你所安装的应用的名称,然后使用 helm upgrade
命令:
helm upgrade my-release stable/nginx-ingress --reuse-values
要删除应用,请执行以下命令:
helm uninstall my-release
Helm 为在 Kubernetes 上部署和管理应用程序提供了强大的工具。通过本文的介绍,你已经掌握了如何安装和配置 Helm,并了解了使用 Helm 进行包管理和资源部署的基本步骤。现在你可以开始探索更高级的功能,如自定义模板、创建自己的 Chart 等,进一步提高工作效率。