前言
Kubernetes 提供了丰富的功能来管理云端应用。而 Helm 是 Kubernetes 官方推荐的包管理器。它帮助开发者打包、引入、部署和升级 Kubernetes 应用。本文将介绍如何使用 Helm 来管理 Kubernetes 安装包。
安装 Helm
在开始 Helm 的操作前,先要安装它。
# 下载并解压 Helm $ curl https://get.helm.sh/helm-v3.5.3-linux-amd64.tar.gz -o helm.tar.gz $ tar -zxvf helm.tar.gz # 移动 Helm 二进制文件到 /usr/local/bin 目录 $ sudo mv linux-amd64/helm /usr/local/bin/
安装完成后,我们可以检查 Helm 是否安装成功。
$ helm version version.BuildInfo{Version:"v3.5.3", GitCommit:"041ce5a2c17a58be0fcd5f5e16fb3e7e95fea622", GitTreeState:"dirty", GoVersion:"go1.16"}
应用块安装过程
下面我们以 ngnix 应用为例,介绍如何使用 Helm 安装、删除和升级应用块。
安装应用块
在 Helm 中,每个部署被称为一个“图表”,一个图表由一些相关的 Kubernetes 资源组成。
# 创建一个 nginx 图表 $ helm create nginx
helm create
命令会生成下面的目录结构。
nginx/ Chart.yaml # 图表的 metadata 信息 values.yaml # 图表的默认配置值 charts/ # 依赖包目录 templates/ # 部署模板目录 .helmignore # Helm 忽略文件列表
我们需要做的是修改 Chart.yaml
、values.yaml
和 templates
目录下的资源文件。
下面是 Chart.yaml
文件的示例内容。
apiVersion: v2 name: nginx description: A Helm chart for Kubernetes version: 0.1.0 appVersion: "1.16.0"
接下来是 values.yaml
文件示例内容。
-- -------------------- ---- ------- -- ----------- ------------- - ------ ----------- ----- ---- ------ ----------- ------------ ------------- -- ----------------- -- -------- ----- --------- ----- -- -------- -------- ----- ------------ -- ----- - ------ - ------------------- ---- --
templates
目录下的文件是 Kubernetes 渲染 Helm 模板的定义。在这篇文章中,我们将使用默认的 templates/deployment.yaml
文件,内容如下所示。
-- -------------------- ---- ------- ----------- ------- ----- ---------- --------- ----- -- ------- ---------------- - -- ------- ---- -- ------- ------------ - -- ----- --------- -- -------------------- -- --------- ------------ ---- -- ------- ------------ - -- -------- -- ------------- -- --------- --------- ------- ---- -- ------- ------------ - -- -------- -- ------------- -- ----- ----------- - ----- -- ----------- -- ------ --- ------------------------ ----- ----------------- --- ---------------- -- ------------------------ -- ------ - ----- ---- -------------- -- --------- ---
将这个资源文件进行配置后,我们就可以打包这个 chart 并安装这个应用块。
# 打包图表到 tgz 文件 $ helm package nginx # 安装图表 $ helm install nginx nginx-0.1.0.tgz
更新应用块
当我们需要升级已经安装的应用块时,可以通过 helm upgrade
命令实现。
修改 values.yaml
文件并重新打包。
- tag: stable + tag: latest
重新打包图表。
$ helm package nginx
使用 helm upgrade
命令升级已经安装的 nginx 块。
$ helm upgrade nginx nginx-0.1.0.tgz Release "nginx" has been upgraded.
删除并释放资源
我们可以通过 helm delete
命令来删除部署。这个命令可以使 Helm 停止部署并释放资源,注意这个命令还将清除所有对象,包括发行带中的所有 Kubernetes 对象。
$ helm delete nginx # 或者使用下面的命令 $ helm uninstall nginx
结论
在本文中,我们了解了如何使用 Helm 来安装、升级和删除 Kubernetes 应用块。我们进一步理解了一些重要的 Helm 文件和基本的 Helm 命令。请查看 Helm 的官方文档,深入了解图表和内置的 Helm 函数。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67067404d91dce0dc85d36f0