第 4 章 修改计算机器集
您可以修改计算机器集,如添加标签、更改实例类型或更改块存储。
如果您需要在不进行其他更改的情况下扩展计算机器设置,请参阅手动扩展计算机器集。
4.1. 使用 CLI 修改计算机器集
您可以修改计算机器集的配置,然后使用 CLI 将更改传播到集群中的机器。
				通过更新计算机器集配置,您可以启用功能或更改它创建的机器的属性。当您修改计算机器集时,您的更改只适用于在保存更新的 MachineSet 自定义资源 (CR) 后创建的计算机器。更改不会影响现有的机器。
			
					在底层云供应商中所做的更改不会反映在 Machine 或 MachineSet CR 中。要在集群管理的基础架构中调整实例配置,请使用 cluster-side 资源。
				
您可以通过扩展计算机器集来创建两倍的副本,将现有机器替换为反映更新的配置的新机器,然后将其缩减到原始副本数。
如果您需要在不进行其他更改的情况下扩展计算机器,则不需要删除机器。
					默认情况下,OpenShift Container Platform 路由器 Pod 部署在计算机器上。由于路由器需要访问某些集群资源(包括 Web 控制台),除非先重新放置了路由器 Pod,否则请不要将 worker 计算机器集扩展为 0。
				
此流程中的输出示例使用 AWS 集群的值。
先决条件
- OpenShift Container Platform 集群使用 Machine API。
- 
						以管理员身份使用 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 <compute_machine_set_name_1> 1 1 1 1 55m <compute_machine_set_name_2> 1 1 1 1 55m - NAME DESIRED CURRENT READY AVAILABLE AGE <compute_machine_set_name_1> 1 1 1 1 55m <compute_machine_set_name_2> 1 1 1 1 55m- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 运行以下命令来编辑计算机器集: - oc edit machinesets.machine.openshift.io <machine_set_name> \ -n openshift-machine-api - $ oc edit machinesets.machine.openshift.io <machine_set_name> \ -n openshift-machine-api- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 请注意 - spec.replicas字段的值,因为在扩展机器集时需要它来应用更改。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- 此流程中的示例显示具有replicas值2的计算机器集。
 
- 使用您想要的配置选项来更新计算机器设置 CR,并保存您的更改。
- 运行以下命令,列出由更新的计算机器集管理的机器: - oc get machines.machine.openshift.io \ -n openshift-machine-api \ -l machine.openshift.io/cluster-api-machineset=<machine_set_name> - $ oc get machines.machine.openshift.io \ -n openshift-machine-api \ -l machine.openshift.io/cluster-api-machineset=<machine_set_name>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - AWS 集群的输出示例 - NAME PHASE TYPE REGION ZONE AGE <machine_name_original_1> Running m6i.xlarge us-west-1 us-west-1a 4h <machine_name_original_2> Running m6i.xlarge us-west-1 us-west-1a 4h - NAME PHASE TYPE REGION ZONE AGE <machine_name_original_1> Running m6i.xlarge us-west-1 us-west-1a 4h <machine_name_original_2> Running m6i.xlarge us-west-1 us-west-1a 4h- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 对于由更新的计算机器集管理的每台机器,请运行以下命令设置 - delete注解:- oc annotate machine.machine.openshift.io/<machine_name_original_1> \ -n openshift-machine-api \ machine.openshift.io/delete-machine="true" - $ oc annotate machine.machine.openshift.io/<machine_name_original_1> \ -n openshift-machine-api \ machine.openshift.io/delete-machine="true"- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 要使用新配置创建替换机器,请运行以下命令将计算机器设置为两倍: - oc scale --replicas=4 \ machineset.machine.openshift.io <machine_set_name> \ -n openshift-machine-api - $ oc scale --replicas=4 \- 1 - machineset.machine.openshift.io <machine_set_name> \ -n openshift-machine-api- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- 原始示例值2加倍到4。
 
