kubernetes - 当没有超过 pod 资源限制但单个容器资源限制时会发生什么?

标签 kubernetes

我正在搜索有关 kubernetes 请求和限制的特定信息,但仍未找到答案或只是不太了解。假设我为单个 pod 定义了两个容器 A 和 B,它们都具有资源限制和请求:

答: 内存请求:1Gi 内存限制:2Gi 乙: 内存请求:1Gi 内存限制:2Gi

因此,我们的 PoD 限制为 4Gi(总计)。假设 A 容器超出限制(比如 +1Gi),但 B 仅消耗 64Mi。所以,我的问题是:

  1. pod 会怎样?它被驱逐了吗?
  2. 容器A是否重启了?
  3. 是否允许容器 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/

相关文章:

kubernetes - 将子目录与 kubernetes gitRepo 卷挂载一起使用

kubernetes - kubectl port-forward 如何工作?

kubernetes - 在Azure Kubernetes Service(AKS)中使用Dask Kubernetes处理大数据

kubernetes - 如何在kubernetes pod中将Rabbitmq数据目录设置为pvc

kubernetes - Kubernetes-为什么选择器字段无法验证部署?

amazon-web-services - 如何使我的AWS EKS Kubernetes集群公开可见?

Kubernetes 不同的容器参数取决于副本集中的 pod 数量

amazon-web-services - 自动配置新的 Kubernetes 节点

amazon-web-services - 关于AWS EC2实例中的Kubernetes集群

kubernetes - 如何将多个模板化配置文件加载到 Helm chart 中?