新建deployment查看pod处于ContainerCreating
kubectl logs pod-name查看日志
kubectl describe pod pod-name查看pod event信息,提示open /run/flannel/subnet.env: no such file or directory,查阅资料说是flannel有问题
kubectl get pods -A -o wide --watch查看flannel的状态,处于重启,,最终CrashLoopBackOff
kubectl logs查看信息如图,无法访问此网址
Failed to create SubnetManager: error retrieving pod spec for 'kube-system/kube-flannel-ds-bb8vr': Get "https://10.96.0.1:443/api/v1/namespaces/kube-system/pods/kube-flannel-ds-bb8vr": dial tcp 10.96.0.1:443: connect: connection refused
查阅资料,此IP为k8s的集群ip
kubeadm config print init-defaults > kubeadm-init.yaml打印机器配置信息
确保如图所示三个信息的正确性,第一个为master的ip,第二个为flannel为pod划分的ip,需要与flannel的yaml中的ip保持一致,第三个为集群ip,与上边无法访问的内容一致。
确保如上三个信息后,重新配置集群kubeadm init --config=kubeadm-config.yaml
出现端口占用等,可先kubeadm reset一下,然后再初始化,并按照提示添加node。
再依次启动flannel和业务deployment pod即可,如图启动成功
回想启动失败之前,kube-proxy不存在,正确的是存在的