6.9. 关于机器自动扩展
机器自动扩展会调整您在 OpenShift Container Platform 集群中部署的机器集中的 Machine 数量。您可以扩展默认 worker
机器集,以及您创建的其他机器集。当集群没有足够资源来支持更多部署时,机器自动扩展会增加 Machine。对 MachineAutoscaler
资源中的值(如最小或最大实例数量)的任何更改都会立即应用到目标机器设置中。
您必须部署机器自动扩展才能使用集群自动扩展功能来扩展机器。集群自动扩展使用机器自动扩展集上的注解来确定可扩展的资源。如果您在没有定义机器自动扩展的情况下定义集群自动扩展,集群自动扩展永远不会扩展集群。
6.9.1. 机器自动扩展资源定义
此 MachineAutoscaler
资源定义显示了机器自动扩展器的参数和示例值。
apiVersion: "autoscaling.openshift.io/v1beta1" kind: "MachineAutoscaler" metadata: name: "worker-us-east-1a" 1 namespace: "openshift-machine-api" spec: minReplicas: 1 2 maxReplicas: 12 3 scaleTargetRef: 4 apiVersion: machine.openshift.io/v1beta1 kind: MachineSet 5 name: worker-us-east-1a 6
- 1
- 指定机器自动扩展名称。为了更容易识别此机器自动扩展会扩展哪些机器集,请指定或注明要扩展的机器集的名称。机器集名称采用以下形式:
<clusterid>-<machineset>-<region>
。 - 2
- 指定在机器自动扩展启动集群扩展后必须保留在指定区域中的指定类型的最小机器数量。如果在 AWS、GCP、Azure、RHOSP 或 vSphere 中运行,则此值可设为
0
。对于其他供应商,请不要将此值设置为0
。对于用于特殊工作负载的高价或有限使用硬件,或者扩展具有额外大型机器的机器集,您可以将此值设置为
0
来节约成本。如果机器没有使用,集群自动扩展会将机器集缩减为零。重要对于安装程序置备的基础架构,请不要将 OpenShift Container Platform 安装过程中创建的三台计算机器集的
spec.minReplicas
值设置为0
。 - 3
- 指定集群自动扩展初始化集群扩展后可在指定类型区域中部署的指定类型的最大机器数量。确保
ClusterAutoscaler
资源定义的maxNodesTotal
值足够大,以便机器自动扩展器可以部署这个数量的机器。 - 4
- 在本小节中,提供用于描述要扩展的现有机器集的值。
- 5
kind
参数值始终为MachineSet
。- 6
name
值必须与现有机器集的名称匹配,如metadata.name
参数值所示。
6.9.2. 部署机器自动扩展
要部署机器自动扩展,请创建一个 MachineAutoscaler
资源实例。
流程
-
为
MachineAutoscaler
资源创建一个 YAML 文件,其中包含自定义资源定义。 运行以下命令在集群中创建自定义资源:
$ oc create -f <filename>.yaml 1
- 1
<filename>
是自定义资源文件的名称。