添加 helm repo
在 TKE 上部署 KEDA,首先需要添加 KEDA 的 Helm 仓库,可以使用以下命令添加:
helm repo add kedacore https://kedacore.github.io/chartshelm repo update
准备 values.yaml
接下来,可以查看默认的 values.yaml 文件,以了解可以自定义的配置项。可以使用以下命令查看:
helm show values kedacore/keda
由于默认的依赖镜像在国内环境无法拉取,可以替换为使用 Docker Hub 上的 mirror 镜像,在 values.yaml 文件中进行配置,示例如下:
image:keda:registry: docker.iorepository: imroc/kedametricsApiServer:registry: docker.iorepository: imroc/keda-metrics-apiserverwebhooks:registry: docker.iorepository: imroc/keda-admission-webhooks
说明:
以上镜像会长期自动同步,您可以放心使用和更新版本。
安装
使用以下命令安装 KEDA:
helm upgrade --install keda kedacore/keda \\--namespace keda --create-namespace \\-f values.yaml
版本与升级
每个 KEDA 的版本都有对应适配的 Kubernetes 版本区间,在安装 KEDA 之前,您需要确认 TKE 集群的版本与要安装的 KEDA 版本是否兼容。您可以查看 KEDA Kubernetes Compatibility 来确认当前集群版本能兼容的 KEDA 版本。
例如 TKE 集群版本是1.26,对应能兼容的 KEDA 最新版本是 v2.12,再查询到 KEDA v2.12 (APP VERSION) 对应的 Chart 版本 (CHART VERSION) 最高版本是 2.12.1:
$ helm search repo keda --versionsNAME CHART VERSION APP VERSION DESCRIPTIONkedacore/keda 2.13.2 2.13.1 Event-based autoscaler for workloads on Kuberneteskedacore/keda 2.13.1 2.13.0 Event-based autoscaler for workloads on Kuberneteskedacore/keda 2.13.0 2.13.0 Event-based autoscaler for workloads on Kuberneteskedacore/keda 2.12.1 2.12.1 Event-based autoscaler for workloads on Kuberneteskedacore/keda 2.12.0 2.12.0 Event-based autoscaler for workloads on Kuberneteskedacore/keda 2.11.2 2.11.2 Event-based autoscaler for workloads on Kuberneteskedacore/keda 2.11.1 2.11.1 Event-based autoscaler for workloads on Kubernetes
安装 KEDA 时指定版本:
helm upgrade --install keda kedacore/keda \\--namespace keda --create-namespace \\--version 2.12.1 \\-f values.yaml
后续升级版本时可复用上面的安装命令,只需修改下版本号即可。
注意:
在升级 TKE 集群前也用这里的方法先确认下升级后的集群版本能否兼容当前版本的 KEDA,如果不能,请提前升级 KEDA 到当前集群版本所能兼容的最新 KEDA 版本。
卸载
参考资料