在搭建好k8s集群后,我们尝试去创建一个pod,但pod的status持续:ContainerCreating
于是执行describe命令查看具体信息:
这个问题困扰我很久了,查了很多资料。
单看报错信息,open /run/flannel/subnet.env: no such file or directory
,肯定是这里出了问题。
于是我在run目录下查看是否有fannel文件夹以及subnet.env文件,结果没有。
所以我按照GitHub上建议的解决方案:
这帮很多人解决了问题,但是对我却没用(你们可以尝试)。
最后,我是通过这种方式解决的:
kubeadm init --pod-network-cidr=10.244.0.0/16
kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml
systemctl stop kubelet
systemctl stop docker
iptables --flush
iptables -tnat --flush
systemctl start kubelet
systemctl start docker
此时再去创建pod成功:
这时我去查看run/flannel路径下,发现subnet.env存在。
REFERENCE:
Flannel (NetworkPlugin cni) error: /run/flannel/subnet.env: no such file or directory #70202