GKE 上同一节点中 PODS 的数量限制

mda*_*rnp 5 google-compute-engine google-cloud-platform google-kubernetes-engine

我正在尝试使用容器引擎在 Google Cloud 的大型实例中提升许多容器。

我检测到在同一个节点中只有 104 个容器被提升,其余的都挂起,并使用描述命令出现以下错误:kubectl describe po nginx-2243550509-nd1z7

  FirstSeen     LastSeen        Count   From                    SubobjectPath   Type            Reason                  Message
    ---------     --------        -----   ----                    -------------   --------        ------                  -------
    5m            5m              1       {default-scheduler }                    Warning         FailedScheduling        no nodes available to schedule pods
    7m            20s             27      {default-scheduler }                    Warning         FailedScheduling        pod (nginx-2243550509-nd1z7) failed to fit in any node
Run Code Online (Sandbox Code Playgroud)

这是 GKE 的限制吗?

每个实例是否无法提升更多容器?

你能指定每个节点上容器的内部 IP 范围吗?(不是集群中的全局 IP 范围)

我怀疑每个节点只允许使用 /24。

这让我认为每个节点的限制可能是 255。

——

测试是使用镜像container-vm (Debian 7) 和GCI (Chromium OS) 完成的。

在 Kubernetes 的 1.5.1 和 1.4.7 版本中也观察到了同样的限制

——

更新:

似乎每个节点中 kubelet 的默认限制,我想在 GKE 中默认为 110。

http://kubernetes.io/docs/admin/kubelet/

--max-pods int32     Number of Pods that can run on this Kubelet. (default 110)
Run Code Online (Sandbox Code Playgroud)

是否可以通过某种方式在 GKE 中修改此值以使用整个可用 IP 范围?

据说在 /24 范围内。

小智 0

由于 IP 范围为 /24,您最多可以有 252 个节点,每个节点总共可以有 110 个 pod,最后一件事是因为 Kubernetes 为每个节点分配了一个 IP 地址范围(一个 CIDR 块),以便每个节点Pod 可以有唯一的 IP 地址。