加入收藏 | 设为首页 | 会员中心 | 我要投稿 潍坊站长网 (https://www.0536zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 动态 > 正文

资源请求和限制

发布时间:2021-04-19 19:11:50 所属栏目:动态 来源:互联网
导读:开始迁移后,由于配置错误,我们在群集中观察到许多性能和功能问题。其结果之一是在资源请求和限制中添加了许多缓冲区,以消除资源限制,从而降低性能。 最早的观察之一是由于节点上的内存限制而导致的逐出。原因是与资源请求相比,资源限制过高。随着流量的

开始迁移后,由于配置错误,我们在群集中观察到许多性能和功能问题。其结果之一是在资源请求和限制中添加了许多缓冲区,以消除资源限制,从而降低性能。

最早的观察之一是由于节点上的内存限制而导致的逐出。原因是与资源请求相比,资源限制过高。随着流量的激增,内存消耗的增加可能导致节点上的内存饱和,从而进一步导致Pod逐出。

我们的学习是将资源请求保持在足够高的水平,但又不要过高,以便在低流量时间内浪费资源,并使资源限制相对接近资源请求,以便为尖峰流量留出一定的喘息空间,而不会由于节点上的内存压力而驱逐Pod。限制与请求之间的接近程度取决于您的流量模式。

这不适用于非生产环境(例如开发,登台和CI)。这些环境不会带来任何流量高峰。从理论上讲,如果将CPU请求设置为零并为容器设置足够高的CPU限制,则可以运行无限个容器。如果您的容器开始占用大量CPU,它们将受到限制。您也可以对内存请求和限制执行相同的操作。但是,达到内存限制的行为与CPU不同。如果您使用的内存超过了设置的内存限制,则容器将被杀死OOM,然后容器将重新启动。如果您的内存限制异常高(例如高于节点的容量),则可以继续使用内存,但是最终,当节点可用内存不足时,调度程序将开始逐出Pod。

在非生产环境中,我们通过保持极低的资源请求和极高的资源限制来尽可能安全地超额分配资源。在这种情况下,限制因素是内存,即无论内存请求有多低和内存限制有多高,pod逐出都是节点上调度的所有容器使用的内存总和的函数。

(编辑:潍坊站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!