您在哪里可以找到kubernetes集群中Pod /容器的权威资源限制?

时间:2019-04-24 02:41:23

标签: kubernetes google-kubernetes-engine kubectl

我正在尝试查找GKE kubernetes集群中的一些瓶颈。我正在尝试排除资源(CPU和内存)限制。但是,我遇到了麻烦,因为在部署yaml文件中的容器上设置了资源限制,但是在群集中也有设置为默认值的资源配额,当在容器定义中指定它们时,这些配额可能不适用。但是然后我还读到,您可以具有pod资源限制,甚至可以限制特定名称空间。

权威性列出了对容器应用哪些限制?如果我用kubectl描述具有吊舱的节点,则详细信息中的限制应为实际限制吗?

1 个答案:

答案 0 :(得分:2)

我看到您很困惑,但现实更简单。 首先-资源请求和限制应用于容器级别,而不是容器级别。 Pod资源被定义为其容器资源的简单总和。

  1. Namespace quotas。它们会整体上影响名称空间,而不会影响pod本身。命名空间配额唯一要做的就是确保给定命名空间中所有pod资源的总和不超过配置的限制。如果您具有相当高的名称空间配额-您可能会忘记它甚至存在。但是您应该记住,一旦定义了名称空间配额-名称空间中的任何单个容器都必须指定资源。
  2. LimitRange。 LimitRange在命名空间级别上工作。您可以配置默认资源请求,以及对容器和容器的限制。它所做的另一件事是为命名空间中的容器和容器指定最小和最大资源。
  3. 最后但最重要的是实际的pod资源。在这种情况下,我猜这件事或多或少是不言自明的。

现在,当您在节点或Pod上单击“ kubectl describe”时-将显示 actual (实际)pod请求和限制。实际是指那些重要的资源。这些资源的来源无关紧要-部署/ pod规范还是LimitRange。无论您是否指定了一些配额或LimitRange,您所看到的就是在这里得到的东西。

这能回答您的问题吗?