Kubernetes:在没有资源限制的情况下调度Pod

时间:2020-06-12 08:26:26

标签: kubernetes google-kubernetes-engine

Kubernetes:如果pod没有资源限制/未定义请求,会发生什么?

没有定义(或只有部分)资源限制/请求的Pod可以在Kubernetes(GKE)中使用多少资源?

例如,我有一个只有内存 limits 和内存 requests 的Pod,但是没有CPU规格。 可用于此Pod的CPU是否为:

  • 0
  • 与节点/命名空间上的剩余空间相同(总计减去所有其他pod声明)
  • 关于节点/命名空间上其他Pod使用实际
  • 尽可能多的

1 个答案:

答案 0 :(得分:3)

如果您没有为容器指定CPU限制,则将应用以下情况之一:

容器对可以使用的CPU资源没有上限的限制。容器可以使用运行Pod的节点上所有可用的CPU资源。因此,根据您的情况,这将是您在问题中指定的第二个选择:与节点/命名空间上的剩余量一样。

通常,Kubernetes Cluster Administrator为集群中的每个命名空间定义限制。因此,容器在具有默认CPU限制的命名空间中运行,并且自动为容器分配了默认限制。

应该为每个命名空间定义资源配额,这很方便,可以摆脱没有资源请求或限制的pod并耗尽所有资源。这意味着您必须先在特定名称空间中指定该Pod的资源要求,然后才能建议使用此方法,否则将无法安排该Pod的操作

有关更多信息,请参阅本节:https://kubernetes.io/docs/tasks/configure-pod-container/assign-cpu-resource/#if-you-do-not-specify-a-cpu-limit

相关问题