如何在资源紧缺的情况下,保证 Node 的稳定性,是 Kubelet 需要面对的一个重要的问题。尤其对于内存和磁盘这种不可压缩的资源,紧缺就相当于不稳定。
- 使用环境变量文件注入
1
2
3
4
5
6
7
8vim /etc/kubernetes/kubelet.env
--eviction-hard=memory.available<1Gi,nodefs.available<10Gi,imagefs.available<10Gi \
--eviction-minimum-reclaim=memory.available=512Mi,nodefs.available=5Gi,imagefs.available=5Gi \
--eviction-pressure-transition-period=5m0s \
--system-reserved=cpu=100m,memory=1Gi \
systemctl stop kubelet.service && systemctl daemon-reload && systemctl start kubelet.service
参考链接:https://github.com/kubernetes-incubator/kubespray
- 重写配置文件进行配置
1
2
3
4
5
6
7
8vim /etc/systemd/system/kubelet.service.d/20-kubelet-override.conf
--eviction-hard=memory.available<512Mi,nodefs.available<10Gi,imagefs.available<10Gi \
--eviction-minimum-reclaim=memory.available=512Mi,nodefs.available=5Gi,imagefs.available=5Gi \
--eviction-pressure-transition-period=5m0s \
--system-reserved=cpu=100m,memory=1Gi \
systemctl daemon-reload && systemctl restart kubelet.service