This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.10.5. 从镜像的 Operator 目录填充 OperatorHub
如果用于断开连接的集群的 Operator 目录的镜像 (mirror),您可以在镜像目录中为 OperatorHub 填充 Operator。您可以使用镜像过程中生成的清单来创建所需的 ImageContentSourcePolicy 和 CatalogSource 对象。
10.5.1. 先决条件 复制链接链接已复制到粘贴板!
10.5.2. 创建 ImageContentSourcePolicy 对象 复制链接链接已复制到粘贴板!
将 Operator 目录内容镜像到镜像 registry 后,创建所需的 ImageContentSourcePolicy (ICSP)对象。ICSP 对象配置节点,以在 Operator 清单中存储的镜像引用和镜像的 registry 间进行转换。
流程
在可以访问断开连接的集群的主机上,运行以下命令指定 manifests 目录中的
imageContentSourcePolicy.yaml文件来创建 ICSP:oc create -f <path/to/manifests/dir>/imageContentSourcePolicy.yaml
$ oc create -f <path/to/manifests/dir>/imageContentSourcePolicy.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 其中
<path/to/manifests/dir>是镜像内容的 manifests 目录的路径。现在,您可以创建一个
CatalogSource来引用您的镜像索引镜像和 Operator 内容。
10.5.3. 在集群中添加目录源 复制链接链接已复制到粘贴板!
将目录源添加到 OpenShift Container Platform 集群可为用户发现和安装 Operator。集群管理员可以创建一个 CatalogSource 对象来引用索引镜像。OperatorHub 使用目录源来填充用户界面。
或者,您可以使用 Web 控制台管理目录源。在 Administration
先决条件
- 构建并推送到 registry 的索引镜像。
流程
创建一个
CatalogSource对象来引用索引镜像。如果使用oc adm catalog mirror命令将目录镜像到目标 registry,您可以使用 manifests 目录中生成的catalogSource.yaml文件作为起点。根据您的规格修改以下内容,并将它保存为
catalogSource.yaml文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 如果您在上传到 registry 前将内容镜像到本地文件,请从
metadata.name字段中删除任何反斜杠(/)字符,以避免在创建对象时出现 "invalid resource name" 错误。 - 2
- 如果您希望目录源对所有命名空间中的用户全局可用,请指定
openshift-marketplace命名空间。否则,您可以指定一个不同的命名空间来对目录进行作用域并只对该命名空间可用。 - 3
- 指定索引镜像。如果您在镜像名称后指定了标签,如
:v4.11,则目录源 Pod 会使用镜像 pull 策略Always,这意味着 pod 始终在启动容器前拉取镜像。如果您指定了摘要,如@sha256:<id>,则镜像拉取策略为IfNotPresent,这意味着仅在节点上不存在的镜像时才拉取镜像。 - 4
- 指定发布目录的名称或机构名称。
- 5
- 目录源可以自动检查新版本以保持最新。
使用该文件创建
CatalogSource对象:oc apply -f catalogSource.yaml
$ oc apply -f catalogSource.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
确定成功创建以下资源。
检查 pod:
oc get pods -n openshift-marketplace
$ oc get pods -n openshift-marketplaceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME READY STATUS RESTARTS AGE my-operator-catalog-6njx6 1/1 Running 0 28s marketplace-operator-d9f549946-96sgr 1/1 Running 0 26h
NAME READY STATUS RESTARTS AGE my-operator-catalog-6njx6 1/1 Running 0 28s marketplace-operator-d9f549946-96sgr 1/1 Running 0 26hCopy to Clipboard Copied! Toggle word wrap Toggle overflow 检查目录源:
oc get catalogsource -n openshift-marketplace
$ oc get catalogsource -n openshift-marketplaceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME DISPLAY TYPE PUBLISHER AGE my-operator-catalog My Operator Catalog grpc 5s
NAME DISPLAY TYPE PUBLISHER AGE my-operator-catalog My Operator Catalog grpc 5sCopy to Clipboard Copied! Toggle word wrap Toggle overflow 检查软件包清单:
oc get packagemanifest -n openshift-marketplace
$ oc get packagemanifest -n openshift-marketplaceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME CATALOG AGE jaeger-product My Operator Catalog 93s
NAME CATALOG AGE jaeger-product My Operator Catalog 93sCopy to Clipboard Copied! Toggle word wrap Toggle overflow
现在,您可以在 OpenShift Container Platform Web 控制台中通过 OperatorHub 安装 Operator。