如何检查 Kubernetes 节点的最大 pod 容量

nel*_*aro 5 kubernetes kubeadm

我正忙于设置新的 k8s 集群。

我正在使用 rke 和 --max-pods: 200

kubelet: # https://rancher.com/docs/rke/latest/en/config-options/services/services-extras/#extra-args
    extra_args: 
    - max-pods: 200  # https://forums.rancher.com/t/solved-setting-max-pods/11866/5
Run Code Online (Sandbox Code Playgroud)

如何检查是否使用正确的设置创建了正在运行的节点。

小智 12

以下命令将返回 的最大 pod 值<node_name>

kubectl get node <node_name> -ojsonpath='{.status.capacity.pods}'
Run Code Online (Sandbox Code Playgroud)

编辑:修复了我的命令中的拼写错误,谢谢@Shtlzut。


nel*_*aro 6

我发现这是最好的方法

kubectl get nodes -A
NAME            STATUS   ROLES                      AGE   VERSION
192.168.1.1   Ready    controlplane,etcd,worker   9d    v1.17.2
192.168.1.2   Ready    controlplane,etcd,worker   9d    v1.17.2

kubectl describe nodes 192.168.1.1 | grep -i pods

Capacity:
cpu:                16
ephemeral-storage:  55844040Ki
hugepages-2Mi:      0
memory:             98985412Ki
pods:               110
Allocatable:
cpu:                16
ephemeral-storage:  51465867179
hugepages-2Mi:      0
memory:             98883012Ki
pods:               110
Run Code Online (Sandbox Code Playgroud)


小智 6

在关于构建大型集群的Kubernetes 文档中,我们可以阅读 v1.17 支持:

Kubernetes 支持多达 5000 个节点的集群。更具体地说,我们支持满足 以下所有条件的配置:

  • 不超过 5000 个节点
  • 不超过 150000 个总 pod
  • 不超过300000个集装箱
  • 每个节点不超过 100 个 Pod

在 GKE 内部,每个节点的 Pod 数量硬限制是110因为可用地址。

每个节点默认最多 110 个 Pod,Kubernetes 为每个节点分配一个 /24 CIDR 块(256 个地址)。通过拥有大约两倍于可以在节点上创建的 Pod 数量的可用 IP 地址,Kubernetes 能够在向节点添加和删除 Pod 时减少 IP 地址重用。

这在优化 IP 地址分配配额和限制中进行了描述

As or setting max pods for Rancherhere 是一个解决方案[已解决] 设置 Max Pods

还有一个关于增加每个节点的最大 pods的讨论

... 考虑到机器规格、工作负载和环境的巨大差异,使用单个数字(最大 pods)可能会误导用户。如果我们有一个节点基准,我们可以让用户分析他们的节点并决定什么是最适合他们的配置。基准测试可以作为节点 e2e 测试存在,也可以存在于 contrib 存储库中。

我希望这能提供更多的内部限制。