10.4. 在 vSphere 上为集群指定多个主机组
您可以配置 infrastructures.config.openshift.io 配置资源,为在 VMware vSphere 实例上运行的 OpenShift Container Platform 集群指定多个主机组。如果您的 vSphere 实例在扩展集群配置中,且您的 ESXi 主机和存储分布到多个物理数据中心中,则需要此项。如果您还没有在安装时为 OpenShift Container Platform 集群配置主机组,或者使用额外的主机组更新 OpenShift Container Platform 集群。
OpenShift zones 支持 vSphere 主机组只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
先决条件
ESXi 主机分组到主机组中,它们通过 VM-host 关联性规则链接到对应的虚拟机(VM)组。详情请查看以下示例
govc命令:Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
openshift-region和openshift-zone标签类别在 vCenter 服务器上创建。 -
Compute 集群有来自
openshift-region标签类别的标签。 -
主机组中的 ESXi 主机具有
openshift-zone标签类别的标签。 -
Host.Inventory.EditCluster特权在 vSphere vCenter 集群对象上被授予。 -
TechPreviewNoUpgrade功能集已启用。如需更多信息,请参阅"使用功能门启用功能"。
流程
编辑 OpenShift Container Platform 集群的基础架构设置。
要将现有基础架构设置复制到文件中,请运行以下命令:
oc get infrastructures.config.openshift.io cluster -o yaml > <name_of_infrastructure_file>.yaml
$ oc get infrastructures.config.openshift.io cluster -o yaml > <name_of_infrastructure_file>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑您的基础架构文件,使其包含 vSphere 集群中每个主机组的故障域。有关此配置示例,请参考以下 YAML 文件。确保将括号中的值(
< >)替换为您的值:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要使用这些更改对集群进行更新,请运行以下命令:
oc replace -f <name_of_infrastructure_file>.yaml
$ oc replace -f <name_of_infrastructure_file>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
通过完成以下步骤,使用新的故障域更新
ControlPlaneMachineSet自定义资源(CR):运行以下命令来编辑
ControlPlaneMachineSetCR:oc edit controlplanemachinesets.machine.openshift.io -n openshift-machine-api cluster
$ oc edit controlplanemachinesets.machine.openshift.io -n openshift-machine-api clusterCopy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑
failureDomains参数,如下例所示:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在继续操作前,验证您的 control plane 节点已完成更新。要做到这一点,请运行以下命令:
oc get controlplanemachinesets.machine.openshift.io -n openshift-machine-api
$ oc get controlplanemachinesets.machine.openshift.io -n openshift-machine-apiCopy to Clipboard Copied! Toggle word wrap Toggle overflow
为您的故障域创建新的
MachineSetCR。要检索现有
MachineSetCR 的配置以用作模板,请运行以下命令:oc get machinesets.machine.openshift.io -n openshift-machine-api <existing_machine_set> -o yaml > machineset-<failure_domain_name>.yaml
$ oc get machinesets.machine.openshift.io -n openshift-machine-api <existing_machine_set> -o yaml > machineset-<failure_domain_name>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 根据需要复制模板,为基础架构文件中定义的每个故障域创建
MachineSetCR 文件。请参考以下示例:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于每个
MachineSetCR 文件,运行以下命令:oc create -f <name_of_machine_set_file>.yaml
$ oc create -f <name_of_machine_set_file>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow