Kubernetes 中 Pod 计算资源管理指南
在 Kubernetes 集群中,合理管理 Pod 的计算资源至关重要。这不仅能确保资源的有效利用,还能保证系统的稳定性和性能。本文将深入探讨在内存不足时哪些进程会被终止,以及如何为每个命名空间设置 Pod 的默认资源请求和限制,同时介绍如何限制命名空间内的总资源使用。
内存不足时进程的终止机制
当系统资源过度分配时,QoS(Quality of Service)类会决定哪个容器首先被终止,以便将释放的资源分配给更高优先级的 Pod。不同 QoS 类的 Pod 被终止的顺序如下:
1. BestEffort 类 Pod :这类 Pod 最先被终止。它们没有设置资源请求和限制,对资源的使用是尽力而为的。
2. Burstable 类 Pod :在 BestEffort 类 Pod 之后,如果系统仍然需要释放资源,Burstable 类 Pod 会被考虑终止。
3. Guaranteed 类 Pod :只有在系统进程需要内存时,Guaranteed 类 Pod 才会被终止。这类 Pod 的资源请求和限制设置相同,保证了资源的稳定分配。
例如,假设有两个单容器 Pod,一个是 BestEffort 类,另一个是 Burstable 类。当节点内存达到上限,有进程尝试分配更多内存时,系统会优先终止 BestEffort 类 Pod 中的进程。
对于同一 QoS 类的容器,系统会根据每个运行进程的 OutOfMemory(OOM)分数来选择终止的进程。OOM 分数由两个因素计算
超级会员免费看
订阅专栏 解锁全文
1311

被折叠的 条评论
为什么被折叠?



