11.5. 为 Kubernetes Operator 的多集群引擎准备基于 Agent 的集群
您可以安装多集群引擎 Operator,并使用基于 Agent 的 OpenShift Container Platform 安装程序部署 hub 集群。以下流程部分自动化,在部署初始集群后需要手动步骤。
11.5.1. 先决条件
- 您已阅读了以下文档: 
- 您可以访问互联网来获取所需的容器镜像。
- 
							已安装 OpenShift CLI(oc)。
- 如果要在断开连接的环境中安装,则必须为断开连接的安装镜像配置了本地镜像 registry。
11.5.2. 断开连接时为 Kubernetes Operator 准备基于代理的集群部署
您可以在断开连接的环境中将所需的 OpenShift Container Platform 容器镜像、多集群引擎 Operator 和 Local Storage Operator (LSO) 镜像 (LSO) 到断开连接的环境中的本地镜像 registry 中。确保您注意了镜像 registry 的本地 DNS 主机名和端口。
						要将 OpenShift Container Platform 镜像存储库镜像到您的镜像 registry,您可以使用 oc adm release image 或 oc mirror 命令。在此过程中,oc mirror 命令被用作示例。
					
流程
- 
							创建一个 <assets_directory>文件夹,使其包含有效的install-config.yaml和agent-config.yaml文件。此目录用于存储所有资产。
- 要镜像 OpenShift Container Platform 镜像存储库、多集群引擎和 LSO,请使用以下设置创建一个 - ImageSetConfiguration.yaml文件:- 示例 - ImageSetConfiguration.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- 指定镜像集合中每个文件的最大大小(以 GiB 为单位)。
- 2
- 设置后端位置,以接收镜像设置元数据。此位置可以是 registry 或本地目录。必须指定storageConfig值。
- 3
- 设置存储后端的 registry URL。
- 4
- 设置包含您要安装的版本的 OpenShift Container Platform 镜像的频道。
- 5
- 设置包含您要安装的 OpenShift Container Platform 镜像的 Operator 目录。
- 6
- 仅指定要包含在镜像集中的特定 Operator 软件包和频道。删除此字段以检索目录中的所有软件包。
- 7
- 多集群引擎软件包和频道。
- 8
- LSO 软件包和频道。
 注意- 在镜像内容时, - oc mirror命令需要此文件。
- 要镜像特定的 OpenShift Container Platform 镜像存储库、多集群引擎和 LSO,请运行以下命令: - oc mirror --dest-skip-tls --config ocp-mce-imageset.yaml docker://<your-local-registry-dns-name>:<your-local-registry-port> - $ oc mirror --dest-skip-tls --config ocp-mce-imageset.yaml docker://<your-local-registry-dns-name>:<your-local-registry-port>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 更新 - install-config.yaml文件中的 registry 和证书:- 示例 - imageContentSources.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 另外,请确保您的证书存在于 - install-config.yaml的- additionalTrustBundle字段中。- 示例 - install-config.yaml- additionalTrustBundle: | -----BEGIN CERTIFICATE----- zzzzzzzzzzz -----END CERTIFICATE------- - additionalTrustBundle: | -----BEGIN CERTIFICATE----- zzzzzzzzzzz -----END CERTIFICATE-------- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 重要- oc mirror命令会创建一个名为- oc-mirror-workspace的文件夹,其中包含几个输出。这包括- imageContentSourcePolicy.yaml文件,用于标识 OpenShift Container Platform 和所选 Operator 所需的所有镜像。
- 运行以下命令来生成集群清单: - openshift-install agent create cluster-manifests - $ openshift-install agent create cluster-manifests- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 此命令更新集群 manifests 文件夹,使其包含包含您的镜像配置的 - mirror文件夹。
11.5.3. 连接时为 Kubernetes Operator 准备基于代理的集群部署
为多集群引擎 Operator、Local Storage Operator (LSO) 创建所需的清单,并将基于代理的 OpenShift Container Platform 集群部署为 hub 集群。
流程
- 在 - <assets_directory>文件夹中创建一个名为- openshift的子文件夹。此子文件夹用于存储在安装过程中应用的额外清单,以进一步自定义部署的集群。- <assets_directory>文件夹包含所有资产,包括- install-config.yaml和- agent-config.yaml文件。注意- 安装程序不会验证额外的清单。 
- 对于多集群引擎,创建以下清单并将其保存到 - <assets_directory>/openshift文件夹中:- 示例 - mce_namespace.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 示例 - mce_operatorgroup.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 示例 - mce_subscription.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注意- 您可以使用支持的安装程序 (AI) 使用 Red Hat Advanced Cluster Management (RHACM) 大规模安装分布式单元 (DU)。这些分布式单元必须在 hub 集群中启用。AI 服务需要手动创建的持久性卷 (PV)。 
- 对于 AI 服务,请创建以下清单并将其保存到 - <assets_directory>/openshift文件夹中:- 示例 - lso_namespace.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 示例 - lso_operatorgroup.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 示例 - lso_subscription.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注意- 创建所有清单后,文件系统必须显示如下: - 文件系统示例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 运行以下命令来创建代理 ISO 镜像: - openshift-install agent create image --dir <assets_directory> - $ openshift-install agent create image --dir <assets_directory>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 镜像就绪后,引导目标机器并等待安装完成。
- 要监控安装,请运行以下命令: - openshift-install agent wait-for install-complete --dir <assets_directory> - $ openshift-install agent wait-for install-complete --dir <assets_directory>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注意- 要配置功能齐全的 hub 集群,必须创建以下清单,并通过运行 - $ oc apply -f <manifest-name>命令手动应用它们。清单创建的顺序非常重要,如果需要,会显示等待条件。
- 对于 AI 服务所需的 PV,请创建以下清单: - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 在应用后续清单前,使用以下命令等待 PV 的可用性: - oc wait localvolume -n openshift-local-storage assisted-service --for condition=Available --timeout 10m - $ oc wait localvolume -n openshift-local-storage assisted-service --for condition=Available --timeout 10m- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注意- The `devicePath` is an example and may vary depending on the actual hardware configuration used. - The `devicePath` is an example and may vary depending on the actual hardware configuration used.- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 为多集群引擎实例创建清单。 - 示例 - MultiClusterEngine.yaml- apiVersion: multicluster.openshift.io/v1 kind: MultiClusterEngine metadata: name: multiclusterengine spec: {}- apiVersion: multicluster.openshift.io/v1 kind: MultiClusterEngine metadata: name: multiclusterengine spec: {}- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 创建清单以启用 AI 服务。 - 示例 - agentserviceconfig.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 创建清单来部署后续 spoke 集群。 - 示例 - clusterimageset.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 创建一个清单来导入安装代理(托管多集群引擎和 Assisted Service)作为 hub 集群。 - 示例 - autoimport.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 等待受管集群创建。 - oc wait -n multicluster-engine managedclusters local-cluster --for condition=ManagedClusterJoined=True --timeout 10m - $ oc wait -n multicluster-engine managedclusters local-cluster --for condition=ManagedClusterJoined=True --timeout 10m- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
验证
- 要确认受管集群安装成功,请运行以下命令: - oc get managedcluster - $ oc get managedcluster NAME HUB ACCEPTED MANAGED CLUSTER URLS JOINED AVAILABLE AGE local-cluster true https://<your cluster url>:6443 True True 77m- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow