跳到内容

水平 Pod 自动伸缩

使用水平 Pod 自动伸缩,Kubernetes 会根据观察到的 CPU 利用率(或者,在 alpha 支持下,根据其他应用程序提供的指标)自动扩展复制控制器、部署或副本集中的 Pod 数量。

HorizontalPodAutscaler autoscaling/v2 稳定 API 在 1.23 中迁移到 GA。之前仅包含对 CPU 自动伸缩支持的稳定版本可以在 autoscaling/v1 API 版本中找到。beta 版本包含对内存和自定义指标的扩展支持,可以在 1.8 - 1.24 中的 autoscaling/v2beta1(以及 1.12 - 1.25 中的 autoscaling/v2beta2)中找到。

kOps 在开箱即用状态下设置 HPA。有关的相关阅读内容:

虽然以上链接详细介绍了 Kubernetes 如何配置才能与 HPA 配合使用,但 kOps 已经为你完成了这项工作。具体来说:

  • 通过以下 kube-apiserver 标志启用 聚合层
  • --requestheader-client-ca-file=<聚合器 CA 证书的路径>
  • --requestheader-allowed-names=aggregator
  • --requestheader-extra-headers-prefix=X-Remote-Extra-
  • --requestheader-group-headers=X-Remote-Group
  • --requestheader-username-headers=X-Remote-User
  • --proxy-client-cert-file=<聚合器代理证书的路径>
  • --proxy-client-key-file=<聚合器代理密钥的路径>
  • 启用 水平 Pod 扩展... 为 kube-controller-manager 设置适当的标志
  • --kubeconfig <kubeconfig 的路径>

集群配置

支持多种指标

要启用资源指标 API 以根据 CPU 和内存进行扩展,请安装 metrics-server(安装说明在此)。兼容性矩阵如下所示

指标服务器 指标 API 组/版本 支持的 Kubernetes 版本
0.3.x metrics.k8s.io/v1beta1 1.8+

支持自定义指标

要启用自定义指标 API,请通过 API 聚合层注册它。如果你使用的是 Prometheus,请查看 适用于 Prometheus 的自定义指标适配器.