2.7. 在 Nutanix 上创建计算机器集
您可以在 Nutanix 的 OpenShift Container Platform 集群中创建不同的计算机器集来满足特定目的。例如,您可以创建基础架构机器集和相关的机器,以便将支持型工作负载转移到新机器上。
您只能在 Machine API 操作的集群中使用高级机器管理和扩展功能。具有用户置备的基础架构的集群需要额外的验证和配置才能使用 Machine API。
具有基础架构平台类型 none
的集群无法使用 Machine API。即使附加到集群的计算机器安装在支持该功能的平台上,也会应用这个限制。在安装后无法更改此参数。
要查看集群的平台类型,请运行以下命令:
oc get infrastructure cluster -o jsonpath='{.status.platform}'
$ oc get infrastructure cluster -o jsonpath='{.status.platform}'
2.7.1. Nutanix 上计算机器设置自定义资源的 YAML 示例 复制链接链接已复制到粘贴板!
此 YAML 示例定义了一个 Nutanix 计算机器集,它创建标记为 node-role.kubernetes.io/<role>: ""
的节点。
在本例中,<infrastructure_id>
是基础架构 ID 标签,该标签基于您在置备集群时设定的集群 ID,而 <role>
则是要添加的节点标签。
使用 OpenShift CLI 获取的值
在以下示例中,您可以使用 OpenShift CLI (oc
) 获取集群的一些值。
- 基础架构 ID
<infrastructure_id>
字符串是基础架构 ID,它基于您在置备集群时设定的集群 ID。如果已安装 OpenShift CLI,您可以通过运行以下命令来获取基础架构 ID:oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
$ oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 1
- 其中
<infrastructure_id>
是基础架构 ID,它基于您在置备集群时设定的集群 ID。 - 2
- 指定要添加的节点标签。
- 3
- 指定基础架构 ID、节点标签和区域。
- 4
- 集群自动扩展的注解。
- 5
- 注意
您必须在 OpenShift Container Platform 4.19 中使用
Legacy
引导类型。 - 6
- 指定一个或多个 Nutanix Prism 类别以应用到计算机器。此小节需要
key
和value
参数代表存在于 Prism Central 中的类别的键值对。有关类别的更多信息,请参阅类别管理。 - 7
- 指定 Nutanix Prism Element 集群配置。在本例中,集群类型是
uuid
,因此有一个uuid
小节。 - 8
- 指定要使用的镜像。使用集群的现有默认计算机器集中的镜像。
- 9
- 指定集群的内存量(以 Gi 为单位)。
- 10
- 指定用于集群的 Nutanix 项目。在本例中,项目类型是
name
,因此有一个name
小节。 - 11
- 为 Prism Element 子网对象指定一个或多个 UUID。其中一个指定子网的 CIDR IP 地址前缀必须包含 OpenShift Container Platform 集群使用的虚拟 IP 地址。支持集群中每个 Prism Element 故障域有最多 32 个子网。所有子网 UUID 值都必须是唯一的。
- 12
- 指定系统磁盘大小(以 Gi 为单位)。
- 13
- 指定
openshift-machine-api
命名空间中的用户数据 YAML 文件中的 secret 名称。安装程序在默认计算机器集中填充时使用的值。 - 14
- 指定 vCPU 套接字数量。
- 15
- 指定每个插槽的 vCPU 数量。
2.7.2. 创建计算机器集 复制链接链接已复制到粘贴板!
除了安装程序创建的计算机器集外,您还可以创建自己的来动态管理您选择的特定工作负载的机器计算资源。
先决条件
- 部署一个 OpenShift Container Platform 集群。
-
安装 OpenShift CLI(
oc
)。 -
以具有
cluster-admin
权限的用户身份登录oc
。
流程
创建一个包含计算机器集自定义资源(CR)示例的新 YAML 文件,并将其命名为
<file_name>.yaml
。确保设置
<clusterID>
和<role>
参数值。可选:如果您不确定要为特定字段设置哪个值,您可以从集群中检查现有计算机器集:
要列出集群中的计算机器集,请运行以下命令:
oc get machinesets -n openshift-machine-api
$ oc get machinesets -n openshift-machine-api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要查看特定计算机器集自定义资源 (CR) 的值,请运行以下命令:
oc get machineset <machineset_name> \ -n openshift-machine-api -o yaml
$ oc get machineset <machineset_name> \ -n openshift-machine-api -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
运行以下命令来创建
MachineSet
CR:oc create -f <file_name>.yaml
$ oc create -f <file_name>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
运行以下命令,查看计算机器集列表:
oc get machineset -n openshift-machine-api
$ oc get machineset -n openshift-machine-api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 当新的计算机器集可用时,
DESIRED
和CURRENT
的值会匹配。如果 compute 机器集不可用,请等待几分钟,然后再次运行命令。
2.7.3. 为集群自动扩展标记 GPU 机器集 复制链接链接已复制到粘贴板!
您可以使用机器集标签来指示集群自动扩展可以用来部署启用了 GPU 的节点的机器。
先决条件
- 集群使用集群自动扩展。
流程
在您要为集群自动扩展创建机器的机器集中,用来部署启用了 GPU 的节点,添加
cluster-api/accelerator
标签:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定您选择的标签,其由字母数字字符、
-
、_
或.
组成,并以字母数字字符开头,并以字母数字字符结尾。例如,您可以使用nvidia-t4
代表 Nvidia T4 GPU,或使用nvidia-a10g
代表 A10G GPU。注意您必须为
ClusterAutoscaler
CR 中的spec.resourceLimits.gpus.type
参数指定此标签的值。如需更多信息,请参阅"集群自动扩展资源定义"。
2.7.4. Nutanix 集群的故障域 复制链接链接已复制到粘贴板!
要在 Nutanix 集群中添加或更新故障域配置,您必须对几个资源进行协调更改。需要以下操作:
- 修改集群基础架构自定义资源 (CR)。
- 修改集群 control plane 机器集 CR。
- 修改或替换计算机器设置 CR。
如需更多信息,请参阅 安装后配置 内容中的"将故障域添加到现有 Nutanix 集群"。