4.3. 管理目录
集群管理员可向其集群添加 目录、或策展 Operator 和 Kubernetes 扩展集合。Operator 作者将其产品发布到这些目录中。当您向集群添加目录时,您可以访问发布到目录中的 Operator 和扩展的版本、补丁和无线更新。
您可以使用自定义资源 (CR) 从 CLI 中声明性管理目录和扩展。
基于文件的目录是 Operator Lifecycle Manager (OLM) 中目录格式的最新迭代。它是基于纯文本(JSON 或 YAML)和早期 SQLite 数据库格式的声明式配置演变,并且完全向后兼容。
Kubernetes 定期弃用后续版本中删除的某些 API。因此,从使用删除 API 的 Kubernetes 版本的 OpenShift Container Platform 版本开始,Operator 无法使用删除 API 的 API。
4.3.1. 关于 OLM v1 中的目录 复制链接链接已复制到粘贴板!
您可以使用 catalogd 组件查询 Kubernetes 扩展的目录,如 Operator 和控制器,从而发现可安装的内容。Catalogd 是一个 Kubernetes 扩展,为集群客户端解包目录内容,并是微服务的 Operator Lifecycle Manager (OLM) v1 套件的一部分。目前,catalogd 解包要打包并分发为容器镜像的目录内容。
4.3.2. OLM v1 中红帽提供的 Operator 目录 复制链接链接已复制到粘贴板!
Operator Lifecycle Manager (OLM) v1 默认在集群上包含以下红帽提供的 Operator 目录。如果要在集群中添加额外目录,请为目录创建一个自定义资源(CR)并将其应用到集群。以下自定义资源(CR)示例显示了集群中安装的默认目录。
Red Hat Operator 目录
- 1
- 指定轮询远程 registry 以获取较新的镜像摘要的时间间隔(以分钟为单位)。要禁用轮询,不要设置字段。
认证的 Operator 目录
Red Hat Marketplace 目录
社区 Operator 目录
以下命令在集群中添加目录:
命令语法
oc apply -f <catalog_name>.yaml
$ oc apply -f <catalog_name>.yaml
- 1
- 指定目录 CR,如
my-catalog.yaml
。
4.3.3. 在集群中添加目录 复制链接链接已复制到粘贴板!
要将目录添加到用于 Operator Lifecycle Manager (OLM) v1 使用量的集群,请创建一个 ClusterCatalog
自定义资源(CR)并将其应用到集群。
流程
创建目录自定义资源(CR),如下例所示:
my-redhat-operators.yaml
文件示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令在集群中添加目录:
oc apply -f my-redhat-operators.yaml
$ oc apply -f my-redhat-operators.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
clustercatalog.olm.operatorframework.io/my-redhat-operators created
clustercatalog.olm.operatorframework.io/my-redhat-operators created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
运行以下命令以验证目录的状态:
运行以下命令检查目录是否可用:
oc get clustercatalog
$ oc get clustercatalog
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,检查目录的状态:
oc describe clustercatalog my-redhat-operators
$ oc describe clustercatalog my-redhat-operators
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.3.4. 删除目录 复制链接链接已复制到粘贴板!
您可以通过删除其自定义资源 (CR) 来删除目录。
先决条件
- 已安装目录。
流程
运行以下命令来删除目录:
oc delete clustercatalog <catalog_name>
$ oc delete clustercatalog <catalog_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
clustercatalog.olm.operatorframework.io "my-redhat-operators" deleted
clustercatalog.olm.operatorframework.io "my-redhat-operators" deleted
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
运行以下命令验证目录是否已删除:
oc get clustercatalog
$ oc get clustercatalog
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.3.5. 禁用默认目录 复制链接链接已复制到粘贴板!
您可以禁用 OpenShift Container Platform 中包含的红帽提供的目录。
流程
运行以下命令来禁用默认目录:
oc patch clustercatalog openshift-certified-operators -p \ '{"spec": {"availabilityMode": "Unavailable"}}' --type=merge
$ oc patch clustercatalog openshift-certified-operators -p \ '{"spec": {"availabilityMode": "Unavailable"}}' --type=merge
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
clustercatalog.olm.operatorframework.io/openshift-certified-operators patched
clustercatalog.olm.operatorframework.io/openshift-certified-operators patched
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
运行以下命令验证目录是否已禁用:
oc get clustercatalog openshift-certified-operators
$ oc get clustercatalog openshift-certified-operators
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME LASTUNPACKED SERVING AGE openshift-certified-operators False 6h54m
NAME LASTUNPACKED SERVING AGE openshift-certified-operators False 6h54m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow