2.7. SiteConfig 高级主题
SiteConfig 操作符提供了额外的功能,例如创建自定义模板或扩展工作节点,扩展适用于大多数用例的标准操作。有关 SiteConfig 运算符的高级主题,请参阅以下文档:
2.7.1. 使用 SiteConfig operator 创建自定义模板 复制链接链接已复制到粘贴板!
创建在默认模板集合中未提供的用户定义模板。
需要的访问权限:集群管理员
在创建自定义模板中完成以下步骤:
创建名为
my-custom-secret.yaml的 YAML 文件,该文件在ConfigMap中包含集群级别模板:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
siteconfig.open-cluster-management.io/sync-wave注解控制创建、更新或删除清单的顺序。
运行以下命令,在 hub 集群中应用自定义模板:
oc apply -f my-custom-secret.yaml
oc apply -f my-custom-secret.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在名为
clusterinstance-my-custom-secret.yaml的ClusterInstance自定义资源中引用您的模板:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来应用
ClusterInstance自定义资源:oc apply -f clusterinstance-my-custom-secret.yaml
oc apply -f clusterinstance-my-custom-secret.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.7.2. 使用 SiteConfig operator 在单节点 OpenShift 集群中扩展 复制链接链接已复制到粘贴板!
在由 SiteConfig operator 安装的受管集群中扩展。您可以通过删除 worker 节点来在集群中扩展。
需要的访问权限:集群管理员
2.7.2.1. 先决条件 复制链接链接已复制到粘贴板!
- 如果使用 GitOps ZTP,请配置了 GitOps ZTP 环境。要配置环境,请参阅为 GitOps ZTP 准备 hub 集群。
- 您有默认模板。要熟悉默认模板,请参阅 默认设置模板
- 已使用 SiteConfig operator 安装集群。要使用 SiteConfig operator 安装集群,请参阅使用 SiteConfig operator 安装单节点 OpenShift 集群
-
您已将
spec.clusterType设置为"SNO"。
2.7.2.2. 为 worker 节点添加注解 复制链接链接已复制到粘贴板!
向 worker 节点添加注解以进行移除。
完成以下步骤,从受管集群注解 worker 节点:
在用于置备集群的
ClusterInstance自定义资源中的 worker 节点条目的extraAnnotations字段中添加注解:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 应用更改。设置以下选项:
- 如果您在没有 Red Hat OpenShift GitOps 的情况下使用 Red Hat Advanced Cluster Management,请在 hub 集群中运行以下命令:
oc apply -f <clusterinstance>.yaml
oc apply -f <clusterinstance>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 如果使用 GitOps ZTP,请推送到 Git 存储库并等待 Argo CD 同步更改。
在 hub 集群中运行以下命令来验证注解是否已应用到
BaremetalHostworker 资源:oc get bmh -n <clusterinstance_namespace> worker-node2.example.com -ojsonpath='{.metadata.annotations}' | jqoc get bmh -n <clusterinstance_namespace> worker-node2.example.com -ojsonpath='{.metadata.annotations}' | jqCopy to Clipboard Copied! Toggle word wrap Toggle overflow 有关注解成功应用程序的示例输出:
2.7.2.3. 删除 worker 节点的 BareMetalHost 资源 复制链接链接已复制到粘贴板!
删除您要删除的 worker 节点的 BareMetalHost 资源。
完成以下步骤,从受管集群中删除 worker 节点:
使用以下配置更新要在现有
ClusterInstance自定义资源中删除的节点对象:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 应用更改。设置以下选项:
- 如果您在没有 Red Hat OpenShift GitOps 的情况下使用 Red Hat Advanced Cluster Management,请在 hub 集群中运行以下命令:
oc apply -f <clusterinstance>.yaml
oc apply -f <clusterinstance>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 如果使用 GitOps ZTP,请推送到 Git 存储库并等待 Argo CD 同步更改。
在 hub 集群中运行以下命令来验证
BareMetalHost资源是否已移除:oc get bmh -n <clusterinstance_namespace> --watch --kubeconfig <hub_cluster_kubeconfig_filename>
oc get bmh -n <clusterinstance_namespace> --watch --kubeconfig <hub_cluster_kubeconfig_filename>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请参见以下示例输出:
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
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 50mCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 hub 集群中运行以下命令来验证
Agent资源是否已移除:oc get agents -n <clusterinstance_namespace> --kubeconfig <hub_cluster_kubeconfig_filename>
oc get agents -n <clusterinstance_namespace> --kubeconfig <hub_cluster_kubeconfig_filename>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请参见以下示例输出:
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
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 DoneCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在受管集群中运行以下命令来验证
Node资源是否已移除:oc get nodes --kubeconfig <managed_cluster_kubeconfig_filename>
oc get nodes --kubeconfig <managed_cluster_kubeconfig_filename>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请参见以下示例输出:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
成功删除工作节点的
BareMetalHost对象后,从ClusterInstance资源中的spec.nodes部分中删除关联的工作节点定义。
2.7.3. 使用 SiteConfig operator 扩展单节点 OpenShift 集群 复制链接链接已复制到粘贴板!
扩展由 SiteConfig operator 安装的受管集群。您可以通过添加 worker 节点来扩展集群。
需要的访问权限:集群管理员
2.7.3.1. 先决条件 复制链接链接已复制到粘贴板!
- 如果使用 GitOps ZTP,则已配置了 GitOps ZTP 环境。要配置环境,请参阅为 GitOps ZTP 准备 hub 集群。
- 您有默认安装模板。要熟悉默认模板,请参阅 默认设置模板。
- 已使用 SiteConfig operator 安装集群。要使用 SiteConfig operator 安装集群,请参阅使用 SiteConfig operator 安装单节点 OpenShift 集群。
-
您已将
spec.clusterType设置为"SNO"。
2.7.3.2. 添加 worker 节点 复制链接链接已复制到粘贴板!
通过更新用于置备集群的 ClusterInstance 自定义资源来添加 worker 节点。
完成以下步骤,将 worker 节点添加到受管集群:
在现有
ClusterInstance自定义资源中定义新节点对象:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 应用更改。设置以下选项:
- 如果您在没有 Red Hat OpenShift GitOps 的情况下使用 Red Hat Advanced Cluster Management,请在 hub 集群中运行以下命令:
oc apply -f <clusterinstance>.yaml
oc apply -f <clusterinstance>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 如果使用 GitOps ZTP,请推送到 Git 存储库并等待 Argo CD 同步更改。
在 hub 集群中运行以下命令来验证是否已添加新
BareMetalHost资源:oc get bmh -n <clusterinstance_namespace> --watch --kubeconfig <hub_cluster_kubeconfig_filename>
oc get bmh -n <clusterinstance_namespace> --watch --kubeconfig <hub_cluster_kubeconfig_filename>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请参见以下示例输出:
NAME STATE CONSUMER ONLINE ERROR AGE master-node1.example.com provisioned true 81m worker-node2.example.com provisioning true 44m
NAME STATE CONSUMER ONLINE ERROR AGE master-node1.example.com provisioned true 81m worker-node2.example.com provisioning true 44mCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 hub 集群中运行以下命令来验证是否已添加新
Agent资源:oc get agents -n <clusterinstance_namespace> --kubeconfig <hub_cluster_kubeconfig_filename>
oc get agents -n <clusterinstance_namespace> --kubeconfig <hub_cluster_kubeconfig_filename>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请参见以下示例输出:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在受管集群中运行以下命令来验证是否已添加新
Node资源:oc get nodes --kubeconfig <managed_cluster_kubeconfig_filename>
oc get nodes --kubeconfig <managed_cluster_kubeconfig_filename>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请参见以下示例输出:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.7.4. 为断开连接的环境镜像 复制链接链接已复制到粘贴板!
您可以使用基于映像的安装操作员作为底层操作员,通过 SiteConfig 操作员部署集群。如果您在断开连接的环境中使用基于映像的安装操作员部署集群,则必须在ClusterInstance自定义资源中提供镜像作为额外清单。
需要的访问权限:集群管理员
完成以下步骤来为断开连接的环境镜像:
为您的
ImageDigestMirrorSet对象创建一个名为idms-configmap.yaml的 YAML 文件,其中包含您的镜像注册表位置:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
重要提示:在与ClusterInstance资源相同的命名空间中定义包含额外清单的ConfigMap资源。
在 hub 集群中运行以下命令来创建资源:
oc apply -f idms-configmap.yaml
oc apply -f idms-configmap.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在
ClusterInstance自定义资源中引用您的ImageDigestMirrorSet对象:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.7.5. 使用 SiteConfig 操作员重新安装集群(技术预览) 复制链接链接已复制到粘贴板!
SiteConfig 操作员通过ClusterInstance API 简化 OpenShift 集群重新安装,同时保留关键配置数据。
通过与 GitOps 兼容的声明式方法,用户可以通过更新ClusterInstance资源来触发重新安装。该操作员还包括中心端Secret和ConfigMap资源的备份和恢复机制,确保基本集群数据(例如身份验证凭据和配置资源)保持完整。
2.7.5.1. 集群身份保存 复制链接链接已复制到粘贴板!
集群重新安装支持单节点 OpenShift 集群和多节点 OpenShift 集群。但是,仅使用基于映像的安装配置方法安装的单节点 OpenShift 集群支持集群身份保存。
有关基于映像的安装的更多信息,请参阅基于映像的单节点 OpenShift 安装。
2.7.5.2. 集群重新安装工作流程 复制链接链接已复制到粘贴板!
请参阅集群重新安装工作流程的以下步骤:
- 标记资源以便保存。如果您不想保留资源,这是可选的。您可以在启动集群重新安装之前标记您的资源。
- 启动集群重新安装。
- 监控重新安装进度并验证重新安装的集群是否可用。这是可选的。
2.7.5.3. 资源标签保存 复制链接链接已复制到粘贴板!
如果您希望在重新安装后保留必要的集群配置数据,SiteConfig 操作员为ClusterInstance命名空间内的中心端Secret和ConfigMap资源提供了备份和恢复机制。
您可以通过在ClusterInstance资源中设置preservationMode并向资源添加适当的保存标签来控制数据保存。有以下保存模式可供选择:
| 保存模式 | 行为 | 使用方法 | 标签要求 |
|---|---|---|---|
|
|
|
如果重装集群时不需要保留数据,请选择 | None |
|
|
与 |
如果您想保留标记的资源(如果有),请选择 |
添加 |
|
|
仅备份与 |
如果您希望操作员验证您是否标记了至少一个资源,请选择 |
添加 |
您可以在开始重新安装之前标记您的资源。
2.7.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资源的规范更改。
2.7.6. 使用 SiteConfig 操作员重新安装集群(技术预览) 复制链接链接已复制到粘贴板!
使用 SiteConfig 操作员重新安装您的集群。启用重新安装后,您可以定义所需的保存模式,并在适用的情况下标记您的资源。
需要的访问权限:集群管理员
完成以下步骤来重新安装集群:
2.7.6.1. 启用集群重新安装 复制链接链接已复制到粘贴板!
您必须在siteconfig-operator-configuration ConfigMap资源中明确启用集群重新安装,您可以在启动该过程之前完成此操作。默认情况下,重新安装是禁用的。
完成以下步骤:
设置
NAMESPACE环境变量以匹配安装 SiteConfig 操作员的命名空间。运行以下命令:NAMESPACE=<namespace>
NAMESPACE=<namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 通过运行以下命令来验证当前配置:
oc get configmap siteconfig-operator-configuration -n $NAMESPACE -o yaml
oc get configmap siteconfig-operator-configuration -n $NAMESPACE -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意:操作员持续监控
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 patch configmap siteconfig-operator-configuration \ -n $NAMESPACE \ --type=json \ -p '[{"op": "replace", "path": "/data/allowReinstalls", "value": "true"}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令验证更新:
oc get configmap siteconfig-operator-configuration -n $NAMESPACE -o yaml
oc get configmap siteconfig-operator-configuration -n $NAMESPACE -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.7.6.2. 标记资源以便保存 复制链接链接已复制到粘贴板!
您可以在ClusterInstance自定义资源中设置所需的保存模式,并在适用的情况下相应地标记您的资源。默认情况下, preservationMode字段设置为None 。有关详细信息,请参阅资源标签保存。
完成以下示例步骤:
通过运行以下命令将资源标记为
全部保存模式:oc label configmap <your_configmap> "siteconfig.open-cluster-management.io/preserve=all"
oc label configmap <your_configmap> "siteconfig.open-cluster-management.io/preserve=all"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ClusterInstance自定义资源使用与应用的标签相对应的正确的preservationMode进行更新。
2.7.6.3. 启动集群重新安装 复制链接链接已复制到粘贴板!
要开始重新安装,请使用新的spec.reinstall.generation值更新ClusterInstance资源。
修改
ClusterInstance资源中的spec.reinstall.generation值:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
注意:修改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
oc apply -f clusterinstance-example.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.7.6.4. 监控集群重新安装 复制链接链接已复制到粘贴板!
您可以监控集群重新安装进度。完成以下步骤:
验证重新安装请求是否正在处理:
oc get clusterinstance clusterinstance-example -n some-namespace -o json | jq -r '.status.reinstall.conditions[] | select(.type=="ReinstallRequestProcessed")'
oc get clusterinstance clusterinstance-example -n some-namespace -o json | jq -r '.status.reinstall.conditions[] | select(.type=="ReinstallRequestProcessed")'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请参见以下示例输出:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证集群重新安装请求是否成功验证:
oc get clusterinstance clusterinstance-example -n some-namespace -o json | jq -r '.status.reinstall.conditions[] | select(.type=="ReinstallRequestValidated")'
oc get clusterinstance clusterinstance-example -n some-namespace -o json | jq -r '.status.reinstall.conditions[] | select(.type=="ReinstallRequestValidated")'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请参见以下示例输出:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选。如果将
spec.reinstall.preservationMode字段设置为All或ClusterIdentity,请验证集群身份数据是否被保留:oc get clusterinstance clusterinstance-example -n some-namespace -o json | jq -r '.status.reinstall.conditions[] | select(.type=="ReinstallPreservationDataBackedup")'
oc get clusterinstance clusterinstance-example -n some-namespace -o json | jq -r '.status.reinstall.conditions[] | select(.type=="ReinstallPreservationDataBackedup")'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请参见以下示例输出:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选。如果将
spec.reinstall.preservationMode字段设置为All或ClusterIdentity,请验证是否检测到集群身份数据:oc get clusterinstance clusterinstance-example -n some-namespace -o json | jq -r '.status.reinstall.conditions[] | select(.type=="ReinstallClusterIdentityDataDetected")'
oc get clusterinstance clusterinstance-example -n some-namespace -o json | jq -r '.status.reinstall.conditions[] | select(.type=="ReinstallClusterIdentityDataDetected")'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请参见以下示例输出:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证安装清单是否已被删除。删除可能需要几分钟才能完成。
oc get clusterinstance clusterinstance-example -n some-namespace -o json | jq -r '.status.reinstall.conditions[] | select(.type=="ReinstallRenderedManifestsDeleted")'
oc get clusterinstance clusterinstance-example -n some-namespace -o json | jq -r '.status.reinstall.conditions[] | select(.type=="ReinstallRenderedManifestsDeleted")'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请参见以下示例输出:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选。如果将
preseservationMode字段设置为All或ClusterIdentity,请验证之前保存的数据是否已恢复:oc get clusterinstance clusterinstance-example -n some-namespace -o json | jq -r '.status.reinstall.conditions[] | select(.type=="ReinstallPreservationDataRestored")'
oc get clusterinstance clusterinstance-example -n some-namespace -o json | jq -r '.status.reinstall.conditions[] | select(.type=="ReinstallPreservationDataRestored")'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请参见以下示例输出:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证上述步骤后,请确保重新安装请求已成功完成:
oc get clusterinstance clusterinstance-example -n some-namespace -o json | jq -r '.status.reinstall.conditions[] | select(.type=="ReinstallRequestProcessed")'
oc get clusterinstance clusterinstance-example -n some-namespace -o json | jq -r '.status.reinstall.conditions[] | select(.type=="ReinstallRequestProcessed")'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请参见以下示例输出:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
通过使用与重新安装的集群关联的
kubeconfig文件运行oc命令来确认集群已成功重新安装并且可以运行。
2.7.7. 使用基于映像的中断/修复程序为单节点 OpenShift 替换硬件(技术预览) 复制链接链接已复制到粘贴板!
基于映像的中断/修复功能利用 SiteConfig 操作员的集群重新安装机制来简化单节点 OpenShift 硬件更换。该功能通过保留集群的原始身份来最大限度地减少停机时间。基于映像的中断/修复功能保留了关键的集群详细信息,包括标识符、加密密钥(如kubeconfig )和身份验证凭据,这使得替换节点能够无缝地承担故障硬件的身份。
基于映像的中断/修复专为使用基于映像的安装方法安装的单节点 OpenShift 集群中的相同硬件替换而设计,它引入了与 GitOps 兼容的声明性 API。用户可以通过单个 Git 提交来启动硬件更换。在 SiteConfig 操作员和基于图像的安装操作员的支持下,基于图像的中断/修复可以使用现有的ClusterInstance自定义资源实现集群重新部署。
借助基于映像的中断/修复,OpenShift 容器平台用户可以获得弹性、自动化和 GitOps 原生解决方案,以便在硬件故障后快速恢复单节点 OpenShift 集群。
2.7.7.1. 基于映像的中断/修复集群重新安装工作流程 复制链接链接已复制到粘贴板!
基于映像的中断/修复工作流程与集群重新安装工作流程类似,但存在某些差异。要熟悉工作流程中的差异,请参阅基于映像的中断/修复集群重新安装工作流程的高级概述:
- 启用 SiteConfig 操作员重新安装服务。
启动集群重新安装。
-
设置
spec.reinstall.preservationMode: "ClusterIdentity"。 -
使用更改后的硬件信息更新
spec.nodes对象。 - 注意:基于图像的安装操作员会自动标记集群身份资源。
-
设置
监控重新安装进度。
- 在集群配置期间,使用安装清单的操作员使用新生成的清单来配置集群。
- 注意:基于映像的安装操作员检测保留的集群身份数据并将其合并到配置 ISO 映像中。
验证集群是否已配置且可用。
-
使用与故障硬件关联的
kubeconfig访问重新安装的辐射集群。
-
使用与故障硬件关联的
有关详细信息,请参阅使用 SiteConfig 操作员重新安装集群(技术预览版)。
2.7.7.2. 先决条件 复制链接链接已复制到粘贴板!
- 该集群是使用基于映像的安装配置方法安装的单节点 OpenShift 集群。
- 故障硬件被具有相同规格的新节点替换。
2.7.7.3. 启动基于映像的中断/修复集群重新安装 复制链接链接已复制到粘贴板!
要启动基于映像的中断/修复集群重新安装,请通过设置spec.reinstall.generation字段并使用更改的硬件信息更新spec.nodes对象来更新ClusterInstance资源。
修改
spec.reinstall.generation字段并使用新节点详细信息更新ClusterInstance资源中的spec.nodes对象:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 应用更改。设置以下选项:
- 如果您使用的是 OpenShift GitOps ZTP,请推送到您的 Git 存储库并等待 Argo CD 同步更改。
- 要手动应用更改,请在中心集群上运行以下命令:
oc apply -f clusterinstance-example.yaml
oc apply -f clusterinstance-example.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow