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.9.6. 关于使用 OperatorHub 安装 Operator
OperatorHub 是一个发现 Operator 的用户界面,它与 Operator Lifecycle Manager(OLM)一起工作,后者在集群中安装和管理 Operator。
作为集群管理员,您可以使用 OpenShift Container Platform Web 控制台或 CLI 安装来自 OperatorHub 的 Operator。将 Operator 订阅到一个或多个命名空间,供集群上的开发人员使用。
安装过程中,您必须为 Operator 确定以下初始设置:
- 安装模式
- 选择 All namespaces on the cluster (default) 将 Operator 安装至所有命名空间;或选择单个命名空间(如果可用),仅在选定命名空间中安装 Operator。本例选择 All namespaces… 使 Operator 可供所有用户和项目使用。
- 更新频道
- 如果某个 Operator 可通过多个频道获得,则可任选您想要订阅的频道。例如,要通过 stable 频道部署(如果可用),则从列表中选择这个选项。
- 批准策略
- 您可以选择自动或者手动更新。 - 如果选择自动更新某个已安装的 Operator,则当所选频道中有该 Operator 的新版本时,Operator Lifecycle Manager(OLM)将自动升级 Operator 的运行实例,而无需人为干预。 - 如果选择手动更新,则当有新版 Operator 可用时,OLM 会创建更新请求。作为集群管理员,您必须手动批准该更新请求,才可将 Operator 更新至新版本。 
9.6.1. 使用 Web 控制台从 OperatorHub 安装
您可以使用 OpenShift Container Platform Web 控制台从 OperatorHub 安装并订阅 Operator。
先决条件
- 
							使用具有 cluster-admin权限的账户访问 OpenShift Container Platform 集群。
流程
- 
							在 Web 控制台中导航至 Operators OperatorHub 页面。 
- 找到您需要的 Operator(滚动页面会在 Filter by keyword 框中输入查找关键字)。例如,键入 - jaeger来查找 Jaeger Operator。- 您还可以根据基础架构功能过滤选项。例如,如果您希望 Operator 在断开连接的环境中工作,请选择 Disconnected。 
- 选择要显示更多信息的 Operator。 注意- 选择 Community Operator 会警告红帽没有认证社区 Operator ; 您必须确认该警告方可继续。 
- 阅读 Operator 信息并单击 Install。
- 在 Install Operator 页面中: - 任选以下一项: - 
											All namespaces on the cluster (default),选择该项会将 Operator 安装至默认 openshift-operators命名空间,以便供集群中的所有命名空间监视和使用。该选项并非始终可用。
- A specific namespace on the cluster,该项支持您选择单一特定命名空间来安装 Operator。该 Operator 仅限在该单一命名空间中监视和使用。
 
- 
											All namespaces on the cluster (default),选择该项会将 Operator 安装至默认 
- 选择一个更新频道(如有多个可用)。
- 如前面所述,选择自动或手动批准策略。
 
- 点击 Install 使 Operator 可供 OpenShift Container Platform 集群上的所选命名空间使用。 - 如果选择了手动批准策略,订阅的升级状态将保持在 Upgrading 状态,直至您审核并批准安装计划。 - 在 Install Plan 页面批准后,订阅的升级状态将变为 Up to date。 
- 如果选择了 Automatic 批准策略,升级状态会在不用人工参与的情况下变为 Up to date。
 
- 在订阅的升级状态成为 Up to date 后,选择 Operators - Installed Operators 来验证已安装 Operator 的 ClusterServiceVersion(CSV)是否最终出现了。状态最终会在相关命名空间中变为 InstallSucceeded。 注意- 对于 All namespaces… 安装模式,状态在 - openshift-operators命名空间中解析为 InstallSucceeded,但如果检查其他命名空间,则状态为 Copied。- 如果没有: - 
									检查 openshift-operators项目(如果选择了 A specific namespace… 安装模式)中的 openshift-operators 项目中的 pod 的日志,这会在 WorkloadsPods 页面中报告问题以便进一步排除故障。 
 
- 
									检查 
9.6.2. 使用 CLI 从 OperatorHub 安装
					您可以使用 CLI 从 OperatorHub 安装 Operator,而不必使用 OpenShift Container Platform Web 控制台。使用 oc 命令来创建或更新一个订阅对象。
				
先决条件
- 
							使用具有 cluster-admin权限的账户访问 OpenShift Container Platform 集群。
- 
							在您的本地系统安装 oc命令。
流程
- 查看 OperatorHub 中集群可用的 Operator 列表: - oc get packagemanifests -n openshift-marketplace - $ oc get packagemanifests -n openshift-marketplace- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 输出示例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 记录下所需 Operator 的目录。 
- 检查所需 Operator,以验证其支持的安装模式和可用频道: - oc describe packagemanifests <operator_name> -n openshift-marketplace - $ oc describe packagemanifests <operator_name> -n openshift-marketplace- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 一个 Operator 组(由 - OperatorGroup对象定义),在其中选择目标命名空间,在其中为与 Operator 组相同的命名空间中的所有 Operator 生成所需的 RBAC 访问权限。- 订阅 Operator 的命名空间必须具有与 Operator 的安装模式相匹配的 Operator 组,可采用 - AllNamespaces模式,也可采用- SingleNamespace模式。如果您要使用- AllNamespaces安装 Operator,则- openshift-operators命名空间已有适当的 Operator 组。- 如果要安装的 Operator 采用 - SingleNamespace模式,而您没有适当的 Operator 组,则必须创建一个。注意- 在选择 - SingleNamespace模式时,该流程的 Web 控制台版本会在后台自动为您处理- OperatorGroup和- Subscription对象的创建。- 创建 - OperatorGroup对象 YAML 文件,如- operatorgroup.yaml:- OperatorGroup对象示例- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 创建 - OperatorGroup对象:- oc apply -f operatorgroup.yaml - $ oc apply -f operatorgroup.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
- 创建一个 - Subscription对象 YAML 文件,以便为 Operator 订阅一个命名空间,如- sub.yaml:- Subscription对象示例- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- 对于AllNamespaces安装模式的使用,指定openshift-operators命名空间。否则,为SingleNamespace安装模式使用指定相关单一命名空间。
- 2
- 要订阅的频道的名称。
- 3
- 要订阅的 Operator 的名称。
- 4
- 提供 Operator 的目录源的名称。
- 5
- 目录源的命名空间。将openshift-marketplace用于默认的 OperatorHub 目录源。
- 6
- env参数定义必须存在于由 OLM 创建的 pod 中所有容器中的环境变量列表。
- 7
- envFrom参数定义要在容器中填充环境变量的源列表。
- 8
- volumes参数定义 OLM 创建的 pod 上必须存在的卷列表。
- 9
- volumeMounts参数定义由 OLM 创建的 pod 中必须存在的 VolumeMounts 列表。如果- volumeMount引用不存在的- 卷,OLM 无法部署 Operator。
- 10
- tolerations参数为 OLM 创建的 pod 定义 Tolerations 列表。
- 11
- resources参数为 OLM 创建的 pod 中所有容器定义资源限制。
- 12
- nodeSelector参数为 OLM 创建的 pod 定义- NodeSelector。
 
- 创建 - Subscription对象:- oc apply -f sub.yaml - $ oc apply -f sub.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 此时,OLM 已了解所选的 Operator。Operator 的集群服务版本(CSV)应出现在目标命名空间中,由 Operator 提供的 API 应可用于创建。