背景:k8s 默认每个 node 可以启动 110 个 pod,而这个数字可以自行(依据机器配置)修改
查看 kubelet 的启动文件
root@sh-cpu035:~# systemctl status kubelet
● kubelet.service - Kubernetes Kubelet
Loaded: loaded (/etc/systemd/system/kubelet.service; enabled; vendor preset: enabled)
查看帮助
root@sh-cpu035:~# kubelet -h |grep max-pods
--max-pods int32 Number of Pods that can run on this Kubelet. (default 110) (DEPRECATED: This parameter should be set via the config file specified by the Kubelet's --config flag. See https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/ for more information.)
修改重启文件,增加 --max-pods=500
参数
root@sh-cpu035:~# cat /etc/systemd/system/kubelet.service
[Unit]
Description=Kubernetes Kubelet
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
After=docker.service
Requires=docker.service
[Service]
WorkingDirectory=/var/lib/kubelet
ExecStartPre=/bin/mkdir -p /sys/fs/cgroup/cpuset/system.slice/kubelet.service
ExecStartPre=/bin/mkdir -p /sys/fs/cgroup/hugetlb/system.slice/kubelet.service
ExecStart=/usr/local/bin/kubelet \
--address=0.0.0.0 \
--hostname-override=sh-cpu035.test.cn \
--pod-infra-container-image=mirrorgooglecontainers/pause-amd64:3.1 \
--experimental-bootstrap-kubeconfig=/etc/kubernetes/bootstrap.kubeconfig \
--kubeconfig=/etc/kubernetes/kubelet.kubeconfig \
--cert-dir=/etc/kubernetes/ssl \
--client-ca-file=/etc/kubernetes/ssl/ca.pem \
--network-plugin=cni \
--cni-conf-dir=/etc/cni/net.d \
--cni-bin-dir=/usr/local/bin \
--cluster-dns=10.68.0.2 \
--cluster-domain=cluster.local. \
--hairpin-mode hairpin-veth \
--allow-privileged=true \
--fail-swap-on=false \
--anonymous-auth=false \
--authorization-mode=Webhook \
--authentication-token-webhook=true \
--volume-plugin-dir=/var/lib/kubelet/volumeplugins \
--logtostderr=true \
--root-dir=/var/lib/kubelet \
--kube-reserved=cpu=3,memory=4Gi \
--system-reserved=cpu=3,memory=4Gi \
--eviction-hard=memory.available<2048Mi,nodefs.available<10% \
--enforce-node-allocatable=pods,kube-reserved,system-reserved \
--kube-reserved-cgroup=/system.slice/kubelet.service \
--system-reserved-cgroup=/system.slice \
--resolv-conf=/run/systemd/resolve/resolv.conf \
--max-pods=500 \
--v=2
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
root@sh-cpu035:~#
重启 kubelet
systemctl daemon-reload
systemctl restart kubelet
重启 docker
systemctl restart docker