出错恢复

没遇到报错可以跳过
安装过程中可能有一些异常

查看所有的pod分布情况

1
kubectl get pods -n kube-system -o wide -l k8s-app=kubernetes-dashboard

查看失败的镜像

1
2
imageName=`kubectl describe -n kube-system pod -l k8s-app=kubernetes-dashboard | grep Image: | awk '{print $2 }' `
kubectl describe -n kube-system pod -l k8s-app=kubernetes-dashboard

某个pod的详情

1
kubectl describe pod -l k8s-app=kubernetes-dashboard -n kube-system 

出错日志

1
kubectl logs `kubectl get pods -n kube-system -l k8s-app=kubernetes-dashboard -o name` -n kube-system 

报错描述提到 addr cni0

failed to set bridge addr: “cni0” already has an IP address different from 10.244.1.1/24
描述的第一行提到pod被scheduler调度到了pu6-k1 则需要重置其节点的网络

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
kubeadm reset

systemctl stop kubelet
systemctl stop docker
rm -rf /var/lib/cni/
rm -rf /var/lib/kubelet/*
rm -rf /etc/cni/
ifconfig cni0 down
ifconfig flannel.1 down
ifconfig docker0 down
ip link delete cni0
ip link delete flannel.1
systemctl start docker

强制重建服务

1
2
3
kubectl replace --force -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml
kubectl get pod -l k8s-app=kubernetes-dashboard --namespace=kube-system |grep kubernetes-dashboard | awk '{print $1}'
kubectl get pods -n kube-system -l k8s-app=kubernetes-dashboard 

参考