kubernetes - Kubernetes发布要求CPU

标签 kubernetes google-cloud-platform request cpu limit

我们有一个Java应用程序分布在Google Cloud Platform的多个Pod上。我们还设置了内存请求,以便为Pod提供节点上可用于堆空间和非堆空间的内存的特定部分。

在启动Pod时,该应用程序在CPU方面非常占用资源,但在Pod准备就绪后不使用CPU(仅使用0.5%)。如果我们使用容器资源“请求”,则在启动完成后,pod不会释放这些资源。

Kubernetes是否允许指定Pod被允许(几乎)在启动期间使用所有可用的CPU能力并在此之后释放这些资源?由于滚动更新,我们可以防止同时启动两个Pod。

谢谢你的帮助。

最佳答案

如果您指定的请求没有限制,则该值将用于将容器调度到满足请求的可用CPU带宽的适当节点。内核调度程序将假定请求与实际资源消耗相匹配,但不会防止超出使用量。这将从其他容器中“窃取”。
如果您还指定了限制,则如果容器尝试超过该值,它将受到限制。您可以将两者结合使用,以允许对CPU进行突发使用,超出通常的请求,但不能分配节点中的所有内容,从而减慢其他进程的速度。

关于kubernetes - Kubernetes发布要求CPU,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58936247/

相关文章:

nginx - livenessprobe 因 EOF 失败(nginx 容器)

kubernetes - 如何在 kubernetes GCE 上启用 https tls

python - 在 Python 3 上向 App Engine 添加预热请求

Python Scrapy 并不总是从网站下载数据

jenkins - 将环境变量设置为 Jenkins pipeline 以部署 kubernetes pod

docker - Kubernetes 架构/设计/?

node.js - GCP Cloud Run 503错误: Service Unavailable for long running request

ssl - 如何在谷歌云平台的子域上安装ssl证书

java - Spring Rest API - 虚假/未请求的参数策略

python - 如何在不解码的情况下在 Python 中下载带有请求的 .gz 文件?