Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes释放请求的cpu_Kubernetes_Google Cloud Platform_Request_Cpu_Limit - Fatal编程技术网

Kubernetes释放请求的cpu

Kubernetes释放请求的cpu,kubernetes,google-cloud-platform,request,cpu,limit,Kubernetes,Google Cloud Platform,Request,Cpu,Limit,我们在谷歌云平台上有一个分布在多个pod上的Java应用程序。我们还设置内存请求,为pod提供节点上可用的内存的某一部分,用于堆和非堆空间 该应用程序在启动pod时CPU资源非常密集,但在pod准备就绪后不使用CPU(仅使用0.5%)。如果我们使用容器资源“请求”,pod不会在启动完成后释放这些资源 Kubernetes是否允许指定pod允许在启动期间使用(几乎)所有可用的cpu电源,并在启动之后释放这些资源?由于滚动更新,我们可以防止两个吊舱同时启动 感谢您的帮助。如果您没有限制地指定请求,则

我们在谷歌云平台上有一个分布在多个pod上的Java应用程序。我们还设置内存请求,为pod提供节点上可用的内存的某一部分,用于堆和非堆空间

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

Kubernetes是否允许指定pod允许在启动期间使用(几乎)所有可用的cpu电源,并在启动之后释放这些资源?由于滚动更新,我们可以防止两个吊舱同时启动


感谢您的帮助。

如果您没有限制地指定请求,则该值将用于将pod调度到满足请求的可用CPU带宽的适当节点。内核调度器将假定请求与实际资源消耗相匹配,但不会防止过度使用。这将从其他容器中“偷走”。 如果您同时指定了一个限制,那么如果容器试图超过该值,它将被限制。您可以将两者结合起来,以允许cpu的大量使用,超过通常的请求,但不从节点分配所有资源,从而降低其他进程的速度

“Kubernetes是否允许指定允许使用pod (几乎)启动和释放过程中可用的所有cpu电源 之后的资源?”

这里的关键词是“可用”。答案是“是”,可以通过使用(服务质量)类来实现。将CPU请求配置为容器启动后所需的值,并且:

  • 配置高于CPU请求的CPU限制,或
  • 不配置CPU限制—命名空间的默认CPU限制将在以下情况下应用,或者容器“…可以使用它正在运行的节点上的所有可用CPU资源”
如果节点上没有可用的CPU进行爆破,容器将无法获得任何超出请求值的数据,因此应用程序的启动速度可能会变慢

值得一提的是,对于带有多个容器的豆荚,我们的解释是:

Pod的CPU请求是所有Pod的CPU请求之和 吊舱里的集装箱。同样,Pod的CPU限制是 Pod中所有容器的CPU限制


如果运行Kubernetes v1.12+并有权配置kubelet,可能会引起兴趣。

在节点中调度pod的一个因素是资源可用性,Kubernetes调度器根据每个pod的请求值计算已用资源。如果未在请求参数中分配任何值,则此部署请求的值将为零。请求参数不能确保pod将使用如此多的cpu或ram。您可以从“kubectl top pods/nodes”获取当前资源使用情况。 请求参数将为pod缓冲资源。其中,作为限制,对pod的资源使用设置上限。 你可以在这里获得更多信息。 这将使您大致了解请求和限制