Rancher 中的 Helm Chart

在本节中,你将学习如何在 Rancher 中管理 Helm Chart 仓库和应用。你可以在 Apps & Marketplace(Rancher v2.6.5 之前的版本)或 Apps(Rancher v2.6.5+)中管理 Helm Chart 仓库。它使用类似目录的系统从仓库中导入 Chart 包,然后使用这些 Chart 来部署自定义 Helm 应用或 Rancher 工具(例如监控和 Istio)。Rancher 工具以预加载仓库的方式提供,并能部署为独立的 Helm Chart 。其他仓库只会添加到当前集群。

Rancher 2.6 变更

Rancher 2.6.0 实现了功能 Chart 的新版本控制方案。变更主要是 Chart 的主要版本和上游 Chart 的 +up 注释(如果适用)。

主要版本:Chart 的主要版本与 Rancher 次要版本相关联。当你升级到新的 Rancher 次要版本时,你应该确保你的所有 Apps & Marketplace(Rancher v2.6.5 之前的版本)或 Apps(Rancher v2.6.5+) Chart 也升级到 Chart 的正确发行版本。

Rancher 中的 Helm Chart - 图1备注

如果你的主要版本低于下表中提到的版本,则请使用 2.5 及以下版本。例如,建议你不要在 2.6.x+ 中使用 <100.x.x 版本的 Monitoring。

功能 Chart

Name支持的最低版本支持的最高版本
external-ip-webhook100.0.0+up1.0.0100.0.1+up1.0.1
harvester-cloud-provider100.0.2+up0.1.12100.0.2+up0.1.12
harvester-csi-driver100.0.2+up0.1.11100.0.2+up0.1.11
neuvector100.0.0+up2.2.0100.0.0+up2.2.0
rancher-alerting-drivers100.0.0100.0.2
rancher-backup2.0.12.1.2
rancher-cis-benchmark2.0.12.0.4
rancher-gatekeeper100.0.0+up3.6.0100.1.0+up3.7.1
rancher-istio100.0.0+up1.10.4100.3.0+up1.13.3
rancher-logging100.0.0+up3.12.0100.1.2+up3.17.4
rancher-longhorn100.0.0+up1.1.2100.1.2+up1.2.4
rancher-monitoring100.0.0+up16.6.0100.1.2+up19.0.3
rancher-sriov (experimental)100.0.0+up0.1.0100.0.3+up0.1.0
rancher-vsphere-cpi100.3.0+up1.2.1100.3.0+up1.2.1
rancher-vsphere-csi100.3.0+up2.5.1-rancher1100.3.0+up2.5.1-rancher1
rancher-wins-upgrader0.0.100100.0.1+up0.0.1

基于上游的 Chart:对于基于上游的 Chart ,+up 注释用于表示 Rancher Chart 正在跟踪的上游版本。在升级时,请检查上游版本与 Rancher 的兼容性。

  • 例如,用于 Monitoring 的 100.x.x+up16.6.0 跟踪上游 kube-prometheus-stack 16.6.0 并添加了一些 Rancher 补丁。

  • 在升级时,请确保你没有降级你正在使用的 Chart 版本。例如,如果你在 Rancher 2.5 中使用 Monitoring > 16.6.0 版本,则不应升级到 100.x.x+up16.6.0。相反,你应该在下一个发行版中升级到适当的版本。

Charts

  • Rancher v2.6.5+
  • Rancher 版本低于 v2.6.5

从左上角的菜单中选择 Apps,然后你会转到 Chart 页面。

从左上角的菜单中选择 Apps & Marketplace,然后你会转到 Chart 页面。

Chart 页面包含所有 Rancher、Partner 和自定义 Chart 。

  • Rancher 工具(例如 Logging 或 Monitoring)包含在 Rancher 标签下
  • Partner Chart 位于 Partner 标签下
  • 自定义 Chart 将显示在仓库的名称下

所有这三种类型都以相同的方式部署和管理。

Rancher 中的 Helm Chart - 图2备注

由 Cluster Manager (旧版 Rancher UI 中的全局视图)管理的应用应继续仅由 Cluster Manager 管理,而在新 UI 中使用 Apps & Marketplace(Rancher v2.6.5 之前的版本)或 Apps(Rancher v2.6.5+)管理的应用则仅能由 Apps & MarketplaceApps 管理。

仓库

从左侧边栏中选择 仓库

这些项目代表 helm 仓库,可以是具有 index.yaml 的传统 helm 端点,也可以是被克隆并指向特定分支的 git 仓库。要使用自定义 Chart ,只需在此处添加你的仓库即可,它们将在仓库名称下的 Chart 选项卡中可用。

