其他
Kubernetes 限制节点启动的Pod数量
原文链接:https://juejin.cn/post/6997242322769412127
即:需要调整Node节点的最大可运行Pod数量。
一般来说,我们只需要在kubelet启动命令中增加–max-pods参数,然后,重启kubelet 服务,就生效。
重启kubelet,不影响现有运行中的容器,不会造成容器重启。
可以看到,集群当前有3台Node节点,且最大可运行Pod数量均为默认值:110。
接下来,我们来修改该参数值。
修改
1、登录 Node 节点,查看kubelet启动文件路径
[root@VM-2-8-centos ~]# systemctl status kubelet
从上图可以看到,kubelet 的启动文件为/usr/lib/systemd/system/kubelet.service
2、查看 systemd 启动文件
可以看到,Environment文件是引用/etc/kubernetes/kubelet,至此,我们只需要在/etc/kubernetes/kubelet中增加max-pods的变量,然后在/usr/lib/systemd/system/kubelet.service中,将变量添加到启动参数后即可。
3、修改/etc/kubernetes/kubelet
强烈建议,在修改Pod数量的时候,如果是缩减(当前运行70个Pod,所见到20个),强烈建议先把Node上的Pod驱散,等驱散完了在重启,最后在激活Node。
# 增加
MAX_PODS="--max-pods=61"
4、修改/usr/lib/systemd/system/kubelet.service
注意:必须在启动命令后加入该变量,才可以使刚才定义的--max-pods=61生效。
5、重启kubelet
[root@VM-2-8-centos ~]# systemctl daemon-reload
[root@VM-2-8-centos ~]# systemctl restart kubelet
查看修改结果
可以看到,已经完成修改的节点的最大可调度Pod数量已经调整为61。配置生效。
PromQL:
sum(kubelet_running_pod_count{node=~"$node"}) by (cluster, node) / sum(kube_node_status_allocatable_pods{node=~"$node"}) by (cluster, node)
- END -
推荐阅读
K8s中大量Pod是Evicted状态,这是咋回事?
Prometheus + Grafana 实现服务器的可视化
K8s运维锦囊,19个常见故障解决方法
比ELK轻量的开源日志系统平台:Loki
Kubernetes生态架构图
2021年最佳的开源 Kubernetes 工具
线上 K8s Ingress 访问故障排查思路
Kubernetes上生产环境后,99%都会遇到这2个故障
Prometheus 高可用方案
Kubernetes 在企业中的应用场景
使用 Jenkins 构建 CI/CD 之多分支流水线
订阅,一起成长
K8s生态圈
点在看,K8s一年不出问题👇