7.2. 关于机器自动扩展
机器自动扩展会调整您在 OpenShift Container Platform 集群中部署的计算机器集中的机器数量。您可以扩展默认 worker
计算机器集,以及您创建的任何其他计算机器集。当集群没有足够资源来支持更多部署时,机器自动扩展会增加 Machine。对 MachineAutoscaler
资源中的值(如最小或最大实例数量)的任何更改都会立即应用到目标计算机器设置。
您必须部署机器自动扩展才能使用集群自动扩展功能来扩展机器。集群自动扩展使用机器自动扩展集上的注解来确定可扩展的资源。如果您在没有定义机器自动扩展的情况下定义集群自动扩展,集群自动扩展永远不会扩展集群。
7.2.1. 配置机器自动扩展
部署集群自动扩展后,部署 MachineAutoscaler
资源来引用用于扩展集群的计算机器集。
部署 ClusterAutoscaler
资源后,必须至少部署一个 MachineAutoscaler
资源。
您必须为每个计算机器集配置单独的资源。请记住,每个地区中的计算机器集都不同,因此请考虑是否要在多个地区中启用机器扩展。扩展的计算机器必须至少有一个机器。
7.2.1.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
参数值中所示。
7.2.2. 部署机器自动扩展
要部署机器自动扩展,请创建一个 MachineAutoscaler
资源实例。
流程
-
为
MachineAutoscaler
资源创建一个 YAML 文件,其中包含自定义资源定义。 运行以下命令在集群中创建自定义资源:
$ oc create -f <filename>.yaml 1
- 1
<filename>
是自定义资源文件的名称。