华为云UCS-使用多集群负载伸缩扩缩工作负载:创建负载伸缩策略
创建负载伸缩策略
- 为工作负载创建FederatedHPA策略。
vi hpa-example-hpa.yaml
YAML文件内容如下。该策略作用于名称为hpa-example的负载,稳定窗口时长为扩容0秒、缩容100秒,最大Pod数为100、最小Pod数为2,包含一条系统指标规则,期望的CPU利用率为50%。
apiVersion: autoscaling.karmada.io/v1alpha1 kind: FederatedHPA metadata: name: hpa-example-hpa # FederatedHPA策略名称 namespace: default # 工作负载所在命名空间名称 spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: hpa-example # 工作负载名称 behavior: scaleDown: stabilizationWindowSeconds: 100 # 缩容的稳定窗口时长为100秒 scaleUp: stabilizationWindowSeconds: 0 # 扩容的稳定窗口时长为0秒 minReplicas: 2 # 最小Pod数为2 maxReplicas: 100 # 最大Pod数为100 metrics: - type: Resource resource: name: cpu # 扩缩指标基于CPU数据 target: type: Utilization # 指标类型为利用率 averageUtilization: 50 # 期望的平均利用率
- 创建CronFederatedHPA策略。
vi cron-federated-hpa.yaml
YAML文件内容如下。该策略作用于名称为hpa-example-hpa的FederatedHPA策略,期望每天8:30扩容工作负载至10个Pod,每天10:00缩容工作负载至2个Pod。
apiVersion: autoscaling.karmada.io/v1alpha1 kind: CronFederatedHPA metadata: name: cron-federated-hpa # CronFederatedHPA策略名称 spec: scaleTargetRef: apiVersion: apps/v1 kind: FederatedHPA # 作用于FederatedHPA策略 name: hpa-example-hpa # FederatedHPA的名称 rules: - name: "Scale-Up" # 规则名称 schedule: 30 08 * * * # 触发时间 targetReplicas: 10 # 目标Pod数,非负整数 timeZone: Asia/Shanghai # 时区 - name: "Scale-Down" # 规则名称 schedule: 0 10 * * * # 触发时间 targetReplicas: 2 # 目标Pod数,非负整数 timeZone: Asia/Shanghai # 时区