5.5. 配置 MachineAutoscaler

部署 ClusterAutoscaler 后,请部署 MachineAutoscaler 资源来引用用于扩展集群的 MachineSet。

重要

部署 ClusterAutoscaler 资源后,您必须至少部署一个 MachineAutoscaler 资源。

注意

您必须为每个 MachineSet 配置单独的资源。请记住,每个地区中的 MachineSet 都不同,因此请考虑是否要在多个地区中启用机器扩展。您要扩展的 MachineSet 中必须至少有一台机器。

5.5.1. MachineAutoscaler 资源定义

此 MachineAutoscaler 资源定义显示了 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
指定 MachineAutoscaler 名称。为了更容易识别此 MachineAutoscaler 会扩展哪些 MachineSet,请指定或注明要扩展的 MachineSet 的名称。MachineSet 名称采用以下形式:<clusterid>-<machineset>-<aws-region-az>
2
指定在 ClusterAutoscaler 启动集群扩展后必须保留在指定 AWS 区域中的指定类型的最小 Machine 数量。不要将此值设置为 0
3
指定 ClusterAutoscaler 初始化集群扩展后可在指定 AWS 区域中部署的指定类型的最大 Machine 数量。确保 ClusterAutoscaler 定义中的 maxNodesTotal 值足够大,以便 MachineAutoscaler 可以部署这个数量的机器。
4
在这一部分,请提供用于描述要扩展的现有 MachineSet 的值。
5
kind 参数值始终为 MachineSet
6
name 值必须与现有 MachineSet 的名称匹配,如 metadata.name 参数值中所示。

5.5.2. 部署 MachineAutoscaler

要部署 MachineAutoscaler,请创建 MachineAutoscaler 资源的实例。

流程

  1. MachineAutoscaler 资源创建一个 YAML 文件,其中包含自定义的资源定义。
  2. 在集群中创建资源:

    $ oc create -f <filename>.yaml 1
    1
    <filename> 是您自定义的资源文件的名称。