我正在搜索有关 kubernetes 请求和限制的特定信息,但仍未找到答案或只是不太了解。假设我为单个 pod 定义了两个容器 A 和 B,它们都具有资源限制和请求:
答: 内存请求:1Gi 内存限制:2Gi 乙: 内存请求:1Gi 内存限制:2Gi
因此,我们的 PoD 限制为 4Gi(总计)。假设 A 容器超出限制(比如 +1Gi),但 B 仅消耗 64Mi。所以,我的问题是:
- pod 会怎样?它被驱逐了吗?
- 容器A是否重启了?
- 是否允许容器 A 使用 B 的可用 RAM?
谢谢!
最佳答案
What happens to the pod? Is it evicted?
如果超过容器的内存限制,内核的 OOM killer 将被调用并终止容器的进程。然后 Pod 在同一个节点上启动一个新容器。
(CPU 限制使用不同的机制(CFS 带宽控制)来限制进程的 CPU 周期而不是终止进程。)
Is the container A restarted?
是的。
Is the container A allowed to use the B's available RAM?
每个容器的内存都是单独跟踪的。它们没有合并到同一个限制中。
关于kubernetes - 当没有超过 pod 资源限制但单个容器资源限制时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67938981/