我的小兵上有以下kubelet错误:
Jul 02 16:20:42 sc-minion-1 kubelet[46142]: E0702 16:20:42.899902 46142 manager.go:309] NetworkPlugin cni failed on the status hook for pod 'nginx' - invalid CIDR address: Device "eth0" does not exist.
我所有节点上的10-calico.conf看起来像这样:
{
"name": "calico-k8s-network",
"type": "calico",
"etcd_authority": "172.1.1.4:6666",
"log_level": "info",
"ipam": {
"type": "calico-ipam"
}
}
我还在所有节点上运行了calicoctl pool add 192.168.0.0/16 --ipip --nat-outgoing
。
答案 0 :(得分:1)
您从kubelet日志中显示的错误很常见且通常是良性的,只要在同一个pod的日志中不重复。 Kubernetes仓库中的此问题包含更多信息:https://github.com/kubernetes/kubernetes/issues/25281
您的Calico配置对我来说是正确的。但是你提到你在Azure上运行。目前,由于底层网络结构的限制,Calico ipip
模式无法在Azure上运行(请参阅https://github.com/projectcalico/calico-containers/issues/949)
你可能会使用像运河项目 - 法兰绒vxlan这样的东西,将Calico放在首位来实施政策。或者等到azure原生支持Calico,如上面的问题所述。