为 Helm Chart 仓库添加私有 CA:

  • 基于 HTTP 的 Chart 仓库:你必须将 DER 格式的 CA 证书的 base64 编码副本添加到 Chart 仓库的 spec.caBundle 字段,例如 openssl x509 -outform der -in ca.pem | base64 -w0。点击 Chart 仓库的编辑 YAML 并进行设置,如下所示:

    1. [...]
    2. spec:
    3. caBundle:
    4. MIIFXzCCA0egAwIBAgIUWNy8WrvSkgNzV0zdWRP79j9cVcEwDQYJKoZIhvcNAQELBQAwPzELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMRQwEgYDVQQKDAtNeU9yZywgSW5jLjENMAsGA1UEAwwEcm9vdDAeFw0yMTEyMTQwODMyMTdaFw0yNDEwMDMwODMyMT
    5. ...
    6. nDxZ/tNXt/WPJr/PgEB3hQdInDWYMg7vGO0Oz00G5kWg0sJ0ZTSoA10ZwdjIdGEeKlj1NlPyAqpQ+uDnmx6DW+zqfYtLnc/g6GuLLVPamraqN+gyU8CHwAWPNjZonFN9Vpg0PIk1I2zuOc4EHifoTAXSpnjfzfyAxCaZsnTptimlPFJJqAMj+FfDArGmr4=
    7. [...]
  • 基于 Git 的 Chart 仓库:你必须将 DER 格式的 CA 证书的 base64 编码副本添加到 Chart 仓库的 spec.caBundle 字段,例如 openssl x509 -outform der -in ca.pem | base64 -w0。点击 Chart 仓库的编辑 YAML 并进行设置,如下所示:

    1. [...]
    2. spec:
    3. caBundle:
    4. MIIFXzCCA0egAwIBAgIUWNy8WrvSkgNzV0zdWRP79j9cVcEwDQYJKoZIhvcNAQELBQAwPzELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMRQwEgYDVQQKDAtNeU9yZywgSW5jLjENMAsGA1UEAwwEcm9vdDAeFw0yMTEyMTQwODMyMTdaFw0yNDEwMDMwODMyMT
    5. ...
    6. nDxZ/tNXt/WPJr/PgEB3hQdInDWYMg7vGO0Oz00G5kWg0sJ0ZTSoA10ZwdjIdGEeKlj1NlPyAqpQ+uDnmx6DW+zqfYtLnc/g6GuLLVPamraqN+gyU8CHwAWPNjZonFN9Vpg0PIk1I2zuOc4EHifoTAXSpnjfzfyAxCaZsnTptimlPFJJqAMj+FfDArGmr4=
    7. [...]

Rancher 中的 Helm Chart - 图3备注

带有身份验证的 Helm Chart 仓库

从 Rancher 2.6.3 开始,Repo.Spec 中添加了一个新值 disableSameOriginCheck。它允许用户绕过相同源的检查,将仓库身份验证信息作为基本 Auth 标头与所有 API 调用一起发送。不建议采用这种做法,但这可以用作非标准 Helm Chart 仓库(例如重定向到不同源 URL 的仓库)的临时解决方案。

要将此功能用于现有 Helm Chart 仓库,请单击 ⋮ > 编辑 YAML。在 YAML 文件的 spec 部分,添加 disableSameOriginCheck 并将其设置为 true

  1. [...]
  2. spec:
  3. disableSameOriginCheck: true
  4. [...]

Helm 兼容性

仅支持 Helm 3 兼容 Chart 。

部署和升级

Chart 选项卡中选择要安装的 Chart 。Rancher 和 Partner Chart 可能通过自定义页面或 questions.yaml 文件进行额外的配置,但所有 Chart 安装都可以修改 values.yaml 和其他基本设置。单击安装后,将部署一个 Helm 操作作业,并显示该作业的控制台。

要查看所有最近的更改,请转到 最近的操作 选项卡。你可以查看已进行的调用、条件、事件和日志。

安装 Chart 后,你可以在 已安装的应用 选项卡中找到该 Chart。在本节中,你可以升级或删除安装,并查看更多详细信息。选择升级时,呈现的形式和数值与安装相同。

大多数 Rancher 工具在 应用 & 应用市场 下方的工具栏中都有额外的页面,以帮助你管理和使用这些功能。这些页面包括指向仪表板的链接、可轻松添加自定义资源的表单以及其他信息。

Rancher 中的 Helm Chart - 图4警告

如果你使用 在升级前自定义 Helm 选项 来升级 Chart,如果你的 Chart 有不可更改的字段,使用 --force 选项可能会导致错误。这是因为 Kubernetes 中的某些对象一旦创建就无法更改。要避免该错误,你可以:

  • 使用默认升级选项(即不要使用 --force 选项)
  • 卸载现有 Chart 并安装升级后的 Chart
  • 在执行 --force 升级之前删除集群中具有不可更改字段的资源

Rancher 2.6.3 变更

应用 & 应用市场 > 已安装的应用页面中,旧版应用的升级按钮已被移除。

如果你安装了旧版应用并想要升级它:

  • 必须开启旧版功能开关(如果在升级前有旧版应用导致该开关未自动开启)
  • 你可以从 cluster explorer 升级应用,从左侧导航部分选择旧版 > 项目 > 应用
  • 对于多集群应用,你可以转到 ≡ > 多集群应用并在那里升级应用

限制

Rancher CLI 不能用于安装仪表板应用程序或 Rancher 功能 Chart