Kubernetes 如何使用 Helm 管理安装包?

阅读时长 5 分钟读完

前言

Kubernetes 提供了丰富的功能来管理云端应用。而 Helm 是 Kubernetes 官方推荐的包管理器。它帮助开发者打包、引入、部署和升级 Kubernetes 应用。本文将介绍如何使用 Helm 来管理 Kubernetes 安装包。

安装 Helm

在开始 Helm 的操作前,先要安装它。

安装完成后,我们可以检查 Helm 是否安装成功。

应用块安装过程

下面我们以 ngnix 应用为例,介绍如何使用 Helm 安装、删除和升级应用块。

安装应用块

在 Helm 中,每个部署被称为一个“图表”,一个图表由一些相关的 Kubernetes 资源组成。

helm create 命令会生成下面的目录结构。

我们需要做的是修改 Chart.yamlvalues.yamltemplates 目录下的资源文件。

下面是 Chart.yaml 文件的示例内容。

接下来是 values.yaml 文件示例内容。

-- -------------------- ---- -------
-- -----------

------------- -

------
  ----------- -----
  ---- ------
  ----------- ------------

------------- --
----------------- --

--------
  ----- ---------
  ----- --

--------
  -------- -----
  ------------ --
  ----- -
  ------
    - -------------------
  ---- --

templates 目录下的文件是 Kubernetes 渲染 Helm 模板的定义。在这篇文章中,我们将使用默认的 templates/deployment.yaml文件,内容如下所示。

-- -------------------- ---- -------
----------- -------
----- ----------
---------
  ----- -- ------- ---------------- - --
  -------
    ---- -- ------- ------------ - --
-----
  --------- -- -------------------- --
  ---------
    ------------
      ---- -- ------- ------------ - --
      -------- -- ------------- --
  ---------
    ---------
      -------
        ---- -- ------- ------------ - --
        -------- -- ------------- --
    -----
      -----------
        - ----- -- ----------- --
          ------ --- ------------------------ ----- ----------------- ---
          ---------------- -- ------------------------ --
          ------
            - ----- ----
              -------------- --
              --------- ---

将这个资源文件进行配置后,我们就可以打包这个 chart 并安装这个应用块。

更新应用块

当我们需要升级已经安装的应用块时,可以通过 helm upgrade 命令实现。

修改 values.yaml 文件并重新打包。

重新打包图表。

使用 helm upgrade 命令升级已经安装的 nginx 块。

删除并释放资源

我们可以通过 helm delete 命令来删除部署。这个命令可以使 Helm 停止部署并释放资源,注意这个命令还将清除所有对象,包括发行带中的所有 Kubernetes 对象。

结论

在本文中,我们了解了如何使用 Helm 来安装、升级和删除 Kubernetes 应用块。我们进一步理解了一些重要的 Helm 文件和基本的 Helm 命令。请查看 Helm 的官方文档,深入了解图表和内置的 Helm 函数。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67067404d91dce0dc85d36f0

纠错
反馈