一、Node 节点默认的 Pod 数量
Kubernetes Node 节点每个默认允许最多创建 110 个 Pod,有时可能会由于系统硬件的问题,从而需要控制 Node 节点的 Pod 的运行数量。
即:需要调整 Node 节点的最大可运行 Pod 数量。一般来说,我们只需要在 kubelet 启动命令中增加 --max-pods
参数,然后,重启 kubelet 服务,就生效。重启 kubelet,不影响现有运行中的容器,不会造成容器重启。
二、修改限制 Pod 启动数量
可以看到,集群当前有 3 台 Node 节点,且最大可运行 Pod 数量均为默认值:110。接下来,我们来修改该参数值。
修改
登录 Node 节点,查看 kubelet 启动文件路径
[root@wangyang ~]# systemctl status kubelet
从上图可以看到,kubelet 的启动文件为 /usr/lib/systemd/system/kubelet.service
查看 systemd 启动文件
可以看到,Environment 文件是引用 /etc/kubernetes/kubelet
,至此,我们只需要在 /etc/kubernetes/kubelet
中增加 max-pods
的变量,然后在 /usr/lib/systemd/system/kubelet.service
中,将变量添加到启动参数后即可。
修改 /etc/kubernetes/kubelet
强烈建议,在修改 Pod
数量的时候,如果是缩减(当前运行 70 个Pod,所见到 20 个),强烈建议先把 Node
上的 Pod
驱散,等驱散完了在重启,最后在激活Node。
[root@wangyang ~]# vim /etc/kubernetes/kubelet
# 增加
MAX_PODS="--max-pods=61"
修改 /usr/lib/systemd/system/kubelet.service
注意:必须在启动命令后加入该变量,才可以使刚才定义的 --max-pods=61
生效。
重启 kubelet
[root@wangyang ~]# systemctl daemon-reload
[root@wangyang ~]# systemctl restart kubelet
查看修改结果
可以看到,已经完成修改的节点的最大可调度 Pod 数量已经调整为 61。配置生效。
三、新建监控视图
在这里,我们可以部署 Prometheus + Grafana,配置监控视图,更好的体现集群中节点的 Pod 分配率。
PromQL:
sum(kubelet_running_pod_count{node=~"$node"}) by (cluster, node) / sum(kube_node_status_allocatable_pods{node=~"$node"}) by (cluster, node)
效果展示:
评论区