kubelet get nodes
發(fā)現(xiàn)node處理NotReady狀態(tài)阶界,然后發(fā)現(xiàn)是node的kubelet一直在重啟膘融,查看日志
這樣查看:
journal -f -u kubelet
有如下錯誤:
E1110 09:56:55.648738 19412 kubelet.go:1823] skipping pod synchronization - container runtime status check may not have completed yet
后來百度到一個仁兄的文章,說:
這個問題官方社區(qū)早有定論
https://github.com/kubernetes/kubernetes/issues/76820
由于我們cgroupdriver使用了systemd春畔,因此我們需要升級systemd
在此我建議新建集群時屯耸,先執(zhí)行一次yum update -y
如果操作系統(tǒng)本身較新可能無此問題蹭劈。
原文鏈接:https://www.gl.sh.cn/2021/07/04/kubelet_qi_dong_yi_chang.html
接著yum升級一下疗绣。
接著啟動一臺kubelet試試,再在master節(jié)點看狀態(tài)
[root@master1 src]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
node1 Ready <none> 23h v1.20.1
node2 NotReady <none> 23h v1.20.1
node3 NotReady <none> 23h v1.20.1
狀態(tài)為ready了铺韧,哈哈多矮,原來是這個原因。這個過程中哈打,一開始kubelet.service設置了Restart=on-faiure塔逃,所以看日志不太方便,把它注釋后料仗,它不會一直嘗試重啟湾盗,方便看日志
[root@node1 kubernetes]# cat /usr/lib/systemd/system/kubelet.service
[Unit]
Description=Kubernetes Kubelet
Documentation=https://github.com/kubernetes/kubernetes
After=docker.service
Requires=docker.service
[Service]
WorkingDirectory=/var/lib/kubelet
ExecStart=/usr/local/bin/kubelet \
--bootstrap-kubeconfig=/etc/kubernetes/kubelet-bootstrap.kubeconfig \
--cert-dir=/etc/kubernetes/ssl \
--kubeconfig=/etc/kubernetes/kubelet.kubeconfig \
--config=/etc/kubernetes/kubelet.json \
--network-plugin=cni \
--pod-infra-container-image=k8s.gcr.io/pause:3.2 \
--alsologtostderr=true \
--logtostderr=false \
--log-dir=/var/log/kubernetes \
--v=4
#Restart=on-failure
#RestartSec=5
[Install]
WantedBy=multi-user.target
記錄一下