Could not find valid interface matching eth0: error looking up interface eth0: route ip+net: no such
Posted itLaity
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Could not find valid interface matching eth0: error looking up interface eth0: route ip+net: no such相关的知识,希望对你有一定的参考价值。
生命无罪,健康万岁,我是laity。
我曾七次鄙视自己的灵魂:
第一次,当它本可进取时,却故作谦卑;
第二次,当它在空虚时,用爱欲来填充;
第三次,在困难和容易之间,它选择了容易;
第四次,它犯了错,却借由别人也会犯错来宽慰自己;
第五次,它自由软弱,却把它认为是生命的坚韧;
第六次,当它鄙夷一张丑恶的嘴脸时,却不知那正是自己面具中的一副;
第七次,它侧身于生活的污泥中,虽不甘心,却又畏首畏尾。
异常
> [root@node1 k8s]# kubectl get pods -n kube-system
> NAME READY STATUS RESTARTS AGE
> coredns-7f9c544f75-6lnjw 0/1 Pending 0 35m
> coredns-7f9c544f75-nng7r 0/1 Pending 0 35m
> etcd-node1 1/1 Running 0 35m
> kube-apiserver-node1 1/1 Running 0 35m
> kube-controller-manager-node1 1/1 Running 0 35m
> kube-flannel-ds-amd64-tqtjt 0/1 Error 6 6m9s
> kube-proxy-4qgpx 1/1 Running 0 35m
> kube-scheduler-node1 1/1 Running 0 35m
>
>
> Pending: `创建 pod 时,它从Pending阶段开始。`
>
> Running: `一旦 pod 被调度并且容器已经启动,pod 就会进入Running阶段。`
>
> Error: `发送错误`
问题排查&解决
使用 kubectl get pod --all-namespaces 查询所有pod运行情况
使用 kubectl logs kube-flannel-ds-amd64-tqtjt -n kube-system 查询日志信息
I1204 22:05:27.294230 1 main.go:210] Could not find valid interface matching eth0: error looking up interface eth0: route ip+net: no such network interface
E1204 22:05:27.294353 1 main.go:234] Failed to find interface to use that matches the interfaces and/or regexes provided
go语言的主文件第210行
找不到与eth0匹配的有效接口:查找接口eth0时出错:路由ip+net:没有这样的网络接口
go语言的主文件第234行
找不到与提供的接口和/或正则表达式匹配的要使用的接口
查看当前网卡信息
cat /proc/net/dev
或者
ifconfig -a
异常原因
因为是flannel容器报错,那就找到创建flannel网络时使用的yaml配置,发现如下段的影响:
containers:
- name: kube-flannel
image: registry.cn-shanghai.aliyuncs.com/gcr-k8s/flannel:v0.10.0-amd64
command:
- /opt/bin/flanneld
args:
- --ip-masq
- --kube-subnet-mgr
- --iface=ens33 # 这个参数决定我们使用的显卡
上面只有名为ens33的网卡名才支持。因为我新节点网卡名为eth0,所以怎么才能兼容各种网卡名呢?上面显示这个是由命令flanneld
控制的,那就进入正常的kube-flannel-ds容器,查看命令帮助。
-iface value
和-iface-regex value
可以指定网卡。为了兼容2种网卡yaml配置中这段我修改成了如下配置:
containers:
- name: kube-flannel
image: registry.cn-shanghai.aliyuncs.com/gcr-k8s/flannel:v0.10.0-amd64
command:
- /opt/bin/flanneld
args:
- --ip-masq
- --kube-subnet-mgr
- --iface=eth0
- --iface=ens33
#- --iface-regex=eth*|ens*
如果有多网卡网络,flannel最好是指定通信网卡,越精确越好,否则不指定它则使用默认路由的网卡通信。
修改后,删除原来的pod 重新create
完美解决
[root@node1 k8s]# kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
coredns-7f9c544f75-6lnjw 0/1 Pending 0 80m
coredns-7f9c544f75-nng7r 0/1 Pending 0 80m
etcd-node1 1/1 Running 0 80m
kube-apiserver-node1 1/1 Running 0 80m
kube-controller-manager-node1 1/1 Running 0 80m
kube-flannel-ds-amd64-g522f 1/1 Running 0 112s
kube-proxy-4qgpx 1/1 Running 0 80m
kube-scheduler-node1 1/1 Running 0 80m
个人经验仅供参考~
以上是关于Could not find valid interface matching eth0: error looking up interface eth0: route ip+net: no such的主要内容,如果未能解决你的问题,请参考以下文章
hadoop distcp 报错: Could not find any valid local directory for s3ablock-xxxx
hadoop distcp 报错: Could not find any valid local directory for s3ablock-xxxx
hadoop distcp 报错: Could not find any valid local directory for s3ablock-xxxx
Could not connect to SMTP host,PKIX path building failed,unable to find valid certification path...
Could not find valid interface matching eth0: error looking up interface eth0: route ip+net: no such
Could not find valid interface matching eth0: error looking up interface eth0: route ip+net: no such