k8s報錯總結

1、k8s部署完集羣后,用kubectl get cs 查看發現連接斷開失敗:
controller-manager Unhealthy Get “http://127.0.0.1:10252/healthz”: dial tcp 127.0.0.1:10252: connect: connection refused
scheduler Unhealthy Get “http://127.0.0.1:10251/healthz”: dial tcp 127.0.0.1:10251: connect: connection refused
出現這種情況是kube-controller-manager.yaml和kube-scheduler.yaml設置的默認端口是0,在每臺master文件中註釋掉就可以。
2、node節點向master主節點註冊報錯如下:
kubeadm join 192.168.17.39:6443 --token orc9od.fmr986btt3ubqvzb --discovery-token-ca-cert-hash sha256:6f8506dc12245404bafc9e5c9a858a594a0ef5b51f241d91e95179d237a3a134
Starting the kubelet
[kubelet-start] Waiting for the kubelet to perform the TLS Bootstrap...
[kubelet-check] Initial timeout of 40s passed.
[kubelet-check] It seems like the kubelet isn't running or healthy.
[kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed with error: Get "http://localhost:10248/healthz": dial tcp [::1]:10248: connect: connection refused.
排查過程:
由於沒有日記不方便排查問題:用systecmt status kubelet 查看PID號:
[root@k8s-node1 kubernetes]# journalctl _PID=4533 | vim -
查看錯誤日記,發現問題,由於kubelet與docker的 cgroup drver不一致導致的。
failed to run Kubelet: misconfiguration: kubelet cgroup driver: "cgroupfs" is different from docker cgroup driver: "systemd"
查詢發現是:cgroupfs
[root@k8s-node1 ~]# docker info|grep "Cgroup Driver"
Cgroup Driver: cgroupfs
修改配置文件如下
cat > /etc/docker/daemon.json << EOF
{
"exec-opts": ["native.cgroupdriver=systemd"],
"registry-mirrors": ["https://sij2FS2ha.mirror.aliyuncs.com"]
}
EOF
cat > /etc/sysconfig/kubelet << EOF
KUBELET_EXTRA_ARGS="--cgroup-driver=systemd
KUBE_PROXY_MODE="ipvs"
EOF
修改後重啓docker:
systemctl restart docker
3、
 
 
 
 
 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章