10.4. 在 vSphere 上为集群指定多个主机组
您可以配置 infrastructure .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>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑您的基础架构文件,使其包含 vSphere 集群中每个主机组的故障域。有关此配置示例,请参考以下 YAML 文件。确保将gle 括号中嵌套的任何值(<
; >
)替换为您的值:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要使用这些更改更新集群,请运行以下命令:
oc replace -f <name_of_infrastructure_file>.yaml
$ oc replace -f <name_of_infrastructure_file>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
通过完成以下步骤,使用新的故障域更新
ControlPlaneMachineSet
自定义资源(CR):运行以下命令来编辑
ControlPlaneMachineSet
CR:oc edit controlplanemachinesets.machine.openshift.io -n openshift-machine-api cluster
$ oc edit controlplanemachinesets.machine.openshift.io -n openshift-machine-api cluster
Copy 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-api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
为您的故障域创建新的
MachineSet
CR。要检索现有
MachineSet
CR 的配置以用作模板,请运行以下命令: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>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 根据需要复制模板,为基础架构文件中定义的每个故障域创建
MachineSet
CR 文件。请参考以下示例:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于每个
MachineSet
CR 文件,运行以下命令:oc create -f <name_of_machine_set_file>.yaml
$ oc create -f <name_of_machine_set_file>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow