使用 Red Hat Advanced Cluster Management 的 multicluster engine operator
带有后续 Red Hat Advanced Cluster Management 集成的 multicluster engine operator 提供了更多多集群管理功能。
摘要
如果您使用 multicluster engine operator,然后安装 Red Hat Advanced Cluster Management,您可以访问更多多集群管理功能,如 Observability 和 Policy。
有关集成功能,请查看以下要求:
- 您需要安装 Red Hat Advanced Cluster Management。请参阅 Red Hat Advanced Cluster Management 安装和升级文档。
- 有关安装后 Red Hat Advanced Cluster Management 的详情,请参阅 MultiClusterHub 高级配置。
有关 multicluster engine operator 和 Red Hat Advanced Cluster Management 多集群管理,请参阅以下步骤:
如果您有托管多个托管集群的多集群引擎 operator 集群,您可以将这些 托管集群 引入 Red Hat Advanced Cluster Management hub 集群,以使用 Red Hat Advanced Cluster Management 组件(如 应用程序生命周期和监管 ) 管理。
这些托管集群可以自动发现并导入为受管集群。
注: 由于托管 control plane 在受管多集群引擎 operator 集群节点上运行,集群可以托管的 control plane 数量由受管多集群引擎 operator 集群节点的资源可用性决定,以及受管 multicluster engine operator 集群的数量。您可以添加更多节点或受管集群来托管更多托管的 control plane。
需要的访问权限:集群管理员
1.1.1. 先决条件 复制链接链接已复制到粘贴板!
- 您需要一个或多个多集群引擎 operator 集群。
- 您需要一个设置为 hub 集群的 Red Hat Advanced Cluster Management 集群。
运行以下命令来安装
clusteradmCLI:curl -L https://raw.githubusercontent.com/open-cluster-management-io/clusteradm/main/install.sh | bash
curl -L https://raw.githubusercontent.com/open-cluster-management-io/clusteradm/main/install.sh | bashCopy to Clipboard Copied! Toggle word wrap Toggle overflow
multicluster engine operator 有一个 local-cluster,它是管理的 hub 集群。在 open-cluster-management-agent-addon 命名空间中为这个 local-cluster 启用以下默认附加组件:
-
cluster-proxy -
managed-serviceaccount -
work-manager
1.1.2.1. 配置附加组件 复制链接链接已复制到粘贴板!
当 multicluster engine Operator 导入到 Red Hat Advanced Cluster Management 中时,Red Hat Advanced Cluster Management 会启用同一组附加组件来管理 multicluster engine operator。
在不同的多集群引擎 operator 命名空间中安装这些附加组件,以便 multicluster engine operator 可以在 Red Hat Advanced Cluster Management 管理多集群引擎 operator 时使用 local-cluster 附加组件进行自我管理。完成以下步骤:
- 使用 CLI 登录您的 Red Hat Advanced Cluster Management。
创建
AddOnDeploymentConfig资源,以指定不同的附加组件安装命名空间。请参阅以下示例,其中agentInstallNamespace引用open-cluster-management-agent-addon-discovery:Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
运行
oc apply -f <filename>.yaml以应用该文件。 更新附加组件的现有
ClusterManagementAddOn资源,以便在您创建的AddOnDeploymentConfig资源中指定的open-cluster-management-agent-addon-discovery命名空间中安装附加组件。请参阅以下示例,并将open-cluster-management-global-set作为命名空间:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
addonDeploymentConfig添加到ClusterManagementAddOn。请参见以下示例:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
AddOnDeploymentConfig添加到managed-serviceaccount。请参见以下示例:Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
addondeploymentconfigs值添加到名为cluster-proxy的ClusterManagementAddOn资源中。请参见以下示例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,以验证 Red Hat Advanced Cluster Management
local-cluster的附加组件是否已重新安装到您指定的命名空间中:oc get deployment -n open-cluster-management-agent-addon-discovery
oc get deployment -n open-cluster-management-agent-addon-discoveryCopy to Clipboard Copied! Toggle word wrap Toggle overflow 请参见以下输出示例:
NAME READY UP-TO-DATE AVAILABLE AGE cluster-proxy-proxy-agent 1/1 1 1 24h klusterlet-addon-workmgr 1/1 1 1 24h managed-serviceaccount-addon-agent 1/1 1 1 24h
NAME READY UP-TO-DATE AVAILABLE AGE cluster-proxy-proxy-agent 1/1 1 1 24h klusterlet-addon-workmgr 1/1 1 1 24h managed-serviceaccount-addon-agent 1/1 1 1 24hCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.1.2.2. 创建 KlusterletConfig 资源 复制链接链接已复制到粘贴板!
multicluster engine operator 有一个 local-cluster,它是管理的 hub 集群。为这个 local-cluster 创建了名为 klusterlet 的资源。
当 multicluster engine operator 导入到 Red Hat Advanced Cluster Management 中时,Red Hat Advanced Cluster Management 会安装带有相同名称 klusterlet 的 klusterlet 来管理多集群引擎 operator。这与 multicluster engine operator local-cluster klusterlet 冲突。
您需要创建一个 ManagedCluster 资源用来导入多集群引擎 operator 集群的 KlusterletConfig 资源,以便 klusterlet 使用不同的名称安装,以避免冲突。完成以下步骤:
使用以下示例创建
KlusterletConfig资源。当在受管集群中引用此KlusterletConfig资源时,spec.installMode.noOperator.postfix字段的值用作 klusterlet 名称的一个后缀,如klusterlet-mce-import:Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
运行
oc apply -f <filename>.yaml以应用该文件。
1.1.2.3. 配置用于备份和恢复 复制链接链接已复制到粘贴板!
安装 Red Hat Advanced Cluster Management 后,您还可以使用备份和恢复功能。
如果 hub 集群在灾难恢复场景中恢复,导入的 multicluster engine operator 集群和托管集群会导入到较新的 Red Hat Advanced Cluster Management hub 集群中。
在这种情况下,您需要在 Red Hat Advanced Cluster Management hub 集群恢复过程中恢复以前的配置。
添加 backup=true 标签以启用备份。参阅每个附加组件的以下步骤:
对于
addon-ns-config,运行以下命令:oc label addondeploymentconfig addon-ns-config -n multicluster-engine cluster.open-cluster-management.io/backup=true
oc label addondeploymentconfig addon-ns-config -n multicluster-engine cluster.open-cluster-management.io/backup=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 对于
hypershift-addon-deploy-config,请运行以下命令:oc label addondeploymentconfig hypershift-addon-deploy-config -n multicluster-engine cluster.open-cluster-management.io/backup=true
oc label addondeploymentconfig hypershift-addon-deploy-config -n multicluster-engine cluster.open-cluster-management.io/backup=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 对于您的
work-manager,请运行以下命令:oc label clustermanagementaddon work-manager cluster.open-cluster-management.io/backup=true
oc label clustermanagementaddon work-manager cluster.open-cluster-management.io/backup=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 对于 'cluster-proxy ',请运行以下命令:
oc label clustermanagementaddon cluster-proxy cluster.open-cluster-management.io/backup=true
oc label clustermanagementaddon cluster-proxy cluster.open-cluster-management.io/backup=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 对于
managed-serviceaccount,运行以下命令:oc label clustermanagementaddon managed-serviceaccount cluster.open-cluster-management.io/backup=true
oc label clustermanagementaddon managed-serviceaccount cluster.open-cluster-management.io/backup=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 对于您的
mce-import-klusterlet-config,请运行以下命令:oc label KlusterletConfig mce-import-klusterlet-config cluster.open-cluster-management.io/backup=true
oc label KlusterletConfig mce-import-klusterlet-config cluster.open-cluster-management.io/backup=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.1.3. 手动导入多集群引擎 operator 复制链接链接已复制到粘贴板!
要从 Red Hat Advanced Cluster Management 集群中手动导入 multicluster engine operator 集群,请完成以下步骤:
在 Red Hat Advanced Cluster Management 集群中,手动创建
ManagedCluster资源来导入 multicluster engine operator 集群。请参见以下文件示例:Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
运行
oc apply -f <filename>.yaml以应用该文件。 创建
auto-import-secretsecret,该 secret 引用了 multicluster engine operator 集群的kubeconfig。进入 导入集群,通过使用 CLI 在导入受管集群中使用自动导入 secret 来自动完成 multicluster engine operator auto-import 的过程。在 Red Hat Advanced Cluster Management 集群的 multicluster engine operator 受管集群命名空间中创建自动导入 secret 后,受管集群会被注册。
运行以下命令来获取状态:
oc get managedcluster
oc get managedclusterCopy to Clipboard Copied! Toggle word wrap Toggle overflow 请参阅以下带有受管集群的状态和示例 URL 的输出示例:
NAME HUB ACCEPTED MANAGED CLUSTER URLS JOINED AVAILABLE AGE local-cluster true https://<api.acm-hub.com:port> True True 44h mce-a true https://<api.mce-a.com:port> True True 27s
NAME HUB ACCEPTED MANAGED CLUSTER URLS JOINED AVAILABLE AGE local-cluster true https://<api.acm-hub.com:port> True True 44h mce-a true https://<api.mce-a.com:port> True True 27sCopy to Clipboard Copied! Toggle word wrap Toggle overflow
重要: 不要为导入的多集群引擎 operator 启用任何其他 Red Hat Advanced Cluster Management 附加组件。
1.1.4. 发现托管集群 复制链接链接已复制到粘贴板!
在将所有多集群引擎 operator 集群导入到 Red Hat Advanced Cluster Management 后,您需要为这些受管多集群引擎 operator 集群启用 hypershift-addon 来发现托管集群。
默认附加组件安装到前面流程的不同命名空间中。同样,您可以在多集群引擎 operator 中将 hypershift-addon 安装到不同的命名空间中,以便多集群引擎 operator local-cluster 的附加组件代理和 Red Hat Advanced Cluster Management 的代理可以在多集群引擎 operator 中正常工作。
重要: 对于所有命令,将 < ;managed-cluster-names > 替换为 multicluster engine operator 的以逗号分隔的受管集群名称。
运行以下命令,将附加组件的
agentInstallNamespace命名空间设置为open-cluster-management-agent-addon-discovery:oc patch addondeploymentconfig hypershift-addon-deploy-config -n multicluster-engine --type=merge -p '{"spec":{"agentInstallNamespace":"open-cluster-management-agent-addon-discovery"}}'oc patch addondeploymentconfig hypershift-addon-deploy-config -n multicluster-engine --type=merge -p '{"spec":{"agentInstallNamespace":"open-cluster-management-agent-addon-discovery"}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令以禁用指标并禁用 HyperShift operator 管理:
oc patch addondeploymentconfig hypershift-addon-deploy-config -n multicluster-engine --type=merge -p '{"spec":{"customizedVariables":[{"name":"disableMetrics","value": "true"},{"name":"disableHOManagement","value": "true"}]}}'oc patch addondeploymentconfig hypershift-addon-deploy-config -n multicluster-engine --type=merge -p '{"spec":{"customizedVariables":[{"name":"disableMetrics","value": "true"},{"name":"disableHOManagement","value": "true"}]}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选: 您可以使用
{"name":"discoveryPrefix","value": ""}]}}'附加上一个命令来设置命名约定。当发现的托管集群自动导入到 Red Hat Advanced Cluster Management hub 集群时,它会成为具有以下命名约定 的受管集群:'<mce-cluster -name>'- <hosted-cluster-name>。您还可以将discoveryPrefix设置为其他一些字符串,将其用作替换 <mce-cluster-name> 的前缀。使用前缀运行以下命令:oc patch addondeploymentconfig hypershift-addon-deploy-config -n multicluster-engine --type=merge -p '{"spec":{"customizedVariables":[{"name":"disableMetrics","value": "true"},{"name":"disableHOManagement","value": "true"},{"name":"discoveryPrefix","value": ""}]}}'oc patch addondeploymentconfig hypershift-addon-deploy-config -n multicluster-engine --type=merge -p '{"spec":{"customizedVariables":[{"name":"disableMetrics","value": "true"},{"name":"disableHOManagement","value": "true"},{"name":"discoveryPrefix","value": ""}]}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,为多集群引擎 operator 启用
hypershift-addon:clusteradm addon enable --names hypershift-addon --clusters <managed-cluster-names>
clusteradm addon enable --names hypershift-addon --clusters <managed-cluster-names>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以通过在 Red Hat Advanced Cluster Management 中运行以下命令来获取 multicluster engine operator 受管集群名称。
oc get managedcluster
oc get managedclusterCopy to Clipboard Copied! Toggle word wrap Toggle overflow 登录到多集群引擎 operator 集群,并验证您指定的命名空间中是否安装了
hypershift-addon。运行以下命令:oc get deployment -n open-cluster-management-agent-addon-discovery
oc get deployment -n open-cluster-management-agent-addon-discoveryCopy to Clipboard Copied! Toggle word wrap Toggle overflow 请参阅以下列出附加组件的输出示例:
NAME READY UP-TO-DATE AVAILABLE AGE cluster-proxy-proxy-agent 1/1 1 1 24h klusterlet-addon-workmgr 1/1 1 1 24h hypershift-addon-agent 1/1 1 1 24h managed-serviceaccount-addon-agent 1/1 1 1 24h
NAME READY UP-TO-DATE AVAILABLE AGE cluster-proxy-proxy-agent 1/1 1 1 24h klusterlet-addon-workmgr 1/1 1 1 24h hypershift-addon-agent 1/1 1 1 24h managed-serviceaccount-addon-agent 1/1 1 1 24hCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Red Hat Advanced Cluster Management 部署 hypershift-addon,它是从多集群引擎 operator 发现托管集群的发现代理。当托管集群 kube-apiserver 可用时,代理会在 Red Hat Advanced Cluster Management hub 集群中的 multicluster engine operator 受管集群命名空间中创建对应的 DiscoveredCluster 自定义资源。
您可以在控制台中查看发现的集群。
- 登录到 hub 集群控制台并进入到 All Clusters > Infrastructure > Clusters。
-
找到 Discovered clusters 选项卡,以查看来自 multicluster engine operator 的所有发现的、类型为
MultiClusterEngineHCP的托管集群。
接下来,请访问 Automating import for discovered hosted cluster,了解如何自动导入集群。
1.2. 为发现的托管集群自动导入 复制链接链接已复制到粘贴板!
使用 DiscoveredCluster 资源自动导入托管集群以加快集群管理,而无需手动导入单个集群。
当您自动将发现的托管集群导入到 Red Hat Advanced Cluster Management 中时,会启用所有 Red Hat Advanced Cluster Management 附加组件,以便您可以使用可用的管理工具开始管理托管集群。
托管的集群还 自动导入到 多集群引擎 operator 中。通过 multicluster engine operator 控制台,您可以管理托管集群生命周期。但是,您无法从 Red Hat Advanced Cluster Management 控制台管理托管集群生命周期。
需要的访问权限:集群管理员
1.2.1. 先决条件 复制链接链接已复制到粘贴板!
1.2.2. 为自动导入配置设置 复制链接链接已复制到粘贴板!
从受管多集群引擎 operator 集群发现的集群以 DiscoveredCluster 自定义资源表示,这些资源位于 Red Hat Advanced Cluster Management 中的受管 multicluster engine operator 集群命名空间中。请参阅以下 DiscoveredCluster 资源和命名空间示例:
在 spec.importAsManagedCluster 字段从 false 改为 true 之前,发现的托管集群不会自动导入到 Red Hat Advanced Cluster Management。了解如何使用 Red Hat Advanced Cluster Management 策略为 DiscoveredCluster 资源中的所有类型自动 将此字段设置为 true,以便发现的托管集群会立即并自动导入到 Red Hat Advanced Cluster Management。
配置您的 Policy 以导入所有发现的托管集群。
1.2.3. 创建放置定义 复制链接链接已复制到粘贴板!
您需要创建一个放置定义,为策略部署指定受管集群。完成以下步骤:
创建仅选择
local-cluster的放置定义,该定义是管理的 hub 集群。使用以下 YAML 示例:Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
运行
oc apply -f placement.yaml -n <namespace>,其中 namespace 与您之前创建的策略的命名空间匹配。
1.2.4. 将导入策略绑定到放置定义 复制链接链接已复制到粘贴板!
创建策略和放置后,您需要连接这两个资源。完成以下步骤:
使用
PlacementBinding资源连接资源。请参阅以下示例,placementRef引用您创建的放置,主题引用您创建的策略:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要验证,请运行以下命令:
oc get policies.policy.open-cluster-management.io policy-mce-hcp-autoimport -n <namespace>
oc get policies.policy.open-cluster-management.io policy-mce-hcp-autoimport -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
重要: 您可以使用 Red Hat Advanced Cluster Management 控制台中的 Detach 选项,或者从命令行中删除对应的 ManagedCluster 自定义资源,从 Red Hat Advanced Cluster Management 控制台中 分离 托管集群。
为获得最佳结果,在 销毁 托管集群前分离受管集群。
当发现的集群分离时,以下注解会添加到 DiscoveredCluster 资源中,以防止策略再次导入发现的集群。
annotations:
discovery.open-cluster-management.io/previously-auto-imported: "true"
annotations:
discovery.open-cluster-management.io/previously-auto-imported: "true"
如果要重新导入分离发现的集群,请删除此注解。
1.3. 为发现的 OpenShift Service on AWS 集群自动导入 复制链接链接已复制到粘贴板!
使用 Red Hat Advanced Cluster Management 策略强制自动导入 OpenShift Service on AWS 集群,以便更快地进行集群管理,而无需手动导入单个集群。
需要的访问权限:集群管理员
1.3.1. 先决条件 复制链接链接已复制到粘贴板!
1.3.2. 创建自动导入策略 复制链接链接已复制到粘贴板!
以下策略和步骤是如何在 AWS 集群上自动导入所有发现的 OpenShift Service 的示例。
通过 CLI 登录到您的 hub 集群,以完成以下流程:
1.3.3. 创建放置定义 复制链接链接已复制到粘贴板!
您需要创建一个放置定义,为策略部署指定受管集群。
创建仅选择
local-cluster的放置定义,该定义是管理的 hub 集群。使用以下 YAML 示例:Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
运行
oc apply -f placement.yaml -n <namespace>,其中 namespace 与您之前创建的策略的命名空间匹配。
1.3.4. 将导入策略绑定到放置定义 复制链接链接已复制到粘贴板!
创建策略和放置后,您需要连接这两个资源。
使用
PlacementBinding连接资源。请参阅以下示例,placementRef引用您创建的放置,主题引用您创建的策略:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要验证,请运行以下命令:
oc get policies.policy.open-cluster-management.io policy-rosa-autoimport -n <namespace>
oc get policies.policy.open-cluster-management.io policy-rosa-autoimport -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.4. Observability 集成 复制链接链接已复制到粘贴板!
使用 Red Hat Advanced Cluster Management Observability 功能,您可以查看跨团队的集群的健康状态和利用率。您可以安装 Red Hat Advanced Cluster Management 并启用 Observability。
1.4.1. 观察托管的 control plane 复制链接链接已复制到粘贴板!
启用 multicluster-observability pod 后,您可以使用 Red Hat Advanced Cluster Management Observability Grafana 仪表板查看有关托管 control plane 的以下信息:
- ACM > Hosted Control Planes Overview 仪表板,查看托管 control plane、相关集群资源以及现有托管 control plane 的列表和状态的集群容量估算。如需更多信息,请参阅: 托管 control plane 简介。
- ACM > Resources > Hosted Control Plane 仪表板,您可以从 Overview 页面中访问来查看所选托管的 control plane 的资源利用率。如需更多信息,请参阅安装托管的 control plane 命令行界面。
要启用,请参阅 Observability 服务。
第 2 章 SiteConfig 复制链接链接已复制到粘贴板!
SiteConfig operator 提供了一个带有统一 ClusterInstance API 的模板驱动的集群置备解决方案,它来自 SiteConfig generator kustomize 插件的 SiteConfig API。
要了解更多有关如何使用 SiteConfig operator 的信息,请参阅以下文档:
有关高级主题,请参阅以下文档:
2.1. 关于 SiteConfig operator 复制链接链接已复制到粘贴板!
SiteConfig operator 提供了一个模板驱动的集群置备解决方案,它允许您使用各种安装方法置备集群。
SiteConfig operator 引入了统一的 ClusterInstance API,来自 SiteConfig generator kustomize 插件的 SiteConfig API。
ClusterInstance API 将定义集群的参数与部署集群的方式分离。
这种分离会删除当前 GitOps Zero Touch Provisioning (ZTP)流中的 SiteConfig kustomize 插件提供的某些限制,如与 Argo CD 相关的代理集群安装和可扩展性限制。
使用统一 ClusterInstance API,SiteConfig operator 提供以下改进:
- 隔离
-
将集群定义与安装方法分开。
ClusterInstance自定义资源捕获集群定义,而安装模板会捕获集群架构和安装方法。 - unification
-
SiteConfig 操作器统一 Git 和非 Git 工作流。您可以在 hub 集群中直接应用
ClusterInstance自定义资源,或者通过 GitOps 解决方案(如 ArgoCD)同步资源。 - 一致性
- 在安装方法中维护一致的 API,无论您使用的是 Assisted Installer、Image Based Install Operator,还是任何其他基于自定义模板的方法。
- 可扩展性
-
与
SiteConfigkustomize 插件相比,每个集群具有更大的可扩展性。 - 灵活性
- 为您提供更多使用自定义模板部署和安装集群的功能。
- 故障排除
- 提供有关集群部署状态和呈现的清单的深入了解信息,显著提高故障排除体验。
如需有关 Image Based Install Operator 的更多信息,请参阅 Image Based Install Operator。
有关辅助安装程序的更多信息,请参阅使用 辅助安装程序安装内部集群
2.1.1. SiteConfig operator 流 复制链接链接已复制到粘贴板!
SiteConfig operator 根据用户定义的模板动态生成安装清单,这些模板从 ClusterInstance 自定义资源中的数据实例化。
您可以通过 ArgoCD 从 Git 存储库中提供 ClusterInstance 自定义资源,也可以手动在 hub 集群上或通过外部工具和工作流创建它。
以下是流程的高级概述:
- 您可以在 hub 集群中创建一个或多个安装模板集合。
-
您可以创建一个
ClusterInstance自定义资源来引用这些安装模板和支持清单。 -
创建资源后,SiteConfig operator 通过填充自定义资源中引用的模板字段来协调
ClusterInstance自定义资源。 - SiteConfig 操作器验证并呈现安装清单,然后 Operator 会执行空运行。
- 如果空运行成功,则创建清单,然后底层 Operator 会消耗并处理清单。
- 安装开始。
-
SiteConfig operator 持续监控关联的
ClusterDeployment资源的更改,并相应地更新ClusterInstance自定义资源的status字段。
2.2. 安装模板概述 复制链接链接已复制到粘贴板!
安装模板是用来生成安装工件集合的数据驱动的模板。这些模板采用 Golang 文本/模板格式,并使用来自 ClusterInstance 自定义资源的数据进行实例化。这可为每个具有类似配置但具有不同值的每个目标集群动态创建安装清单。
您还可以根据不同的安装方法或集群拓扑创建多个集合。SiteConfig operator 支持以下类型的安装模板:
- 集群级别
- 只能引用特定于集群的字段的模板。
- 节点级别
- 可引用特定于集群和特定于节点的字段的模板。
有关安装模板的更多信息,请参阅以下文档:
2.2.1. 模板功能 复制链接链接已复制到粘贴板!
您可以自定义模板字段。SiteConfig 操作器支持所有 sprig 库函数。
另外,ClusterInstance API 提供了在创建自定义清单时可以使用以下功能:
toYaml-
toYaml函数将项目编码为 YAML 字符串。如果项目无法转换为 YAML,则函数会返回空字符串。
请参阅以下 ClusterInstance.Spec.Proxy 字段中的 .toYaml 规格示例:
{{ if .Spec.Proxy }}
proxy:
{{ .Spec.Proxy | toYaml | indent 4 }}
{{ end }}
{{ if .Spec.Proxy }}
proxy:
{{ .Spec.Proxy | toYaml | indent 4 }}
{{ end }}
2.2.2. 默认模板集合 复制链接链接已复制到粘贴板!
SiteConfig operator 在安装 Operator 的同一命名空间中提供以下默认、验证和不可变模板集合:
| 安装方法 | 模板类型 | 文件名 | 模板内容 |
|---|---|---|---|
| 支持的安装程序 | 集群级别模板 |
|
|
| 节点级别模板 |
|
| |
| 基于镜像的 Install Operator | 集群级别模板 |
|
|
| 节点级别模板 |
|
|
有关 ClusterInstance API 的更多信息,请参阅 ClusterInstance API。
2.2.3. 特殊模板变量 复制链接链接已复制到粘贴板!
SiteConfig operator 提供了一组可在模板中使用的特殊模板变量。请参见以下列表:
CurrentNode- SiteConfig operator 明确控制节点对象的迭代,并公开此变量来访问模板中处理的当前节点的所有内容。
InstallConfigOverrides-
包含合并的
networkType、cpuPartitioningMode和installConfigOverrides内容。 ControlPlaneAgents-
由 control plane 代理的数量组成,它会自动从
ClusterInstance节点对象衍生而来。 WorkerAgents-
由 worker 代理数量组成,它会自动从
ClusterInstance节点对象派生而来。
在文本模板中使用字段名称来创建自定义模板字段。
例如,ClusterInstance spec 字段使用 .Spec 前缀引用。但是,您必须使用 .SpecialVars 前缀引用特殊变量字段。
重要: 对于 spec.nodes 字段使用 .Spec.Nodes 前缀,您必须使用 .SpecialVars.CurrentNode 特殊模板变量引用它。
例如,如果要使用 CurrentNode 特殊模板变量为当前节点指定 名称和命名空间,请使用以下格式的字段名称:
name: "{{ .SpecialVars.CurrentNode.HostName }}"
namespace: "{{ .Spec.ClusterName }}"
name: "{{ .SpecialVars.CurrentNode.HostName }}"
namespace: "{{ .Spec.ClusterName }}"
2.2.4. 自定义清单顺序 复制链接链接已复制到粘贴板!
您可以使用 siteconfig.open-cluster-management.io/sync-wave 注解来控制创建、更新和删除清单的顺序。该注解使用一个整数作为值,该整数则作为 wave 组成。
您可以将一个或多个清单添加到单个 wave 中。如果没有指定值,注解将使用默认值 0。
SiteConfig operator 在创建或更新资源时以升序协调清单,并以降序删除资源。
在以下示例中,如果 SiteConfig operator 创建或更新清单,则 AgentClusterInstall 和 ClusterDeployment 自定义资源会在第一个 wave 中协调,而 KlusterletAddonConfig 和 ManagedCluster 自定义资源会在第三个 wave 中协调。
如果 SiteConfig operator 删除资源,KlusterletAddonConfig 和 ManagedCluster 自定义资源是第一个被删除,而 AgentClusterInstall 和 ClusterDeployment 自定义资源是最后一个。
2.2.5. 配置额外注解和标签 复制链接链接已复制到粘贴板!
您可以使用 ClusterInstance API 中的 extraAnnotations 和 extraLabels 字段为集群级别和节点级别的安装清单配置额外的注解和标签。SiteConfig Operator 将额外注解和标签应用到您在 ClusterInstance 资源中指定的清单。
在创建额外的注解和标签时,您必须指定清单类型,以允许 SiteConfig 操作器将它们应用到所有匹配的清单。但是,注解和标签是任意的,您可以设置对应用程序有意义的任何键值对。
注: 附加注解和标签只适用于通过引用模板呈现的资源。
查看以下 extraAnnotations 和 extraLabels 应用程序示例:
extraAnnotations 和 extraLabels的应用程序示例
- 1 2
- 此字段支持 SiteConfig operator 应用到
ManagedCluster和ClusterDeployment清单的集群级注解和标签。 - 3 4
- 此字段支持 SiteConfig operator 应用到
BareMetalHost清单的节点级别注解和标签。您可以运行以下命令来验证您的附加标签是否已应用:
oc get managedclusters example-sno -ojsonpath='{.metadata.labels}' | jqoc get managedclusters example-sno -ojsonpath='{.metadata.labels}' | jqCopy to Clipboard Copied! Toggle word wrap Toggle overflow 查看以下应用标签示例:
应用的标签示例
{ "common": "true", "group-du": "", ... }{ "common": "true", "group-du": "", ... }Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 您可以运行以下命令来验证您的附加注解是否已应用:
oc get bmh example-sno.example.redhat.com -n example-sno -ojsonpath='{.metadata.annotations}' | jqoc get bmh example-sno.example.redhat.com -n example-sno -ojsonpath='{.metadata.annotations}' | jqCopy to Clipboard Copied! Toggle word wrap Toggle overflow 查看以下应用的注解示例:
应用注解示例
{ "myNodeAnnotation": "success", ... }{ "myNodeAnnotation": "success", ... }Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.3. 启用 SiteConfig operator 复制链接链接已复制到粘贴板!
启用 SiteConfig Operator,以使用默认的安装模板,并大规模安装单节点 OpenShift 集群。
需要的访问权限:集群管理员
2.3.1. 先决条件 复制链接链接已复制到粘贴板!
- 您需要一个 Red Hat Advanced Cluster Management hub 集群。
2.3.2. 从 MultiClusterHub 资源启用 SiteConfig operator 复制链接链接已复制到粘贴板!
对 MultiClusterHub 资源进行补丁,然后验证是否启用了 SiteConfig operator。完成以下步骤:
运行以下命令,设置与
MultiClusterHuboperator 的命名空间匹配的环境变量:export MCH_NAMESPACE=<namespace>
export MCH_NAMESPACE=<namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,在
Multiclusterhub资源中的spec.overrides.components的siteconfig条目中将enabled字段设置为true:oc patch multiclusterhubs.operator.open-cluster-management.io multiclusterhub -n ${MCH_NAMESPACE} --type json --patch '[{"op": "add", "path":"/spec/overrides/components/-", "value": {"name":"siteconfig","enabled": true}}]'oc patch multiclusterhubs.operator.open-cluster-management.io multiclusterhub -n ${MCH_NAMESPACE} --type json --patch '[{"op": "add", "path":"/spec/overrides/components/-", "value": {"name":"siteconfig","enabled": true}}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 hub 集群中运行以下命令来验证 SiteConfig operator 是否已启用:
oc -n ${MCH_NAMESPACE} get po | grep siteconfigoc -n ${MCH_NAMESPACE} get po | grep siteconfigCopy to Clipboard Copied! Toggle word wrap Toggle overflow 请参见以下示例输出:
siteconfig-controller-manager-6fdd86cc64-sdg87 2/2 Running 0 43s
siteconfig-controller-manager-6fdd86cc64-sdg87 2/2 Running 0 43sCopy to Clipboard Copied! Toggle word wrap Toggle overflow 可选: 在 hub 集群中运行以下命令来验证您是否具有默认安装模板:
oc -n ${MCH_NAMESPACE} get cmoc -n ${MCH_NAMESPACE} get cmCopy to Clipboard Copied! Toggle word wrap Toggle overflow 请参阅输出示例中的以下模板列表:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.4. Image Based Install Operator 复制链接链接已复制到粘贴板!
安装 Image Based Install Operator,以便您可以使用与现有安装方法相同的 API 来完成和管理基于镜像的集群安装。
有关以及如何启用 Image Based Install Operator 的更多信息,请参阅 用于单节点 OpenShift 的基于镜像的安装。
2.5. 使用 SiteConfig Operator 安装单节点 OpenShift 集群 复制链接链接已复制到粘贴板!
使用默认安装模板使用 SiteConfig operator 安装集群。使用 Image-Based Install Operator 的安装模板完成此步骤。
需要的访问权限:集群管理员
2.5.1. 先决条件 复制链接链接已复制到粘贴板!
- 如果使用 GitOps ZTP,请配置 GitOps ZTP 环境。要配置环境,请参阅为 GitOps ZTP 准备 hub 集群。
- 您有默认安装模板。要熟悉默认模板,请参阅 默认设置模板
安装和配置您选择的底层操作器。
- 要了解并安装用于单节点 OpenShift 的镜像安装 Operator,请参阅 Image Based Install Operator。
- 要安装 Assisted Installer,请参阅使用 Assisted Installer 安装内部集群。
完成以下步骤,使用 SiteConfig operator 安装集群:
2.5.2. 创建目标命名空间 复制链接链接已复制到粘贴板!
在创建 pull secret、BMC secret、额外清单 ConfigMap 对象和 ClusterInstance 自定义资源时,您需要一个目标命名空间。
完成以下步骤以创建目标命名空间:
为目标命名空间创建 YAML 文件。请参阅以下名为
clusterinstance-namespace.yaml的示例文件:apiVersion: v1 kind: Namespace metadata: name: example-sno
apiVersion: v1 kind: Namespace metadata: name: example-snoCopy to Clipboard Copied! Toggle word wrap Toggle overflow 应用您的文件以创建资源。在 hub 集群中运行以下命令:
oc apply -f clusterinstance-namespace.yaml
oc apply -f clusterinstance-namespace.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.5.3. 创建 pull secret 复制链接链接已复制到粘贴板!
您需要 pull secret 才能使集群从容器 registry 中拉取镜像。完成以下步骤以创建 pull secret:
创建 YAML 文件以拉取镜像。请参阅以下名为
pull-secret.yaml的文件示例:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 应用该文件以创建资源。在 hub 集群中运行以下命令:
oc apply -f pull-secret.yaml
oc apply -f pull-secret.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.5.4. 创建 BMC secret 复制链接链接已复制到粘贴板!
您需要一个 secret 来连接到基板管理控制器(BMC)。完成以下步骤以创建 secret:
为 BMC secret 创建 YAML 文件。请参阅以下名为
example-bmc-secret.yaml的示例文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 确保
namespace值与目标命名空间匹配。
应用该文件以创建资源。在 hub 集群中运行以下命令:
oc apply -f example-bmc-secret.yaml
oc apply -f example-bmc-secret.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.5.5. 可选:创建额外的清单 复制链接链接已复制到粘贴板!
您可以创建在 ClusterInstance 自定义资源中引用的额外清单。完成以下步骤以创建额外的清单:
为额外的清单
ConfigMap对象创建 YAML 文件,如enable-crun.yaml:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 确保
namespace值与目标命名空间匹配。
在 hub 集群中运行以下命令来创建资源:
oc apply -f enable-crun.yaml
oc apply -f enable-crun.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.5.6. 渲染安装清单 复制链接链接已复制到粘贴板!
引用 ClusterInstance 自定义资源中的模板和支持清单。完成以下步骤,使用默认集群和节点模板呈现安装清单:
在
example-sno命名空间中,在以下示例中创建名为clusterinstance-ibi.yaml的ClusterInstance自定义资源:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 确保
ClusterInstance自定义资源中的命名空间与您定义的目标命名空间匹配。 - 2
- 可选: 如果要在单节点 OpenShift 集群中扩展或扩展,您必须将
spec.clusterType字段设置为"SNO"。 - 3
- 引用一个或多个额外清单
ConfigMap对象的名称。 - 4
- 引用 pull secret
的名称。 - 5
- 确保
ClusterInstance自定义资源中的clusterName字段的值与namespace字段的值匹配。 - 6
- 在
spec.templateRefs字段中引用集群级别模板的名称。如果使用默认安装模板,命名空间必须与安装 Operator 的命名空间匹配。 - 7
- 引用 BMC secret
的名称。 - 8
- 在
spec.nodes.templateRefs字段中引用节点级别模板的名称。如果使用默认安装模板,命名空间必须与安装 Operator 的命名空间匹配。
运行以下命令应用该文件并创建资源:
oc apply -f clusterinstance-ibi.yaml
oc apply -f clusterinstance-ibi.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 创建自定义资源后,SiteConfig operator 开始协调
ClusterInstance自定义资源,然后验证并呈现安装清单。SiteConfig operator 继续监控
ClusterDeployment自定义资源中的更改,以更新相应ClusterInstance自定义资源的集群安装进度。运行以下命令监控进程:
oc get clusterinstance <cluster_name> -n <target_namespace> -o yaml
oc get clusterinstance <cluster_name> -n <target_namespace> -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 有关成功生成清单,请参阅
status.conditions部分中的以下示例输出:message: Applied site config manifests reason: Completed status: "True" type: RenderedTemplatesApplied
message: Applied site config manifests reason: Completed status: "True" type: RenderedTemplatesAppliedCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,检查 SiteConfig operator 呈现的清单:
oc get clusterinstance <cluster_name> -n <target_namespace> -o jsonpath='{.status.manifestsRendered}'oc get clusterinstance <cluster_name> -n <target_namespace> -o jsonpath='{.status.manifestsRendered}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
如需有关状态条件的更多信息,请参阅 ClusterInstance API。
2.6. 使用 SiteConfig operator 取消置备单节点 OpenShift 集群 复制链接链接已复制到粘贴板!
使用 SiteConfig operator 取消置备集群,以删除与该集群关联的所有资源和访问。
需要的访问权限:集群管理员
2.6.1. 先决条件 复制链接链接已复制到粘贴板!
- 使用默认安装模板使用 SiteConfig operator 部署集群。
2.6.2. 取消置备单节点 OpenShift 集群 复制链接链接已复制到粘贴板!
完成以下步骤以删除集群:
运行以下命令来删除
ClusterInstance自定义资源:oc delete clusterinstance <cluster_name> -n <target_namespace>
oc delete clusterinstance <cluster_name> -n <target_namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令验证删除是否成功:
oc get clusterinstance <cluster_name> -n <target_namespace>
oc get clusterinstance <cluster_name> -n <target_namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
请参阅以下示例输出,其中 (NotFound) 错误表示您的集群已被取消置备。
Error from server (NotFound): clusterinstances.siteconfig.open-cluster-management.io "<cluster_name>" not found
Error from server (NotFound): clusterinstances.siteconfig.open-cluster-management.io "<cluster_name>" not found
2.7. SiteConfig 高级主题 复制链接链接已复制到粘贴板!
SiteConfig operator 提供了额外的功能,如创建自定义模板或扩展 worker 节点,扩展适用于大多数用例的标准操作。有关 SiteConfig operator 的高级主题,请参阅以下文档:
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 -
成功删除 worker 节点的
BareMetalHost对象后,从ClusterInstance资源的spec.nodes部分中删除关联的 worker 节点定义。
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. 为断开连接的环境 mirror 镜像 复制链接链接已复制到粘贴板!
您可以使用 Image Based Install Operator 作为底层 Operator,使用 SiteConfig operator 部署集群。如果在断开连接的环境中使用 Image Based Install Operator 部署集群,则必须在 ClusterInstance 自定义资源中提供您的镜像镜像作为额外清单。
需要的访问权限:集群管理员
完成以下步骤,为断开连接的环境镜像镜像:
为您的
ImageDigestMirrorSet对象创建一个名为idms-configmap.yaml的 YAML 文件,其中包含您的镜像 registry 位置: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