水平 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 的自定义指标适配器.