kubernetes - Kubernetes 浪费资源
问题描述
我有一个 kubernetes 集群,其中部署了 Request : 1000m CPU 和 Limit 1200m CPU 的工作负载。节点模板是 4-8096,我们从不使用 RAM,因为工作负载是计算密集型的。
我的问题如图所示,当 Auto-Scaler 将工作负载扩展到 2 个 POD 时,即使有大量可用资源,Kubernetes 也没有在同一个节点中安排额外的 pod。(2/3.92)。相反,它必须将其安排在一个新节点上。当我们进一步扩大规模时,这会造成很多浪费和成本不敏感。
这是正常行为还是您可以推荐哪些最佳实践来实现更好的资源利用率?
谢谢。诺瓦。
更新:
在按照 Erhard Czving 的回答建议将自动缩放配置文件应用于优化利用率之后,额外的 pod 被安排到同一个节点上。所以现在根据总请求是 3/3.92 ~ 76%。
解决方案
尝试优化利用自动缩放配置文件。
它应该使利用率远高于默认配置文件,具体取决于使用的 Kubernetes 版本。大约 80% 的利用率是一个很好的估计。
使用 gcloud 命令应用到集群:
gcloud beta container clusters update example-cluster --autoscaling-profile optimize-utilization
推荐阅读
- visual-studio - 遇到“找不到此项目类型所基于的应用程序”。将解决方案迁移到 Visual Studio 2019 后
- javascript - HTMLImageElement - src 作为流
- html - 如何正确复制浮动并显示为内联块
- reactjs - reactjs/laravel 'npm run development' 失败,语法错误'Unexpected Token'
- ffmpeg - FFMPEG - 高度不能被 2 整除
- jquery - 如何从使用 jquery 和 ajax 几秒钟后加载的网站获取数据
- aws-cdk - 如何在 CDK 堆栈中指定参数定义?
- ignite - 在 AWS 上构建 3 个节点工作的 Ignite 集群
- java - SpringBoot 中的 TransactionRequiredException
- excel - 如何使用 VBA 从 EXCEL 工作表中将所有项目排序到文本文件中?