kubernetes 有着很方便的自动扩容机制,本文记录一下我们在生产环境中 hpa 的一个配置示例

官方文档:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
  name: xlspeed-example-name
  namespace: xlspeed
spec:
  scaleTargetRef:
    apiVersion: extensions/v1beta1
    kind: Deployment
    name: example-name-release # 填写需要自动扩容的 deployment 名字
  minReplicas: 2 # 至少启动多少个 pods
  maxReplicas: 5 # 最多启动多少个 pods
  metrics:
  - type: Resource
    resource:
      name: memory
      targetAverageUtilization: 70 # 单个 pod 内存平均超过70%时自动扩容
  - type: Resource
    resource:
      name: cpu
      targetAverageUtilization: 70 # 单个 pod CPU平均超过70%时自动扩容