16.4. 创建在 Outpost 上部署边缘计算机器的计算机器集
要在 AWS Outposts 上创建边缘计算机器,您必须使用兼容配置创建新的计算机器集。
先决条件
- 您有一个 AWS Outposts 站点。
- 您已将 OpenShift Container Platform 集群安装到 AWS 上的自定义 VPC 中。
-
您可以使用具有
cluster-admin
权限的账户访问集群。 -
已安装 OpenShift CLI(
oc
)。
流程
运行以下命令列出集群中的计算机器集:
oc get machinesets.machine.openshift.io -n openshift-machine-api
$ oc get machinesets.machine.openshift.io -n openshift-machine-api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME DESIRED CURRENT READY AVAILABLE AGE <original_machine_set_name_1> 1 1 1 1 55m <original_machine_set_name_2> 1 1 1 1 55m
NAME DESIRED CURRENT READY AVAILABLE AGE <original_machine_set_name_1> 1 1 1 1 55m <original_machine_set_name_2> 1 1 1 1 55m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 记录现有计算机器集的名称。
使用以下方法之一创建一个包含新计算机器设置自定义资源 (CR) 的 YAML 文件:
运行以下命令,将现有计算机器集配置复制到新文件中:
oc get machinesets.machine.openshift.io <original_machine_set_name_1> \ -n openshift-machine-api -o yaml > <new_machine_set_name_1>.yaml
$ oc get machinesets.machine.openshift.io <original_machine_set_name_1> \ -n openshift-machine-api -o yaml > <new_machine_set_name_1>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以使用首选文本编辑器编辑此 YAML 文件。
使用您的首选文本编辑器创建名为
<new_machine_set_name_1>.yaml
的空白 YAML 文件,并包含新计算机器集所需的值。如果您不确定为特定字段设置哪个值,您可以通过运行以下命令来查看现有计算机器集 CR 的值:
oc get machinesets.machine.openshift.io <original_machine_set_name_1> \ -n openshift-machine-api -o yaml
$ oc get machinesets.machine.openshift.io <original_machine_set_name_1> \ -n openshift-machine-api -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
通过编辑
<new_machine_set_name_1>.yaml
文件,将新计算机器集配置为在 Outpost 中创建边缘计算机器:AWS Outposts 的计算机器集示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定集群基础架构 ID。
- 2
- 指定计算机器设置的名称。名称由集群基础架构 ID、
outposts
角色名称和 Outpost 可用区组成。 - 3
- 指定 Amazon Machine Image (AMI) ID。
- 4
- 指定 EBS 卷类型。AWS Outposts 需要 gp2 卷。
- 5
- 指定 AWS 实例类型。您必须使用 Outpost 中配置的实例类型。
- 6
- 指定 Outpost 可用区存在的 AWS 区域。
- 7
- 指定 Outpost 的专用子网。
- 8
- 指定污点,以防止将工作负载调度到具有
node-role.kubernetes.io/outposts
标签的节点上。要在 Outpost 中调度用户工作负载,您必须在应用程序的Deployment
资源中指定对应的容限。
- 保存您的更改。
运行以下命令来创建计算机器设置 CR:
oc create -f <new_machine_set_name_1>.yaml
$ oc create -f <new_machine_set_name_1>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
要验证是否已创建计算机器设置,请运行以下命令列出集群中的计算机器集:
oc get machinesets.machine.openshift.io -n openshift-machine-api
$ oc get machinesets.machine.openshift.io -n openshift-machine-api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME DESIRED CURRENT READY AVAILABLE AGE <new_machine_set_name_1> 1 1 1 1 4m12s <original_machine_set_name_1> 1 1 1 1 55m <original_machine_set_name_2> 1 1 1 1 55m
NAME DESIRED CURRENT READY AVAILABLE AGE <new_machine_set_name_1> 1 1 1 1 4m12s <original_machine_set_name_1> 1 1 1 1 55m <original_machine_set_name_2> 1 1 1 1 55m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要列出由新计算机器集管理的机器,请运行以下命令:
oc get -n openshift-machine-api machines.machine.openshift.io \ -l machine.openshift.io/cluster-api-machineset=<new_machine_set_name_1>
$ oc get -n openshift-machine-api machines.machine.openshift.io \ -l machine.openshift.io/cluster-api-machineset=<new_machine_set_name_1>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME PHASE TYPE REGION ZONE AGE <machine_from_new_1> Provisioned m5.xlarge us-east-1 us-east-1a 25s <machine_from_new_2> Provisioning m5.xlarge us-east-1 us-east-1a 25s
NAME PHASE TYPE REGION ZONE AGE <machine_from_new_1> Provisioned m5.xlarge us-east-1 us-east-1a 25s <machine_from_new_2> Provisioning m5.xlarge us-east-1 us-east-1a 25s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要验证由新计算机器集创建的机器是否具有正确的配置,请运行以下命令检查 CR 中的相关字段是否有新机器:
oc describe machine <machine_from_new_1> -n openshift-machine-api
$ oc describe machine <machine_from_new_1> -n openshift-machine-api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow