第 3 章 Helm CLI


3.1. 在 OpenShift Container Platform 中使用 Helm 3

重要

用于 OpenShift Container Platform 的 Helm 3 只是一个技术预览功能。技术预览功能不被红帽产品服务等级协议 (SLA) 支持,且可能在功能方面有缺陷。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

有关红帽技术预览功能支持范围的详情,请参阅 https://access.redhat.com/support/offerings/techpreview/

3.1.1. 了解 Helm

Helm 是一个命令行界面 (CLI) 工具,简化了应用程序和服务部署到 OpenShift Container Platform 集群的过程。Helm 使用名为 chart 的打包格式。Helm chart 是描述 OpenShift Container Platform 资源的一个文件集合。

3.1.1.1. 主要特性

Helm 提供以下功能:

  • 搜索存储在 chart 存储库中的一个大型 chart 集合。
  • 修改现有 chart。
  • 使用 OpenShift Container Platform 或 Kubernetes 资源创建自己的 chart。
  • 将应用程序打包为 chart 并共享。

3.1.2. 安装 Helm

先决条件

  • 已安装了 Go 版本 1.13 或更高版本。

3.1.2.1. 对于 Linux

  1. 下载 Helm 二进制文件并将其添加到您的路径中:

    # curl -L https://mirror.openshift.com/pub/openshift-v4/clients/helm/latest/helm-linux-amd64 -o /usr/local/bin/helm
  2. 使二进制文件可执行:

    # chmod +x /usr/local/bin/helm
  3. 检查已安装的版本:

    $ helm version
    version.BuildInfo{Version:"v3.0", GitCommit:"b31719aab7963acf4887a1c1e6d5e53378e34d93", GitTreeState:"clean", GoVersion:"go1.13.4"}

3.1.2.2. 对于 Windows 7/8

  1. 下载最新的 .exe 文件并放入您自己选择的目录 。
  2. 右键点击 Start 并点击 Control Panel
  3. 选择 系统和安全性 ,然后点击 系统
  4. 在左侧的菜单中选择高级系统设置并点击底部的环境变量按钮。
  5. 变量部分选择路径并点编辑
  6. 新建并输入到 .exe 文件的路径,或者点击 浏览 并选择目录,然后点 确定

3.1.2.3. 对于 Windows 10

  1. 下载最新的 .exe 文件并放入您自己选择的目录 。
  2. 点击 搜索 并输入 env 或者 environment
  3. 选择为您的帐户编辑环境变量
  4. 变量部分选择路径并点编辑
  5. 新建并输入到 exe 文件所在目录的路径,或者点击 浏览 并选择目录,然后点击确定

3.1.2.4. 对于 macOS:

  1. 下载 Helm 二进制文件并将其添加到您的路径中:

    # curl -L https://mirror.openshift.com/pub/openshift-v4/clients/helm/latest/helm-darwin-amd64 -o /usr/local/bin/helm
  2. 使二进制文件可执行:

    # chmod +x /usr/local/bin/helm
  3. 检查已安装的版本:

    $ helm version
    version.BuildInfo{Version:"v3.0", GitCommit:"b31719aab7963acf4887a1c1e6d5e53378e34d93", GitTreeState:"clean", GoVersion:"go1.13.4"}

3.1.3. 在 OpenShift Container Platform 集群中安装 Helm chart

先决条件

  • 您有一个正在运行的 OpenShift Container Platform 集群,并已登录该集群。
  • 您已安装 Helm。

流程

  1. 创建一个新项目

    $ oc new-project mysql
  2. 将一个 Helm chart 存储库添加到本地 Helm 客户端:

    $ helm repo add stable https://kubernetes-charts.storage.googleapis.com/
    "stable" has been added to your repositories
  3. 更新存储库:

    $ helm repo update
  4. 安装示例 MySQL chart:

    $ helm install example-mysql stable/mysql
  5. 验证 chart 是否已成功安装:

    $ helm list
    NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
    example-mysql mysql 1 2019-12-05 15:06:51.379134163 -0500 EST deployed mysql-1.5.0 5.7.27

3.1.4. 在 OpenShift Container Platform 上创建自定义 Helm chart

流程

  1. 创建一个新项目

    $ oc new-project nodejs-ex-k
  2. 下载包含 OpenShift Container Platform 对象的示例 Node.js chart:

    $ git clone https://github.com/redhat-developer/redhat-helm-charts
  3. 进入包含 chart 示例的目录:

    $ cd redhat-helm-charts/alpha/nodejs-ex-k/
  4. 编辑 Chart.yaml 文件并添加 chart 描述:

    apiVersion: v2 1
    name: nodejs-ex-k 2
    description: A Helm chart for OpenShift 3
    icon: https://static.redhat.com/libs/redhat/brand-assets/latest/corp/logo.svg 4
    1
    Chart API 版本。对于至少需要 Helm 3 的 Helm Chart,它应该是 v2
    2
    chart 的名称。
    3
    chart 的描述。
    4
    用作图标的图形的 URL。
  5. 验证 chart 格式是否正确:

    $ helm lint
    [INFO] Chart.yaml: icon is recommended
    
    1 chart(s) linted, 0 chart(s) failed
  6. 安装 chart:

    $ cd ..
    $ helm install nodejs-chart nodejs-ex-k
  7. 验证 chart 是否已成功安装:

    $ helm list
    NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
    nodejs-chart nodejs-ex-k 1 2019-12-05 15:06:51.379134163 -0500 EST deployed nodejs-0.1.0  1.16.0
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.