1、首先删除已安装的flannel
kubectl delete -f kube-flannel.yml
或者使用安装源的url删除
kubectl delete -f url路径+kube-flannel.yml
2、查看并删除的DaemonSet
kubectl get DaemonSet -n kube-system
kubectl delete DaemonSet kube-flannel-ds -n kube-system
3、查看k8s状态,都是running
kubectl get pod -n kube-system
4、确认kube-flannel.yml使用的镜像
cat kube-flannel.yml |grep image|uniq
image: quay.io/coreos/flannel:v0.15.1-amd64
image: quay.io/coreos/flannel:v0.15.1-arm64
image: quay.io/coreos/flannel:v0.15.1-arm
image: quay.io/coreos/flannel:v0.15.1-ppc64le
image: quay.io/coreos/flannel:v0.15.1-s390x
确认镜像都已经下载。 5、删除flannel.yml时有以下报错,查看kube-flannel.yml中创建使用的版本
unable to recognize "kube-flannel.yml": no matches for kind "ClusterRole" in version "rbac.authorization.k8s.io/v1beta1"
unable to recognize "kube-flannel.yml": no matches for kind "ClusterRoleBinding" in version "rbac.authorization.k8s.io/v1beta1"
将其中”rbac.authorization.k8s.io/v1beta1“修改为”rbac.authorization.k8s.io/v1“;也就是将对应报错的ClusterRole、ClusterRoleBinding修改为正式版。 6、重新创建flannel
kubectl apply -f kube-flannel.yml
查看node节点镜像状态:
[root@ ~]# kubectl get pod -n kube-system
NAME READY STATUS RESTARTS AGE
coredns-7f6cbbb7b8-4tq7b