- 运行以下命令,列出由更新的计算机器集管理的机器: - oc get machines.machine.openshift.io \ -n openshift-machine-api \ -l machine.openshift.io/cluster-api-machineset=<machine_set_name> - $ oc get machines.machine.openshift.io \ -n openshift-machine-api \ -l machine.openshift.io/cluster-api-machineset=<machine_set_name>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - AWS 集群的输出示例 - NAME PHASE TYPE REGION ZONE AGE <machine_name_original_1> Running m6i.xlarge us-west-1 us-west-1a 4h <machine_name_original_2> Running m6i.xlarge us-west-1 us-west-1a 4h <machine_name_updated_1> Provisioned m6i.xlarge us-west-1 us-west-1a 55s <machine_name_updated_2> Provisioning m6i.xlarge us-west-1 us-west-1a 55s - NAME PHASE TYPE REGION ZONE AGE <machine_name_original_1> Running m6i.xlarge us-west-1 us-west-1a 4h <machine_name_original_2> Running m6i.xlarge us-west-1 us-west-1a 4h <machine_name_updated_1> Provisioned m6i.xlarge us-west-1 us-west-1a 55s <machine_name_updated_2> Provisioning m6i.xlarge us-west-1 us-west-1a 55s- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 当新机器处于 - Running阶段时,您可以将计算机器设置为原始副本数。
- 要删除使用旧配置创建的机器,请运行以下命令将计算机器设置为原始副本数: - oc scale --replicas=2 \ machineset.machine.openshift.io <machine_set_name> \ -n openshift-machine-api - $ oc scale --replicas=2 \- 1 - machineset.machine.openshift.io <machine_set_name> \ -n openshift-machine-api- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- 原始示例值2。
 
验证
- 要验证更新机器集创建的机器是否具有正确的配置,请运行以下命令检查 CR 中的相关字段是否有新机器: - oc describe machine.machine.openshift.io <machine_name_updated_1> \ -n openshift-machine-api - $ oc describe machine.machine.openshift.io <machine_name_updated_1> \ -n openshift-machine-api- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 要验证没有更新的配置的计算机器,请运行以下命令列出由更新的计算机器集管理的机器: - oc get machines.machine.openshift.io \ -n openshift-machine-api \ -l machine.openshift.io/cluster-api-machineset=<machine_set_name> - $ oc get machines.machine.openshift.io \ -n openshift-machine-api \ -l machine.openshift.io/cluster-api-machineset=<machine_set_name>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 删除时的输出示例是 AWS 集群的进度 - NAME PHASE TYPE REGION ZONE AGE <machine_name_original_1> Deleting m6i.xlarge us-west-1 us-west-1a 4h <machine_name_original_2> Deleting m6i.xlarge us-west-1 us-west-1a 4h <machine_name_updated_1> Running m6i.xlarge us-west-1 us-west-1a 5m41s <machine_name_updated_2> Running m6i.xlarge us-west-1 us-west-1a 5m41s - NAME PHASE TYPE REGION ZONE AGE <machine_name_original_1> Deleting m6i.xlarge us-west-1 us-west-1a 4h <machine_name_original_2> Deleting m6i.xlarge us-west-1 us-west-1a 4h <machine_name_updated_1> Running m6i.xlarge us-west-1 us-west-1a 5m41s <machine_name_updated_2> Running m6i.xlarge us-west-1 us-west-1a 5m41s- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 为 AWS 集群完成删除时的输出示例 - NAME PHASE TYPE REGION ZONE AGE <machine_name_updated_1> Running m6i.xlarge us-west-1 us-west-1a 6m30s <machine_name_updated_2> Running m6i.xlarge us-west-1 us-west-1a 6m30s - NAME PHASE TYPE REGION ZONE AGE <machine_name_updated_1> Running m6i.xlarge us-west-1 us-west-1a 6m30s <machine_name_updated_2> Running m6i.xlarge us-west-1 us-west-1a 6m30s- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow