第 2 章 Cluster Samples Operator 概述
Cluster Samples Operator 在 openshift
命名空间中运行,用于安装和更新 Red Hat OpenShift Service on AWS 镜像流和 Red Hat OpenShift Service on AWS 模板。
从 Red Hat OpenShift Service on AWS 4.16 开始,Cluster Samples Operator 已被弃用。Cluster Samples Operator 不会将新的模板、示例或非 Source-to-Image (Non-S2I)镜像流添加到 Cluster Samples Operator 中。但是,现有 S2I 构建器镜像流和模板将继续接收更新,直到以后的发行版本中删除了 Cluster Samples Operator。S2I 镜像流和模板包括:
- Ruby
- Python
- Node.js
- Perl
- PHP
- HTTPD
- Nginx
- EAP
- Java
- Webserver
- .NET
- Go
- Cluster Samples Operator 将停止管理和提供对非 S2I 示例(镜像流和模板)的支持。您可以联系镜像流或模板所有者以获取任何要求和将来的计划。此外,请参阅托管镜像流或模板的存储库列表。
2.1. 了解 Cluster Samples Operator
在安装过程中,Operator 会为自己创建默认配置对象,然后创建示例镜像流和模板,包括快速启动模板。
为便于从需要凭证的其他 registry 中导入镜像流,集群管理员可在镜像导入所需的 openshift
命名空间中创建包含 Docker config.json
文件内容的额外 secret。
Cluster Samples Operator 配置是一个集群范围的资源,其部署包含在 openshift-cluster-samples-operator
命名空间中。
Cluster Samples Operator 的镜像包含关联的 Red Hat OpenShift Service on AWS 发行版本的镜像流和模板定义。当创建或更新每个示例时,Cluster Samples Operator 包含一个注解,用于表示 Red Hat OpenShift Service on AWS 的版本。Operator 使用此注解来确保每个示例与发行版本匹配。清单(inventory)以外的示例会与跳过的示例一样被忽略。对任何由 Operator 管理的示例进行的修改(版本注解被修改或删除),都将会被自动恢复。
Jenkins 镜像实际上自安装后便已是镜像有效负载的一部分,并直接标记(tag)到镜像流中。
Cluster Samples Operator 配置资源包含一个终结器(finalizer),它会在删除时清除以下内容:
- Operator 管理的镜像流。
- Operator 管理的模板。
- Operator 生成的配置资源。
- 集群状态资源。
删除样本资源后,Samples Operator 会使用默认配置重新创建资源。
2.1.1. Cluster Samples Operator 使用管理状态
Cluster Samples Operator 默认配置为 Managed
,或者配置了全局代理。在 Managed
状态下,Cluster Samples Operator 会主动管理其资源并保持组件的活跃状态,以便从 registry 中拉取示例镜像流和镜像,并确保安装了必要的示例模板。
在某些情况下,Cluster Samples Operator 会将自身引导为 Removed
,包括:
- 如果 Cluster Samples Operator 在全新安装后初始启动时三分钟后仍无法访问 registry.redhat.io。
- 如果 Cluster Samples Operator 检测到它位于 IPv6 网络中。
对于 Red Hat OpenShift Service on AWS,默认镜像 registry 是 registry.access.redhat.com
或 quay.io
。
但是,如果 Cluster Samples Operator 检测到它位于 IPv6 网络上,并且配置了 Red Hat OpenShift Service on AWS 全局代理,则 IPv6 检查会取代所有检查。因此,Cluster Samples Operator 会将自身引导为 Removed
。
registry.redhat.io目前不支持 IPv6 安装。Cluster Samples Operator 从 registry.redhat.io 中提取大多数示例镜像流和镜像。
2.1.2. Cluster Samples Operator 跟踪和错误恢复镜像流导入
在创建或更新示例镜像流后,Cluster Samples Operator 会监控每个镜像流标签镜像导入的进度。
如果导入失败,Cluster Samples Operator 会通过镜像流镜像导入 API(与 oc import-image
命令使用的 API 相同)。重新尝试导入大约每 15 分钟进行一次,直到导入成功,或者 Cluster Samples Operator 的配置已更改为镜像流被添加到 skippedImagestreams
列表中,或者管理状态变为 Removed
。
其他资源
-
如果在安装过程中删除了 Cluster Samples Operator,您可以使用带有备用 registry 的 Cluster Samples Operator,以便导入内容,然后将 Cluster Samples Operator 设置为
Managed
来获取示例。