KEDA的核心其实是它的Scalers。它的目的是实现Kubernetes中的资源的自动伸缩,它使用的仍然是原生的HPA组件,但是它扩展了原生HPA可以支持的指标类型。而扩展支持的这些指标就是由Scalers组件来实现的。

详细支持的Scalers https://keda.sh/docs/2.11/scalers/

1. 安装

有可能会有坑,官方的YAML内容太长,超了。先将YAML下下来,编辑YAML文件,搜索keda.sh关键字。删除些description里面的内容,再应用就好了

2. 定义一个HPA

安装完成后,重要的就是定义这个keda.sh/v1alpha1这个对象

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
  name: cpu-scaledobject
  namespace: default
spec:
  scaleTargetRef:
    name: my-deployment
  minReplicaCount: 2
  triggers:
  - type: cpu
    metricType: Utilization
    metadata:
      value: "50"

对了,它是支持集成Prometheus的,有了它的加持,它基本上能满足大部分的业务场景了。现在唯一不足的就是对Kubernetes版本有一定要求