尝试为一个项目寻找解决方案,不确定 K8s 是否可以自行完成或需要第三方工具参与。
例如,我有 3 个 Nginx 容器来为我们的 Web 服务提供负载平衡。我想让 K8s 监控 Pod 的 CPU/内存/网络流量使用情况并设置指标。一旦利用率超过指标,主服务器将自动创建更多 Nginx。
我对 K8s 还很陌生,非常感谢任何帮助!
答案1
你正在寻找的是水平 Pod 自动扩缩器:
水平 Pod 自动扩缩器根据观察到的 CPU 利用率(或使用自定义指标支持,以及其他一些应用程序提供的指标)。
上述文档将为您提供有关该机制背后的想法及其实现方法的信息。
如果您希望基于 CPU 使用率以外的指标进行扩展,则需要使用自定义指标:
Kubernetes 1.6 增加了在 Horizontal Pod Autoscaler 中使用自定义指标的支持。您可以在 API 中添加自定义指标以供 Horizontal Pod Autoscaler 使用
autoscaling/v2beta2
。然后,Kubernetes 会查询新的自定义指标 API 以获取相应自定义指标的值。
下面您将找到一些带有指南和示例的有用资源: