$ oc get machinesets.machine.openshift.io -n openshift-machine-api
您可以修改计算机器集的配置,然后使用 CLI 将更改传播到集群中的机器。
通过更新计算机器集配置,您可以启用功能或更改其创建的机器的属性。修改计算机器集时,您的更改仅适用于保存更新的 MachineSet
自定义资源 (CR) 后创建的计算机器。更改不会影响现有机器。
底层云提供商中所做的更改不会反映在 |
您可以将现有机器替换为反映更新配置的新机器,方法是将计算机器集扩展到创建两倍数量的副本,然后将其缩减到原始副本数量。
如果您需要扩展计算机器集而不进行其他更改,则无需删除机器。
默认情况下,OpenShift Container Platform 路由器 Pod 部署在计算机器上。因为路由器需要访问某些集群资源(包括 Web 控制台),所以除非您先重新定位路由器 Pod,否则不要将计算机器集缩减到 |
此过程中的输出示例使用 AWS 集群的值。
您的 OpenShift Container Platform 集群使用 Machine API。
您已使用 OpenShift CLI (oc
) 以管理员身份登录到集群。
运行以下命令列出集群中的计算机器集
$ oc get machinesets.machine.openshift.io -n openshift-machine-api
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
运行以下命令编辑计算机器集
$ oc edit machinesets.machine.openshift.io <machine_set_name> \
-n openshift-machine-api
注意 spec.replicas
字段的值,因为在扩展机器集以应用更改时需要它。
apiVersion: machine.openshift.io/v1beta1
kind: MachineSet
metadata:
name: <machine_set_name>
namespace: openshift-machine-api
spec:
replicas: 2 (1)
# ...
1 | 此过程中的示例显示了一个 replicas 值为 2 的计算机器集。 |
使用所需的配置选项更新计算机器集 CR 并保存更改。
运行以下命令列出由更新的计算机器集管理的机器
$ oc get machines.machine.openshift.io \
-n openshift-machine-api \
-l machine.openshift.io/cluster-api-machineset=<machine_set_name>
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
对于由更新的计算机器集管理的每台机器,通过运行以下命令设置 delete
注释
$ oc annotate machine.machine.openshift.io/<machine_name_original_1> \
-n openshift-machine-api \
machine.openshift.io/delete-machine="true"
要创建具有新配置的替换机器,请运行以下命令将计算机器集扩展到两倍的副本数量
$ oc scale --replicas=4 \(1)
machineset.machine.openshift.io <machine_set_name> \
-n openshift-machine-api
1 | 原始示例值 2 乘以 2 变为 4 。 |
运行以下命令列出由更新的计算机器集管理的机器
$ oc get machines.machine.openshift.io \
-n openshift-machine-api \
-l machine.openshift.io/cluster-api-machineset=<machine_set_name>
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
当新机器处于 运行中
阶段时,您可以将计算机器集缩减到原始副本数量。
要删除使用旧配置创建的机器,请运行以下命令将计算机器集缩减到原始副本数量
$ oc scale --replicas=2 \(1)
machineset.machine.openshift.io <machine_set_name> \
-n openshift-machine-api
1 | 原始示例值 2 。 |
要验证由更新的机器集创建的机器是否具有正确的配置,请运行以下命令检查新机器之一的 CR 中的相关字段
$ oc describe machine.machine.openshift.io <machine_name_updated_1> \
-n openshift-machine-api
要验证是否已删除没有更新配置的计算机器,请运行以下命令列出由更新的计算机器集管理的机器
$ oc get machines.machine.openshift.io \
-n openshift-machine-api \
-l machine.openshift.io/cluster-api-machineset=<machine_set_name>
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_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