Kubernetes 针对资源紧缺处理方式的配置

如何在资源紧缺的情况下,保证 Node 的稳定性,是 Kubelet 需要面对的一个重要的问题。尤其对于内存和磁盘这种不可压缩的资源,紧缺就相当于不稳定。

  • 使用环境变量文件注入
    1
    2
    3
    4
    5
    6
    7
    8
    vim /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
    8
    vim /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

参考链接:https://www.kubernetes.org.cn/1150.html

setzero wechat