3.4. 使用 oc-mirror 插件为断开连接的安装镜像镜像
您可以确保集群只使用满足您机构对外部内容控制的容器镜像。在受限网络中置备的基础架构上安装集群前,您必须将所需的容器镜像镜像(mirror)到那个环境中。要镜像容器镜像,您必须有一个 registry 才能进行镜像(mirror)。
您可以使用 oc-mirror OpenShift CLI (oc
)插件在完全或部分断开连接的环境中将镜像镜像到镜像 registry。
使用 oc-mirror 插件为断开连接的环境 mirror 镜像只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
下列步骤概述了如何使用 oc-mirror 插件将镜像镜像到镜像 registry 的高级别工作流:
- 创建镜像设置配置文件。
- 将镜像设置为镜像 registry。
- 配置集群以使用 oc-mirror 插件生成的资源。
- 根据需要重复这些步骤以更新您的镜像 registry。
3.4.1. 关于 oc-mirror 插件
您可以使用 oc-mirror OpenShift CLI(oc
)插件,使用单个工具将所有所需的 OpenShift Container Platform 内容和其他镜像(mirror)镜像到您的镜像 registry。它提供以下功能:
- 提供镜像 OpenShift Container Platform 发行版本、Operator、helm chart 和其他镜像的集中方法。
- 维护 OpenShift Container Platform 和 Operator 的更新路径。
- 使用声明的镜像设置配置文件来仅包含集群所需的 OpenShift Container Platform 发行版本、Operator 和镜像。
- 执行增量镜像,从而减少将来镜像集的大小。
使用 oc-mirror 插件时,您可以在镜像设置配置文件中指定要镜像的内容。在这个 YAML 文件中,您可以将配置微调为仅包含集群需要的 OpenShift Container Platform 发行版本和 Operator。这可减少您下载和传输所需的数据量。oc-mirror 插件也可以镜像任意 helm chart 和附加容器镜像,以帮助用户将其工作负载无缝同步到镜像 registry 中。
第一次运行 oc-mirror 插件时,它会使用所需内容填充您的镜像 registry,以执行断开连接的集群安装。要让断开连接的集群继续接受更新,您必须更新镜像 registry。要更新您的镜像 registry,请使用与第一次运行相同的配置运行 oc-mirror 插件。oc-mirror 插件引用存储后端的元数据,并只下载上次运行该工具后所发布的元数据。这为 OpenShift Container Platform 和 Operator 提供了更新路径,并根据需要执行依赖项解析。
当使用 oc-mirror CLI 插件填充镜像 registry 时,必须使用 oc-mirror 工具对镜像 registry 进行进一步的更新。
3.4.2. 关于镜像 registry
您可以将 OpenShift Container Platform 安装和后续的产品更新镜像(mirror)到支持 Docker v2-2 (如 Red Hat Quay)的容器镜像(如 Red Hat Quay)的容器镜像。如果您无法访问大型容器 registry,可以使用 Red Hat OpenShift 的镜像 registry,这是 OpenShift 中包含的小型容器 registry。
无论您所选 registry 是什么,都会将互联网上红帽托管站点的内容镜像到隔离的镜像 registry 相同。镜像内容后,您要将每个集群配置为从镜像 registry 中检索此内容。
OpenShift 镜像 registry 不能用作目标 registry,因为它不支持没有标签的推送,在镜像过程中需要这个推送。
如果选择的容器 registry 不是 mirror registry for Red Hat OpenShift,则需要集群中置备的每台机器都可以访问它。如果 registry 无法访问,安装、更新或常规操作(如工作负载重新定位)可能会失败。因此,您必须以高度可用的方式运行镜像 registry,镜像 registry 至少必须与 OpenShift Container Platform 集群的生产环境可用性相匹配。
使用 OpenShift Container Platform 镜像填充镜像 registry 时,可以遵循以下两种情况。如果您的主机可以同时访问互联网和您的镜像 registry,而不能访问您的集群节点,您可以直接从该机器中镜像该内容。这个过程被称为 连接的镜像(mirror)。如果没有这样的主机,则必须将该镜像文件镜像到文件系统中,然后将该主机或者可移动介质放入受限环境中。这个过程被称为 断开连接的镜像。
对于已镜像的 registry,若要查看拉取镜像的来源,您必须查看 Trying 以访问
CRI-O 日志中的日志条目。查看镜像拉取源的其他方法(如在节点上使用 crictl images
命令)显示非镜像镜像名称,即使镜像是从镜像位置拉取的。
红帽没有针对 OpenShift Container Platform 测试第三方 registry。
其他资源
- 有关查看 CRI-O 日志以查看镜像源的详情,请参阅查看镜像拉取源。
3.4.3. 先决条件
您必须在托管 OpenShift Container Platform 集群的位置(如 Red Hat Quay)中有一个支持 Docker v2-2 的容器镜像 registry。
注意如果使用 Red Hat Quay,则必须在 oc-mirror 插件中使用 3.6 或更高版本的版本。如果您有 Red Hat Quay 权利,请参阅有关部署 Red Hat Quay 以了解概念验证的文档,或使用 Quay Operator。如果您需要额外的帮助来选择并安装 registry,请联络您的销售代表或红帽支持。
如果您还没有容器镜像 registry,OpenShift Container Platform 可以为订阅者提供一个 mirror registry for Red Hat OpenShift。Red Hat OpenShift 的镜像 registry 包含在您的订阅中,它是一个小型容器 registry,可用于在断开连接的安装中镜像 OpenShift Container Platform 所需的容器镜像。
3.4.4. 准备您的镜像主机
在使用 oc-mirror 插件镜像(mirror)前,您必须安装插件并创建容器镜像 registry 凭据文件,以允许从红帽镜像到您的镜像。
3.4.4.1. 安装 oc-mirror OpenShift CLI 插件
要使用 oc-mirror OpenShift CLI 插件来镜像 registry 镜像,您必须安装插件。如果您在一个完全断开连接的环境中镜像镜像集,请确保在具有互联网访问的主机上的 oc-mirror 插件以及可访问镜像 registry 的断开连接的环境中安装 oc-mirror 插件。
先决条件
-
已安装 OpenShift CLI(
oc
)。
流程
下载 oc-mirror CLI 插件。
- 导航到 OpenShift Cluster Manager 的 Downloads 页面。
- 在 OpenShift disconnected 安装工具部分下,点 Download for OpenShift Client(oc)mirror 插件 并保存该文件。
解压归档:
$ tar xvzf oc-mirror.tar.gz
如有必要,将插件文件更新为可执行。
$ chmod +x oc-mirror
注意不要重命名
oc-mirror
文件。通过将文件放在
PATH
中,例如/usr/local/bin
,安装 oc-mirror CLI 插件:$ sudo mv oc-mirror /usr/local/bin/.
验证
运行
oc mirror help
来验证插件是否已成功安装:$ oc mirror help
其他资源
3.4.4.2. 配置允许对容器镜像进行镜像的凭证
创建容器镜像 registry 凭证文件,允许将红帽的镜像镜像到您的镜像环境中。
安装集群时不要使用此镜像 registry 凭据文件作为 pull secret。如果在安装集群时提供此文件,集群中的所有机器都将具有镜像 registry 的写入权限。
此过程需要您可以对镜像 registry 上的容器镜像 registry 进行写操作,并将凭证添加到 registry pull secret。
先决条件
- 您已将镜像 registry 配置为在断开连接的环境中使用。
- 您在镜像 registry 中标识了镜像仓库的位置,以将容器镜像镜像(mirror)到这个位置。
- 您置备了一个镜像 registry 帐户,允许将镜像上传到该镜像仓库。
流程
在安装主机上完成以下步骤:
-
下载您的
registry.redhat.io
pull secret(从Red Hat OpenShift Cluster Manager)。 以 JSON 格式创建您的 pull secret 副本:
$ cat ./pull-secret | jq . > <path>/<pull_secret_file_in_json> 1
- 1
- 指定到存储 pull secret 的文件夹的路径,以及您创建的 JSON 文件的名称。
将文件保存为
~/.docker/config.json
或$XDG_RUNTIME_DIR/containers/auth.json
。该文件类似于以下示例:
{ "auths": { "cloud.openshift.com": { "auth": "b3BlbnNo...", "email": "you@example.com" }, "quay.io": { "auth": "b3BlbnNo...", "email": "you@example.com" }, "registry.connect.redhat.com": { "auth": "NTE3Njg5Nj...", "email": "you@example.com" }, "registry.redhat.io": { "auth": "NTE3Njg5Nj...", "email": "you@example.com" } } }
为您的镜像 registry 生成 base64 编码的用户名和密码或令牌:
$ echo -n '<user_name>:<password>' | base64 -w0 1 BGVtbYk3ZHAtqXs=
- 1
- 通过
<user_name>
和<password>
指定 registry 的用户名和密码。
编辑 JSON 文件并添加描述 registry 的部分:
"auths": { "<mirror_registry>": { 1 "auth": "<credentials>", 2 "email": "you@example.com" } },
该文件类似于以下示例:
{ "auths": { "registry.example.com": { "auth": "BGVtbYk3ZHAtqXs=", "email": "you@example.com" }, "cloud.openshift.com": { "auth": "b3BlbnNo...", "email": "you@example.com" }, "quay.io": { "auth": "b3BlbnNo...", "email": "you@example.com" }, "registry.connect.redhat.com": { "auth": "NTE3Njg5Nj...", "email": "you@example.com" }, "registry.redhat.io": { "auth": "NTE3Njg5Nj...", "email": "you@example.com" } } }
3.4.5. 创建镜像设置配置
在使用 oc-mirror 插件镜像集之前,必须先创建镜像设置配置文件。此镜像设置配置文件定义哪些 OpenShift Container Platform 发行版本、Operator 和其他镜像要镜像,以及 oc-mirror 插件的其他配置设置。
您必须在镜像设置配置文件中指定存储后端。此存储后端可以是本地目录或支持 Docker v2-2 的 registry。oc-mirror 插件在创建镜像的过程中将元数据存储在这个存储后端中。
不要删除或修改 oc-mirror 插件生成的元数据。每次针对同一镜像 registry 运行 oc-mirror 插件时,都必须使用相同的存储后端。
流程
创建指定所需配置详情的
ImageSetConfiguration
资源:ImageSetConfiguration
文件示例apiVersion: mirror.openshift.io/v1alpha1 kind: ImageSetConfiguration archiveSize: 4 1 mirror: ocp: channels: - name: stable-4.9 2 operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.9 3 storageConfig: 4 registry: imageURL: example.com/example/oc-mirror 5
本例从
registry.redhat.io/redhat/redhat-operator-index:v4.9
operator 目录的stable-4.9
频道拉取镜像,并将镜像设置元数据保存到example.com/example/oc-mirror
registry。-
将文件保存为
imageset-config.yaml
。在镜像内容时,oc mirror
命令需要此文件。
3.4.6. 将镜像集镜像(mirror)到镜像 registry
您可以使用 oc-mirror CLI 插件在 部分断开连接的环境中或完全断开连接的环境中将镜像镜像到镜像 registry。
这些步骤假定您已设置了镜像 registry。
3.4.6.1. 在部分断开连接的环境中镜像设置的镜像
在部分断开连接的环境中,您可以直接镜像到目标镜像 registry 的镜像。
3.4.6.1.1. 镜像(mirror)到镜像(mirror)的镜像
您可以使用 oc-mirror 插件将镜像直接设置为在镜像设置过程中可访问的目标镜像 registry。
根据镜像设置配置文件中指定的配置,使用 oc-mirror 将镜像镜像(mirror)镜像,在镜像到目标镜像 registry 之前,可能会将几百 GB 的数据下载到磁盘。
您填充镜像 registry 时初始镜像集下载通常是最大镜像。因为您只下载自上次运行命令以来更改的镜像,所以再次运行 oc-mirror 插件时,所生成的镜像集通常比较小。
您必须在镜像设置配置文件中指定存储后端。这个存储后端可以是本地目录或 Docker v2 registry。oc-mirror 插件在创建镜像的过程中将元数据存储在这个存储后端中。
不要删除或修改 oc-mirror 插件生成的元数据。每次针对同一镜像 registry 运行 oc-mirror 插件时,都必须使用相同的存储后端。
先决条件
- 您可以访问互联网来获取所需的容器镜像。
-
已安装 OpenShift CLI(
oc
)。 -
已安装
oc-mirror
CLI 插件。 - 您已创建了镜像设置配置文件。
流程
运行
oc mirror
命令将指定镜像集配置中的镜像镜像到指定的 registry:$ oc mirror --config=./imageset-config.yaml \ 1 docker://registry.example:5000 2
验证
-
进入生成的
oc-mirror-workspace/
目录。 -
导航到结果目录,例如,
results-1639608409/
。 -
验证
ImageContentSourcePolicy
和CatalogSource
资源是否存在 YAML 文件。
后续步骤
- 配置集群以使用 oc-mirror 生成的资源。
3.4.6.2. 镜像在完全断开连接的环境中设置的镜像
要镜像在完全断开连接的环境中设置的镜像,您必须首先将镜像集镜像到磁盘, 然后将磁盘上的镜像集文件镜像到一个镜像。
3.4.6.2.1. 从镜像镜像到磁盘
您可以使用 oc-mirror 插件生成镜像集,并将内容保存到磁盘。然后,生成的镜像集可以转移到断开连接的环境中,并镜像到目标 registry。
根据镜像设置配置文件中指定的配置,使用 oc-mirror 的镜像可能会将几百 GB 数据下载到磁盘。
您填充镜像 registry 时初始镜像集下载通常是最大镜像。因为您只下载自上次运行命令以来更改的镜像,所以再次运行 oc-mirror 插件时,所生成的镜像集通常比较小。
您必须在镜像设置配置文件中指定存储后端。这个存储后端可以是本地目录或 docker v2 registry。oc-mirror 插件在创建镜像的过程中将元数据存储在这个存储后端中。
不要删除或修改 oc-mirror 插件生成的元数据。每次针对同一镜像 registry 运行 oc-mirror 插件时,都必须使用相同的存储后端。
先决条件
- 您可以访问互联网来获取所需的容器镜像。
-
已安装 OpenShift CLI(
oc
)。 -
已安装
oc-mirror
CLI 插件。 - 您已创建了镜像设置配置文件。
流程
运行
oc mirror
命令将指定镜像集配置镜像到磁盘:$ oc mirror --config=./imageset-config.yaml \ 1 file://<path_to_output_directory> 2
验证
进入您的输出目录:
$ cd <path_to_output_directory>
验证是否创建了镜像设置
.tar
文件:$ ls
输出示例
mirror_seq1_000000.tar
后续步骤
- 将镜像集 .tar 文件移动到断开连接的环境中。
3.4.6.2.2. 从磁盘镜像到镜像
您可以使用 oc-mirror 插件将生成的镜像集的内容镜像到目标镜像 registry。
先决条件
-
您已在断开连接的环境中安装了 OpenShift CLI(
oc
)。 -
您已在断开连接的环境中安装了
oc-mirror
CLI 插件。 -
已使用
oc mirror
命令生成镜像集文件。 - 您已将镜像集文件传送到断开连接的环境中。
流程
运行
oc mirror
命令,以处理磁盘上镜像集文件,并将内容镜像到目标镜像 registry:$ oc mirror --from=./mirror_seq1_000000.tar \ 1 docker://registry.example:5000 2
此命令使用镜像集更新镜像 registry,并生成
ImageContentSourcePolicy
和CatalogSource
资源。
验证
-
进入生成的
oc-mirror-workspace/
目录。 -
导航到结果目录,例如,
results-1639608409/
。 -
验证
ImageContentSourcePolicy
和CatalogSource
资源是否存在 YAML 文件。
后续步骤
- 配置集群以使用 oc-mirror 生成的资源。
3.4.7. 配置集群以使用 oc-mirror 生成的资源
将镜像设置为镜像 registry 后,您必须将生成的 ImageContentSourcePolicy
、CatalogSource
和发行版本镜像签名资源应用到集群。
ImageContentSourcePolicy
资源将镜像 registry 与源 registry 关联,并将在线 registry 中的镜像拉取请求重定向到镜像 registry。Operator Lifecycle Manager(OLM)使用 CatalogSource
资源检索有关镜像 registry 中可用 Operator 的信息。发行镜像签名用于验证镜像的发行镜像。
先决条件
- 您已将镜像设置为断开连接的环境中的 registry 镜像。
-
您可以使用具有
cluster-admin
角色的用户访问集群。
流程
-
以具有
cluster-admin
角色的用户身份登录 OpenShift CLI。 运行以下命令,将结果目录中的 YAML 文件应用到集群:
$ oc apply -f ./oc-mirror-workspace/results-1639608409/
运行以下命令,将发行版本镜像签名应用到集群:
$ oc apply -f ./oc-mirror-workspace/results-1639608409/release-signatures/
验证
运行以下命令验证
ImageContentSourcePolicy
资源是否已成功安装:$ oc get imagecontentsourcepolicy --all-namespaces
运行以下命令验证
CatalogSource
资源是否已成功安装:$ oc get catalogsource --all-namespaces
3.4.8. 更新您的镜像 registry
将完整镜像集发布到镜像 registry 后,您可以使用 oc-mirror 插件使用更新的镜像更新镜像 registry。
当您再次运行 oc-mirror 插件时,它会生成一个镜像集,该集合仅包含与之前执行后的全新和更新镜像。
您必须使用与 oc-mirror 的初始执行相同镜像 registry 的存储后端。不要删除或修改 oc-mirror 插件生成的元数据。
因为它只拉取自以前的镜像集的差异,所以所生成的镜像集通常比初始镜像集更小且更快。
生成的镜像集是连续的,且必须同步到目标镜像 registry。
先决条件
- 您已使用 oc-mirror 插件将初始镜像设置为您的镜像 registry。
- 您可以访问用于进行 oc-mirror 插件的初始执行的存储后端。
流程
按照以下步骤创建初始镜像集并将其镜像到镜像 registry。具体步骤,请参阅在部分断开连接的环境中镜像镜像集,或在完全断开连接的环境中镜像镜像集。
重要- 您必须提供相同的存储后端,以便只创建并镜像不同的镜像集。
- 如果您在初始镜像集创建过程中为镜像 registry 指定顶层命名空间,则每次针对同一镜像 registry 运行 oc-mirror 插件时都必须使用此命名空间。
- 配置集群以使用 oc-mirror 生成的资源。
3.4.9. 镜像设置配置参数
oc-mirror 插件需要一个镜像设置配置文件,该文件定义哪些镜像要镜像(mirror)。下表列出了 ImageSetConfiguration
资源的可用参数。
参数 | 描述 | 值 |
---|---|---|
|
|
字符串.例如: |
| 镜像集中的每个存档文件的最大大小(以 GiB 为单位)。 |
整数.例如: |
| 镜像集的配置。 | 对象 |
| 镜像集的额外镜像配置。 | 对象数组。例如: additionalImages: - name: registry.redhat.io/ubi8/ubi:latest |
| 要镜像的镜像标签。 |
字符串.例如: |
| 镜像集的 helm 配置。请注意,oc-mirror 插件只支持 helm chart,在呈现时不需要用户输入。 | 对象 |
| 要镜像的本地 helm chart。 | 对象数组。例如: local: - name: podinfo path: /test/podinfo-5.0.0.tar.gz |
| 要镜像的本地 helm chart 的名称。 |
字符串.例如: |
| 到镜像的本地 helm chart 的路径。 |
字符串.例如: |
| 从其中镜像的的远程 helm 软件仓库。 | 对象数组。例如: repos: - name: podinfo url: https://example.github.io/podinfo charts: - name: podinfo version: 5.0.0 |
| 从其中镜像(mirror)的 helm 存储库的名称。 |
字符串.例如: |
| 从其中镜像(mirror)的 helm 存储库的 URL。 |
字符串.例如: |
| 要镜像的远程 helm chart。 | 对象数组。 |
| 要镜像的 helm chart 的名称。 |
字符串.例如: |
| 要镜像命名 helm chart 的版本。 |
字符串.例如: |
| 镜像集的平台配置。 | 对象 |
| 镜像集的平台频道配置。 | 对象数组。例如: channels: - name: stable-4.7 - name: stable-4.6 versions: - '4.6.36' |
| 发行频道的名称。 |
字符串.例如: |
| 命名频道的发行版本列表。 |
字符串.例如: |
| 镜像集的 Operator 配置。 | 对象数组。例如: operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.9 headsOnly: false packages: - name: elasticsearch-operator startingVersion: '2.4.0' |
| 包括在镜像集中的 Operator 目录。 |
字符串.例如: |
|
在下载频道 HEAD 和完整频道间切换。无法与 | 布尔值 |
| Operator 软件包配置。 | 对象数组。例如: operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.8 headsOnly: false packages: - name: elasticsearch-operator startingVersion: '5.2.3-31' |
| 镜像集中要包含的 Operator 软件包名称 |
字符串.例如: |
|
待镜像 Operator 软件包的起始版本。Operator 的所有版本都会在 |
字符串.例如: |
| Operator 软件包频道配置。 | 对象 |
| Operator 频道名称(软件包中唯一)要包括在镜像集中。 |
字符串.例如: |
|
要镜像的 Operator 频道的起始版本。Operator 的所有版本都会在 |
字符串.例如: |
| 镜像集的后端配置。 | 对象 |
| 镜像集的本地后端配置。 | 对象 |
| 包含镜像设置元数据的目录路径。 |
字符串.例如: |
| 镜像集的 registry 后端配置。 | 对象 |
| 后端 registry URI。可以选择在 URI 中包含命名空间引用。 |
字符串.例如: |
| (可选)跳过引用的后端 registry 的 TLS 验证。 |
布尔值.默认值为 |
3.4.10. 镜像设置配置示例
以下 ImageSetConfiguration
文件示例演示了各种镜像用例的配置。
用例:包含任意镜像和 helm chart
以下 ImageSetConfiguration
文件使用 registry 存储后端,并包含 helm chart 和额外的 Red Hat Universal Base Image(UBI)。
ImageSetConfiguration
文件示例
apiVersion: mirror.openshift.io/v1alpha1 kind: ImageSetConfiguration archiveSize: 4 storageConfig: registry: imageURL: example.com/example/oc-mirror skipTLS: false mirror: ocp: channels: - name: stable-4.10 operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.10 helm: repos: - name: redhat-helm-charts url: https://raw.githubusercontent.com/redhat-developer/redhat-helm-charts/master charts: - name: ibm-mongodb-enterprise-helm version: 0.2.0 additionalImages: - name: registry.redhat.io/ubi8/ubi:latest
使用案例:包含特定的 Operator 版本
以下 ImageSetConfiguration
文件使用本地存储后端,仅包含从 3.67.0 及之后的版本开始的 Red Hat Advanced Cluster Security for Kubernetes Operator。
ImageSetConfiguration
文件示例
apiVersion: mirror.openshift.io/v1alpha1 kind: ImageSetConfiguration storageConfig: local: path: /home/user/metadata mirror: operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.10 headsOnly: false packages: - name: rhacs-operator channels: - name: latest startingVersion: 3.67.0
3.4.11. oc-mirror 的命令参考
下表描述了 oc mirror
子命令和标志:
子命令 | 描述 |
---|---|
| 为指定的 shell 生成自动完成脚本。 |
| 输出镜像集合的内容。 |
| 显示有关任何子命令的帮助。 |
| 列出可用平台和 Operator 内容及其版本。 |
| 输出 oc-mirror 版本。 |
标记 | 描述 |
---|---|
| 指定镜像设置配置文件的路径。 |
| 如果发生任何非镜像拉取相关的错误,请继续并尝试进行镜像(mirror)。 |
| 禁用目标 registry 的 TLS 验证。 |
| 使用 HTTP 用于目标 registry。 |
| 仅输出操作情况,不实际 mirror 镜像。 |
| 指定由执行 oc-mirror 生成的镜像设置归档的路径,以加载到目标 registry 中。 |
| 显示帮助。 |
|
指定日志级别详细程度的数量。有效值为 |
|
为 |
| 跳过删除工件目录。 |
| 不要将镜像标签替换为 Operator 目录中的摘要。 |
| 如果没有找到镜像,则跳过它而不是报告错误并中止执行。不适用于在镜像设置配置中明确指定的自定义镜像。 |
| 跳过摘要验证。 |
| 为源 registry 禁用 TLS 验证。 |
| 将普通 HTTP 用于源 registry。 |