kubernetes限制节点启动的pod数量
Posted 江晓龙的技术博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kubernetes限制节点启动的pod数量相关的知识,希望对你有一定的参考价值。
关于pod数量限制,在网上很多博客都只是写了一半,最主要的一点缺没有提到,所有博客都一模一样,也是厉害了,这样就会导致在实际操作中无法生效!!!!!
进入正文
1.node节点默认的pod数量
k8s node节点每个默认允许最多创建110个pod,有时可能会由于系统硬件的问题,从而控制node节点的pod启动数量
需要调整node节点的数量需要在kubelet启动命令中增加–max-pods参数即可生效
2.限制pod启动数量为20个
在第三行增加Environment="KUBELET_NODE_MAX_PODS=--max-pods=20"
并在启动命令后面引用
这里在提一下配置文件的路
-
rpm安装的kubelet:/etc/systemd/system/kubelet.service.d/10-kubeadm.conf
-
kubeadm安装的kublet:/usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf
强烈建议,在修改pod数量的时候,如果是缩减(当前运行70个pod,所见到20个),强烈建议先把node上的pod驱散,等驱散完了在重启,最后在激活node
[root@k8s-16-102 kubernetes]# vim /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
# Note: This dropin only works with kubeadm and kubelet v1.11+
[Service]
Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf"
Environment="KUBELET_CONFIG_ARGS=--config=/var/lib/kubelet/config.yaml"
Environment="KUBELET_NODE_MAX_PODS=--max-pods=20"
# This is a file that "kubeadm init" and "kubeadm join" generates at runtime, populating the KUBELET_KUBEADM_ARGS variable dynamically
EnvironmentFile=-/var/lib/kubelet/kubeadm-flags.env
# This is a file that the user can use for overrides of the kubelet args as a last resort. Preferably, the user should use
# the .NodeRegistration.KubeletExtraArgs object in the configuration files instead. KUBELET_EXTRA_ARGS should be sourced from this file.
EnvironmentFile=-/etc/sysconfig/kubelet
ExecStart=
ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS $KUBELET_NODE_MAX_PODS
注意:增加完配置一定要在启动后面加上,否则不生效
重启kubelet
[root@k8s-node2 ~]# systemctl daemon-reload
[root@k8s-node2 ~]# systemctl restart kubelet
已经生效
以上是关于kubernetes限制节点启动的pod数量的主要内容,如果未能解决你的问题,请参考以下文章
Kubernetes小技巧关于节点pod ip node数量规划
Kubernetes小技巧关于节点pod ip node数量规划
Kubernetes小技巧关于节点pod ip node数量规划