|
本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。 |
使用基于 OCI 的 Helm Chart 储存库
Helm v3 引入了将 Helm Chart 作为 开放容器倡议(OCI) 工件存储在容器注册表中。在 Rancher v2.9.0 中,您可以添加 基于 OCI 的 Helm Chart 储存库,与基于 HTTP 和基于 Git 的储存库一起使用。这意味着您可以部署存储为 OCI 工件的 APP。
添加基于 OCI 的 Helm Chart 储存库
要通过 Rancher UI 添加基于 OCI 的 Helm Chart 储存库:
-
单击 ☰ > 集群管理。
-
找到您想要访问其储存库的集群名称。点击集群末尾的 探索。
-
在左侧导航栏中,选择 menu:应用[储存库]。
-
单击*创建*。
-
输入注册表的 名称。选择 OCI 储存库 作为目标。
-
输入注册表的 OCI 储存库主机 URL。注册表 endpoint 不得包含除 OCI Helm Chart 工件之外的任何内容。所有工件应具有唯一的名称。如果您尝试添加包含任何其他类型文件或工件的 endpoint,则 OCI 储存库将不会被添加。
|
您可以使用 OCI URL 字段来微调从注册表中可用于在 Rancher 上安装的 Chart 数量。更通用的 endpoint 针对更多 Chart,以下示例演示了这一点: - `oci://<registry-host>`: Every chart in the registry becomes available for installation, regardless of namespace or tag. - `oci://<registry-host>/<namespace>`: Every chart in the specified namespace within the registry becomes available for installation. - `oci://<registry-host>/<namespace>/<chart-name>`: Only the specified chart and any associated tags or versions of that chart become available for installation. - `oci://<registry-host>/<namespace>/<chart-name>:<tag>`: Only the chart with the specified tag becomes available for installation. |
-
设置认证。从认证字段中选择 基本认证 并根据需要输入用户名和密码。否则,创建或选择一个 认证 密钥。请参见 认证 以获取完整描述。
-
(可选)在 CA 证书包 字段中输入一个 base64 编码的 DER 证书。此字段适用于您拥有基于 OCI 的私有 Helm Chart 储存库,并需要 Rancher 信任其证书的情况。
-
(可选)要允许不安全的连接而不执行 SSL 检查,请选择 跳过 TLS 验证。要强制 Rancher 使用 HTTP 而不是 HTTPS 向储存库发送请求,请选择 不安全的纯 HTTP。
-
(可选)如果您的储存库有速率限制策略,并可能以状态代码
429 Too Many Requests响应,您可能需要填写 指数退避 下的字段:-
最小等待时间:Rancher 在重试之前应等待的最短时间(以秒为单位)。默认为 1 秒。
-
最大等待时间:Rancher 在重试之前应等待的最长时间(以秒为单位)。默认为 5 秒。
-
最大重试次数:默认为 5 次重试。
一旦设置了这些值,Rancher 会根据最小和最大等待值,对状态代码
429的响应分散请求。重试之间的等待时间呈指数增长,直到 Rancher 发送的重试次数达到设定的最大值。有关更多详细信息,请参见 速率限制。 -
-
添加任何标签和注释。
-
单击*创建*。
OCI 储存库激活可能需要一些时间。如果 OCI 端点包含多个名称空间,这一点尤其如此。
基于 OCI 的 Helm Chart 储存库的身份验证
Rancher 支持 OCI 注册表的基本认证。您必须创建一个 基本认证 Kubernetes 密钥。您也可以通过Rancher UI 创建密钥。
与基于 OCI 的 Helm Chart 储存库相关联的 CRD 是`ClusterRepo`。
在基于 OCI 的 Helm Chart 储存库中查看 Helm Chart
在基于 OCI 的 Helm Chart 储存库达到 Active 状态后查看 Helm Chart:
-
单击*☰*。在左侧导航菜单的*探索集群*下,选择一个集群。
-
点击 menu:应用[图表]。
-
从下拉菜单中选择基于 OCI 的 Helm Chart 储存库。
刷新基于 OCI 的 Helm Chart 储存库
Rancher 每 6 小时自动刷新一次基于 OCI 的 Helm Chart 储存库。
如果您需要立即更新,可以执行手动刷新。
更新基于 OCI 的 Helm Chart 储存库配置
-
单击 ☰ > 集群管理。
-
找到您想要访问其储存库的集群名称。点击集群行末尾的*探索*。
-
在左侧导航栏中,选择menu:应用[储存库]。
-
找到与基于 OCI 的 Helm Chart 储存库相关的行,然后单击*⋮*。
-
从子菜单中选择*编辑配置*。
删除基于 OCI 的 Helm Chart 储存库
-
单击 ☰ > 集群管理。
-
找到您想要访问其储存库的集群名称。点击集群行末尾的*探索*。
-
在左侧导航栏中,选择menu:应用[储存库]。
-
选择与基于 OCI 的 Helm Chart 储存库相关的行,然后单击*删除*。
Rancher 中基于 OCI 的 Helm Chart 储存库的大小限制
由于安全问题,您通过基于 OCI 的 储存库可以部署的 Helm Chart 大小以及在单个 OCI 端点中描述 Helm Chart 所使用的元数据量是有限制的。
Rancher 可以部署大小最多为 20 MB 的 OCI Helm Chart。
基于 OCI 的 Helm Chart 储存库的速率限制
不同的 OCI 注册表以不同的方式实施速率限制。
大多数服务器返回一个 Retry-After 头部,指示在解除速率限制之前需要等待多长时间。
当 Docker Hub 完成所有分配的请求时,它会返回一个 429 状态码。它还返回一个 RateLimit-Remaining 头部,描述速率限制策略。
Rancher 当前检查 Retry-After 头部。它还处理 Docker Hub 风格的响应(状态码 429 和 RateLimit-Remaining 头部),并在发出新请求之前自动等待。在处理 Retry-After 或 Docker Hub 风格的响应时,Rancher 会忽略 ExponentialBackOff 值。
如果您有一个基于 OCI 的 Helm Chart 储存库,但未实现 Retry-After 或 RateLimit-Remaining 头部,并且认为在某些时候可能会受到速率限制,请在添加储存库时填写 指数退避 下的字段。
例如,如果您有一个基于 OCI 的 Helm Chart 储存库,但未返回 Retry-After 头部,但您知道服务器允许在 24 小时内发出 50 个请求,您可以为 Rancher 提供一个 最小等待 值为 86400 秒,一个 最大等待 值为 90000 秒,以及一个 最大重试次数 值为 1。然后,如果 Rancher 被服务器限制速率,Rancher 将在 24 小时后再尝试。请求应该成功,因为 Rancher 在前 24 小时内没有发送任何其他请求。
故障排除 OCI 基于的 Helm 注册表
-
为了增强日志信息,在部署 Rancher 时启用调试选项。
-
如果仓库内容与 Rancher 之间存在任何差异,您应该首先刷新集群储存库。如果差异仍然存在,请从 Rancher 中删除基于 OCI 的 Helm 图表储存库并重新添加。删除储存库不会删除已经安装的任何 Helm 图表。
-
通过基于 OCI 的 Helm Chart 储存库安装的 APP 受到 Rancher 显示可升级版本信息的已知问题的影响。有关更多详细信息,请参见 限制 部分的 Helm Chart 和 APP。