4.3. SiteConfig 高级主题
SiteConfig 操作符提供了额外的功能,例如创建自定义模板或扩展工作节点,扩展适用于大多数用例的标准操作。有关 SiteConfig 运算符的高级主题,请参阅以下文档:
4.3.1. 使用 SiteConfig operator 创建自定义模板 复制链接链接已复制到粘贴板!
创建在默认模板集合中未提供的用户定义模板。
需要的访问权限:集群管理员
在创建自定义模板中完成以下步骤:
创建名为
my-custom-secret.yaml的 YAML 文件,该文件在ConfigMap中包含集群级别模板:apiVersion: v1 kind: ConfigMap metadata: name: my-custom-secret namespace: rhacm data: MySecret: |- apiVersion: v1 kind: Secret metadata: name: "{{ .Spec.ClusterName }}-my-custom-secret-key" namespace: "clusters" annotations: siteconfig.open-cluster-management.io/sync-wave: "1"1 type: Opaque data: key: <key>- 1
siteconfig.open-cluster-management.io/sync-wave注解控制创建、更新或删除清单的顺序。
运行以下命令,在 hub 集群中应用自定义模板:
oc apply -f my-custom-secret.yaml在名为
clusterinstance-my-custom-secret.yaml的ClusterInstance自定义资源中引用您的模板:spec: ... templateRefs: - name: ai-cluster-templates-v1.yaml namespace: rhacm - name: my-custom-secret.yaml namespace: rhacm ...运行以下命令来应用
ClusterInstance自定义资源:oc apply -f clusterinstance-my-custom-secret.yaml
4.3.2. 使用 SiteConfig operator 在单节点 OpenShift 集群中扩展 复制链接链接已复制到粘贴板!
在由 SiteConfig operator 安装的受管集群中扩展。您可以通过删除 worker 节点来在集群中扩展。
需要的访问权限:集群管理员
4.3.2.1. 先决条件 复制链接链接已复制到粘贴板!
- 如果使用 GitOps ZTP,请配置了 GitOps ZTP 环境。要配置环境,请参阅为 GitOps ZTP 准备 hub 集群。
- 您有默认模板。要熟悉默认模板,请参阅 默认设置模板
- 已使用 SiteConfig operator 安装集群。要使用 SiteConfig operator 安装集群,请参阅使用 SiteConfig operator 安装单节点 OpenShift 集群
-
您已将
spec.clusterType设置为"SNO"。
4.3.2.2. 为 worker 节点添加注解 复制链接链接已复制到粘贴板!
向 worker 节点添加注解以进行移除。
完成以下步骤,从受管集群注解 worker 节点:
在用于置备集群的
ClusterInstance自定义资源中的 worker 节点条目的extraAnnotations字段中添加注解:spec: ... nodes: - hostName: "worker-node2.example.com" role: "worker" ironicInspect: "" extraAnnotations: BareMetalHost: bmac.agent-install.openshift.io/remove-agent-and-node-on-delete: "true" ...应用更改。设置以下选项:
如果您在没有 Red Hat OpenShift GitOps 的情况下使用 Red Hat Advanced Cluster Management,请在 hub 集群中运行以下命令:
oc apply -f <clusterinstance>.yaml- 如果使用 GitOps ZTP,请推送到 Git 存储库并等待 Argo CD 同步更改。
在 hub 集群中运行以下命令来验证注解是否已应用到
BaremetalHostworker 资源:oc get bmh -n <clusterinstance_namespace> worker-node2.example.com -ojsonpath='{.metadata.annotations}' | jq有关注解成功应用程序的示例输出:
{ "baremetalhost.metal3.io/detached": "assisted-service-controller", "bmac.agent-install.openshift.io/hostname": "worker-node2.example.com", "bmac.agent-install.openshift.io/remove-agent-and-node-on-delete": "true" "bmac.agent-install.openshift.io/role": "master", "inspect.metal3.io": "disabled", "siteconfig.open-cluster-management.io/sync-wave": "1", }
4.3.2.3. 删除 worker 节点的 BareMetalHost 资源 复制链接链接已复制到粘贴板!
删除您要删除的 worker 节点的 BareMetalHost 资源。
完成以下步骤,从受管集群中删除 worker 节点:
使用以下配置更新要在现有
ClusterInstance自定义资源中删除的节点对象:... spec: ... nodes: - hostName: "worker-node2.example.com" ... pruneManifests: - apiVersion: metal3.io/v1alpha1 kind: BareMetalHost ...应用更改。设置以下选项:
如果您在没有 Red Hat OpenShift GitOps 的情况下使用 Red Hat Advanced Cluster Management,请在 hub 集群中运行以下命令:
oc apply -f <clusterinstance>.yaml- 如果使用 GitOps ZTP,请推送到 Git 存储库并等待 Argo CD 同步更改。
在 hub 集群中运行以下命令来验证
BareMetalHost资源是否已移除:oc get bmh -n <clusterinstance_namespace> --watch --kubeconfig <hub_cluster_kubeconfig_filename>请参见以下示例输出:
NAME STATE CONSUMER ONLINE ERROR AGE master-node1.example.com provisioned true 81m worker-node2.example.com deprovisioning true 44m worker-node2.example.com powering off before delete true 20h worker-node2.example.com deleting true 50m在 hub 集群中运行以下命令来验证
Agent资源是否已移除:oc get agents -n <clusterinstance_namespace> --kubeconfig <hub_cluster_kubeconfig_filename>请参见以下示例输出:
NAME CLUSTER APPROVED ROLE STAGE master-node1.example.com <managed_cluster_name> true master Done master-node2.example.com <managed_cluster_name> true master Done master-node3.example.com <managed_cluster_name> true master Done worker-node1.example.com <managed_cluster_name> true worker Done在受管集群中运行以下命令来验证
Node资源是否已移除:oc get nodes --kubeconfig <managed_cluster_kubeconfig_filename>请参见以下示例输出:
NAME STATUS ROLES AGE VERSION worker-node2.example.com NotReady,SchedulingDisabled worker 19h v1.30.5 worker-node1.example.com Ready worker 19h v1.30.5 master-node1.example.com Ready control-plane,master 19h v1.30.5 master-node2.example.com Ready control-plane,master 19h v1.30.5 master-node3.example.com Ready control-plane,master 19h v1.30.5-
成功删除工作节点的
BareMetalHost对象后,从ClusterInstance资源中的spec.nodes部分中删除关联的工作节点定义。
4.3.3. 使用 SiteConfig operator 扩展单节点 OpenShift 集群 复制链接链接已复制到粘贴板!
扩展由 SiteConfig operator 安装的受管集群。您可以通过添加 worker 节点来扩展集群。
需要的访问权限:集群管理员
4.3.3.1. 先决条件 复制链接链接已复制到粘贴板!
- 如果使用 GitOps ZTP,则已配置了 GitOps ZTP 环境。要配置环境,请参阅为 GitOps ZTP 准备 hub 集群。
- 您有默认安装模板。要熟悉默认模板,请参阅 默认设置模板。
- 已使用 SiteConfig operator 安装集群。要使用 SiteConfig operator 安装集群,请参阅使用 SiteConfig operator 安装单节点 OpenShift 集群。
-
您已将
spec.clusterType设置为"SNO"。
4.3.3.2. 添加 worker 节点 复制链接链接已复制到粘贴板!
通过更新用于置备集群的 ClusterInstance 自定义资源来添加 worker 节点。
完成以下步骤,将 worker 节点添加到受管集群:
在现有
ClusterInstance自定义资源中定义新节点对象:spec: ... nodes: - hostName: "<host_name>" role: "worker" templateRefs: - name: ai-node-templates-v1 namespace: rhacm bmcAddress: "<bmc_address>" bmcCredentialsName: name: "<bmc_credentials_name>" bootMACAddress: "<boot_mac_address>" ...应用更改。设置以下选项:
- 如果您在没有 Red Hat OpenShift GitOps 的情况下使用 Red Hat Advanced Cluster Management,请在 hub 集群中运行以下命令:
oc apply -f <clusterinstance>.yaml- 如果使用 GitOps ZTP,请推送到 Git 存储库并等待 Argo CD 同步更改。
在 hub 集群中运行以下命令来验证是否已添加新
BareMetalHost资源:oc get bmh -n <clusterinstance_namespace> --watch --kubeconfig <hub_cluster_kubeconfig_filename>请参见以下示例输出:
NAME STATE CONSUMER ONLINE ERROR AGE master-node1.example.com provisioned true 81m worker-node2.example.com provisioning true 44m在 hub 集群中运行以下命令来验证是否已添加新
Agent资源:oc get agents -n <clusterinstance_namespace> --kubeconfig <hub_cluster_kubeconfig_filename>请参见以下示例输出:
NAME CLUSTER APPROVED ROLE STAGE master-node1.example.com <managed_cluster_name> true master Done master-node2.example.com <managed_cluster_name> true master Done master-node3.example.com <managed_cluster_name> true master Done worker-node1.example.com <managed_cluster_name> false worker worker-node2.example.com <managed_cluster_name> true worker Starting installation worker-node2.example.com <managed_cluster_name> true worker Installing worker-node2.example.com <managed_cluster_name> true worker Writing image to disk worker-node2.example.com <managed_cluster_name> true worker Waiting for control plane worker-node2.example.com <managed_cluster_name> true worker Rebooting worker-node2.example.com <managed_cluster_name> true worker Joined worker-node2.example.com <managed_cluster_name> true worker Done在受管集群中运行以下命令来验证是否已添加新
Node资源:oc get nodes --kubeconfig <managed_cluster_kubeconfig_filename>请参见以下示例输出:
NAME STATUS ROLES AGE VERSION worker-node2.example.com Ready worker 1h v1.30.5 worker-node1.example.com Ready worker 19h v1.30.5 master-node1.example.com Ready control-plane,master 19h v1.30.5 master-node2.example.com Ready control-plane,master 19h v1.30.5 master-node3.example.com Ready control-plane,master 19h v1.30.5
4.3.4. 为断开连接的环境镜像 复制链接链接已复制到粘贴板!
您可以使用基于映像的安装操作员作为底层操作员,通过 SiteConfig 操作员部署集群。如果您在断开连接的环境中使用基于映像的安装操作员部署集群,则必须在ClusterInstance自定义资源中提供镜像作为额外清单。
需要的访问权限:集群管理员
完成以下步骤来为断开连接的环境镜像:
为您的
ImageDigestMirrorSet对象创建一个名为idms-configmap.yaml的 YAML 文件,其中包含您的镜像注册表位置:kind: ConfigMap apiVersion: v1 metadata: name: "idms-configmap" namespace: "example-sno" data: 99-example-idms.yaml: | apiVersion: config.openshift.io/v1 kind: ImageDigestMirrorSet metadata: name: example-idms spec: imageDigestMirrors: - mirrors: - mirror.registry.example.com/image-repo/image source: registry.example.com/image-repo/image重要提示:在与
ClusterInstance资源相同的命名空间中定义包含额外清单的ConfigMap资源。在 hub 集群中运行以下命令来创建资源:
oc apply -f idms-configmap.yaml在
ClusterInstance自定义资源中引用您的ImageDigestMirrorSet对象:apiVersion: siteconfig.open-cluster-management.io/v1alpha1 kind: ClusterInstance metadata: name: "example-sno" namespace: "example-sno" spec: ... extraManifestsRefs: - name: idms-configmap ...
4.3.5. 使用 SiteConfig 操作员重新安装集群(技术预览) 复制链接链接已复制到粘贴板!
SiteConfig 操作员通过ClusterInstance API 简化 OpenShift 集群重新安装,同时保留关键配置数据。
通过与 GitOps 兼容的声明式方法,用户可以通过更新ClusterInstance资源来开始重新安装。该操作员还包括中心端Secret和ConfigMap资源的备份和恢复机制,确保基本集群数据(例如身份验证凭据和配置资源)保持完整。
4.3.5.1. 集群身份保存 复制链接链接已复制到粘贴板!
集群重新安装支持单节点 OpenShift 集群和多节点 OpenShift 集群。但是,仅使用基于映像的安装配置方法安装的单节点 OpenShift 集群支持集群身份保存。
有关基于映像的安装的更多信息,请参阅基于映像的单节点 OpenShift 安装。
4.3.5.2. 集群重新安装工作流程 复制链接链接已复制到粘贴板!
请参阅集群重新安装工作流程的以下步骤:
- 标记资源以便保存。如果您不想保留资源,这是可选的。您可以在启动集群重新安装之前标记您的资源。
- 启动集群重新安装。
- 监控重新安装进度并验证重新安装的集群是否可用。这是可选的。
4.3.5.3. 资源标签保存 复制链接链接已复制到粘贴板!
如果您希望在重新安装后保留必要的集群配置数据,SiteConfig 操作员为ClusterInstance命名空间内的中心端Secret和ConfigMap资源提供了备份和恢复机制。
您可以通过在ClusterInstance资源中设置preservationMode并向资源添加适当的保存标签来控制数据保存。有以下保存模式可供选择:
| 保存模式 | 行为 | 使用方法 | 标签要求 |
|---|---|---|---|
|
|
|
如果重装集群时不需要保留数据,请选择 | None |
|
|
与 |
如果您想保留标记的资源(如果有),请选择 |
添加 |
|
|
仅备份与 |
如果您希望操作员验证您是否标记了至少一个资源,请选择 |
添加 |
您可以在开始重新安装之前标记您的资源。
4.3.5.4. 集群重装监控 复制链接链接已复制到粘贴板!
重新安装分为两个阶段:
- 第 1 阶段 - 重新安装请求处理
- 请求验证:SiteConfig 操作员验证请求。
- 数据保存:SiteConfig 操作员备份标记的资源。
-
清理:SiteConfig 操作员删除现有的安装清单。如果此步骤超时,重新安装将停止并且
ClusterInstance资源将暂停。 - 数据恢复:SiteConfig 操作员恢复保存的数据。
- 第 2 阶段 - 集群配置
- 清单再生:SiteConfig 操作员从模板生成新的清单。
- 集群安装:使用新的清单配置集群。
您可以分别在status.reinstall.conditions和status.conditions字段中跟踪第 1 阶段和第 2 阶段的进度。为了跟踪集群重新安装进度,SiteConfig 操作员提供了以下状态条件:
| 状况 | 描述 | 原因 |
|
| 指示重新安装请求的总体状态。 |
|
|
| 确认重新安装请求的有效性。 |
|
|
| 跟踪已保存数据的备份状态。 |
|
|
| 确定集群身份数据是否可供保存。 |
|
|
|
监控与 |
|
|
| 跟踪保存数据的恢复状态。 |
|
status.reinstall字段通过以下字段提供有关重新安装过程的更多信息:
-
InProgressGeneration:标识正在处理以重新安装的活动生成。 -
ObservedGeneration:指示最后成功处理的重新安装请求。 -
RequestStartTime:表示发起重新安装请求的时间。 -
RequestEndTime:表示重新安装过程完成的时间。 -
历史记录:显示过去的重新安装尝试,包括生成详细信息、时间戳和ClusterInstance资源的规范更改。
4.3.6. 使用 SiteConfig 操作员重新安装集群(技术预览) 复制链接链接已复制到粘贴板!
使用 SiteConfig 操作员重新安装您的集群。启用重新安装后,您可以定义所需的保存模式,并在适用的情况下标记您的资源。
需要的访问权限:集群管理员
完成以下步骤来重新安装集群:
4.3.6.1. 启用集群重新安装 复制链接链接已复制到粘贴板!
您必须在siteconfig-operator-configuration ConfigMap资源中明确启用集群重新安装,您可以在启动该过程之前完成此操作。默认情况下,重新安装是禁用的。
完成以下步骤:
设置
NAMESPACE环境变量以匹配安装 SiteConfig 操作员的命名空间。运行以下命令:NAMESPACE=<namespace>通过运行以下命令来验证当前配置:
oc get configmap siteconfig-operator-configuration -n $NAMESPACE -o yaml输出示例:
apiVersion: v1 kind: ConfigMap metadata: name: siteconfig-operator-configuration namespace: <namespace>1 data: allowReinstalls: false2 ...注意:操作员持续监控
siteconfig-operator-configurationConfigMap资源的变化。要启用集群重新安装,请通过将
data.allowReinstalls字段设置为true来更新ConfigMap资源。运行以下命令:oc patch configmap siteconfig-operator-configuration \ -n $NAMESPACE \ --type=json \ -p '[{"op": "replace", "path": "/data/allowReinstalls", "value": "true"}]'运行以下命令验证更新:
oc get configmap siteconfig-operator-configuration -n $NAMESPACE -o yaml
4.3.6.2. 标记资源以便保存 复制链接链接已复制到粘贴板!
您可以在ClusterInstance自定义资源中设置所需的保存模式,并在适用的情况下相应地标记您的资源。默认情况下, preservationMode字段设置为None 。有关详细信息,请参阅资源标签保存。
完成以下示例步骤:
通过运行以下命令将资源标记为
全部保存模式:oc label configmap <your_configmap> "siteconfig.open-cluster-management.io/preserve=all"
ClusterInstance自定义资源使用与应用的标签相对应的正确的preservationMode进行更新。
4.3.6.3. 启动集群重新安装 复制链接链接已复制到粘贴板!
要开始重新安装,请使用新的spec.reinstall.generation值更新ClusterInstance资源。
修改
ClusterInstance资源中的spec.reinstall.generation值:apiVersion: siteconfig.open-cluster-management.io/v1alpha1 kind: `ClusterInstance` metadata: name: clusterinstance-example namespace: some-namespace spec: reinstall: generation: "unique-generation-string" preservationMode: "<your-preservation-mode>"注意:修改
ClusterInstance资源时,请确保设置适当的保存模式。“None”、“All”或“ClusterIdentity”是有效值。可选:定义
spec.reinstall对象时,您可以修改ClusterInstance资源中的以下附加字段:-
spec.extraAnnotations -
spec.extraLabels -
spec.suppressedManifests -
spec.pruneManifests -
spec.nodes.<node-id>.extraAnnotations -
spec.nodes.<node-id>.extraLabels -
spec.nodes.<node-id>.suppressedManifests -
spec.nodes.<node-id>.pruneManifests -
spec.nodes.<node-id>.bmcAddress -
spec.nodes.<node-id>.bootMACAddress -
spec.nodes.<node-id>.nodeNetwork.interfaces.macAddress -
spec.nodes.<node-id>.rootDeviceHints
注意:
<node-id>代表更新后的NodeSpec对象。-
应用更改。设置以下选项:
- 如果您使用的是 OpenShift GitOps ZTP,请推送到您的 Git 存储库并等待 Argo CD 同步更改。
- 要手动应用更改,请在中心集群上运行以下命令:
oc apply -f clusterinstance-example.yaml
4.3.6.4. 监控集群重新安装 复制链接链接已复制到粘贴板!
您可以监控集群重新安装进度。完成以下步骤:
验证重新安装请求是否正在处理:
oc get clusterinstance clusterinstance-example -n some-namespace -o json | jq -r '.status.reinstall.conditions[] | select(.type=="ReinstallRequestProcessed")'请参见以下示例输出:
{ "type": "ReinstallRequestProcessed" "reason": "InProgress", "status": "False", ... }验证集群重新安装请求是否成功验证:
oc get clusterinstance clusterinstance-example -n some-namespace -o json | jq -r '.status.reinstall.conditions[] | select(.type=="ReinstallRequestValidated")'请参见以下示例输出:
{ "type": "ReinstallRequestValidated" "reason": "Completed", "status": "True", ... }可选。如果将
spec.reinstall.preservationMode字段设置为All或ClusterIdentity,请验证集群身份数据是否被保留:oc get clusterinstance clusterinstance-example -n some-namespace -o json | jq -r '.status.reinstall.conditions[] | select(.type=="ReinstallPreservationDataBackedup")'请参见以下示例输出:
{ "type": "ReinstallPreservationDataBackedup" "reason": "Completed", "status": "True", ... }可选。如果将
spec.reinstall.preservationMode字段设置为All或ClusterIdentity,请验证是否检测到集群身份数据:oc get clusterinstance clusterinstance-example -n some-namespace -o json | jq -r '.status.reinstall.conditions[] | select(.type=="ReinstallClusterIdentityDataDetected")'请参见以下示例输出:
{ "type": "ReinstallClusterIdentityDataDetected" "reason": "DataAvailable", "status": "True", ... }验证安装清单是否已被删除。删除可能需要几分钟才能完成。
oc get clusterinstance clusterinstance-example -n some-namespace -o json | jq -r '.status.reinstall.conditions[] | select(.type=="ReinstallRenderedManifestsDeleted")'请参见以下示例输出:
{ "type": "ReinstallRenderedManifestsDeleted" "reason": "Completed", "status": "True", ... }可选。如果将
preseservationMode字段设置为All或ClusterIdentity,请验证之前保存的数据是否已恢复:oc get clusterinstance clusterinstance-example -n some-namespace -o json | jq -r '.status.reinstall.conditions[] | select(.type=="ReinstallPreservationDataRestored")'请参见以下示例输出:
{ "type": "ReinstallPreservationDataRestored" "reason": "Completed", "status": "True", ... }验证上述步骤后,请确保重新安装请求已成功完成:
oc get clusterinstance clusterinstance-example -n some-namespace -o json | jq -r '.status.reinstall.conditions[] | select(.type=="ReinstallRequestProcessed")'请参见以下示例输出:
{ "type": "ReinstallRequestProcessed" "reason": "Completed", "status": "True", ... }-
通过使用与重新安装的集群关联的
kubeconfig文件运行oc命令来确认集群已成功重新安装并且可以运行。
4.3.7. 使用基于映像的中断/修复程序为单节点 OpenShift 替换硬件(技术预览) 复制链接链接已复制到粘贴板!
基于映像的中断/修复功能利用 SiteConfig 操作员的集群重新安装机制来简化单节点 OpenShift 硬件更换。该功能通过保留集群的原始身份来最大限度地减少停机时间。基于映像的中断/修复功能保留了关键的集群详细信息,包括标识符、加密密钥(如kubeconfig )和身份验证凭据,这使得替换节点能够无缝地承担故障硬件的身份。
基于映像的中断/修复专为使用基于映像的安装方法安装的单节点 OpenShift 集群中的相同硬件替换而设计,它引入了与 GitOps 兼容的声明性 API。用户可以通过单个 Git 提交来启动硬件更换。在 SiteConfig 操作员和基于图像的安装操作员的支持下,基于图像的中断/修复可以使用现有的ClusterInstance自定义资源实现集群重新部署。
借助基于映像的中断/修复,OpenShift 容器平台用户可以获得弹性、自动化和 GitOps 原生解决方案,以便在硬件故障后快速恢复单节点 OpenShift 集群。
4.3.7.1. 基于映像的中断/修复集群重新安装工作流程 复制链接链接已复制到粘贴板!
基于映像的中断/修复工作流程与集群重新安装工作流程类似,但存在某些差异。要熟悉工作流程中的差异,请参阅基于映像的中断/修复集群重新安装工作流程的高级概述:
- 启用 SiteConfig 操作员重新安装服务。
启动集群重新安装。
-
设置
spec.reinstall.preservationMode: "ClusterIdentity"。 -
使用更改后的硬件信息更新
spec.nodes对象。 - 注意:基于图像的安装操作员会自动标记集群身份资源。
-
设置
监控重新安装进度。
- 在集群配置期间,使用安装清单的操作员使用新生成的清单来配置集群。
- 注意:基于映像的安装操作员检测保留的集群身份数据并将其合并到配置 ISO 映像中。
验证集群是否已配置且可用。
-
使用与故障硬件关联的
kubeconfig访问重新安装的辐射集群。
-
使用与故障硬件关联的
有关详细信息,请参阅使用 SiteConfig 操作员重新安装集群(技术预览版)。
4.3.7.2. 先决条件 复制链接链接已复制到粘贴板!
- 该集群是使用基于映像的安装配置方法安装的单节点 OpenShift 集群。
- 故障硬件被具有相同规格的新节点替换。
4.3.7.3. 启动基于映像的中断/修复集群重新安装 复制链接链接已复制到粘贴板!
要启动基于映像的中断/修复集群重新安装,请通过设置spec.reinstall.generation字段并使用更改的硬件信息更新spec.nodes对象来更新ClusterInstance资源。
修改
spec.reinstall.generation字段并使用新节点详细信息更新ClusterInstance资源中的spec.nodes对象:apiVersion: siteconfig.open-cluster-management.io/v1alpha1 kind: `ClusterInstance` metadata: name: clusterinstance-example namespace: some-namespace spec: ... reinstall: generation: "unique-generation-string" preservationMode: "ClusterIdentity" nodes: - bmcAddress: <new-node-bmcAddress> bootMACAddress: <new-node-bootMACAddress> rootDeviceHints: <new-node-rootDeviceHints> nodeNetwork: interfaces: macAddress: <new-node-macAddress> ... ...应用更改。设置以下选项:
- 如果您使用的是 OpenShift GitOps ZTP,请推送到您的 Git 存储库并等待 Argo CD 同步更改。
- 要手动应用更改,请在中心集群上运行以下命令:
oc apply -f clusterinstance-example.yaml