我在某些kubernetes节点上的CentO上遇到OOM问题。我想像在演示中一样进行设置:
--kube-reserved is set to cpu=1,memory=2Gi,ephemeral-storage=1Gi
--system-reserved is set to cpu=500m,memory=1Gi,ephemeral-storage=1Gi
--eviction-hard is set to memory.available<500Mi,nodefs.available<10%
我在哪里添加这些参数?
我应该将它们添加到/etc/systemd/system/kubelet.service吗?
什么格式?
另外,我是否只是在工作节点上设置了这些?
这是一个生活环境,所以我想一开始就搞定。
[Unit]
Description=kubelet: The Kubernetes Node Agent
Documentation=https://kubernetes.io/docs/
[Service]
ExecStart=/usr/bin/kubelet
Restart=always
StartLimitInterval=0
RestartSec=10
[Install]
WantedBy=multi-user.target
答案 0 :(得分:4)
将它们添加到该文件中(希望您使用kubeadm启动了集群):
/var/lib/kubelet/kubeadm-flags.env
例如:
KUBELET_KUBEADM_ARGS=--cgroup-driver=cgroupfs --cni-bin-dir=/opt/cni/bin --cni-conf-dir=/etc/cni/net.d --network-plugin=cni --resolv-conf=/run/systemd/resolve/resolv.conf --kube-reserved=<value> --system-reserved=<value> --eviction-hard=<value>
运行:
systemctl restart kubelet
和配置应生效。您可以使用以下正确的参数检查kubelet是否正在运行:
ps -Af | grep kubelet
希望有帮助。