3

我在一些 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
4

1 回答 1

7

将它们添加到此文件中(希望您使用 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

希望能帮助到你。

于 2018-09-20T04:44:51.077 回答