pod启动时报错:failed to set bridge addr: "cni0" already has an IP address different from 10.244.1.1/24

今天创建pod的时候,一直不running, describe pod 后看到报错:Failed create pod sandbox: rpc error: code = Unknown desc = failed to set up sandbox container "bb8a1493e7c0e33b9b281808fcc9fb37a150e95e918f170db715d6b32ea8c44d" network for pod "nvidia-device-plugin-daemonset-msbl7": NetworkPlugin cni failed to set up pod "nvidia-device-plugin-daemonset-msbl7_kube-system" network: failed to set bridge addr: "cni0" already has an IP address different from 10.244.1.1/24

 

 

 

 

 

解决办法:


 

 

发现cni0的ip不在flannel_subnet下的ip段内,这里的冲突导致设置pod网络的时候,错误。我们删掉这个cni0, 然后flanneld自动重新创建一个就行了

  • cni0,它是由flanneld创建的一个虚拟网桥叫cni0,供pod本地通信使用.flanneld为每个pod创建一对veth虚拟设备,一端放在容器接口上,一端放在cni0桥上.
  • cni0的地址是由 /run/flannel/subnet.env 的 FLANNEL_SUBNET 参数决定的。在启动flannel的同时会产生一个通过flannel生成的配置文件subnet.env

 

 

 

然后我们看下pod是不是可以起来了:

 

 

 

 

 

 

 
posted @ 2022-11-25 14:53  年轻人——001  阅读(753)  评论(0编辑  收藏  举报