flanneld 启动不了


Dec 17 07:09:45 localhost systemd: Starting Flanneld overlay address etcd agent...
Dec 17 07:09:45 localhost flanneld: I1217 07:09:45.709127 49723 main.go:275] Installing signal handlers
Dec 17 07:09:45 localhost flanneld: I1217 07:09:45.710420 49723 main.go:130] Determining IP address of default interface
Dec 17 07:09:45 localhost flanneld: E1217 07:09:45.710722 49723 main.go:169] Failed to get default interface: Unable to find default route
已邀请:

yingz - 80后it男。。。

赞同来自:


看输出的错误信息是没有一个可以联网的网卡。
启动flanneld的时候试试指定网卡可以吗?当然首先要确认网卡工作正常。
比如

<pre>flanneld -iface="eth0"</pre>

yingz - 80后it男。。。

赞同来自:


首先在某个服务器上启动etcd,这里为了简单,etcd只有一个节点,没有设置集群。命令如下
<pre>
etcd --listen-client-urls http://0.0.0.0:4001 --advertise-client-urls http://127.0.0.1:4001 &>/dev/null &
sleep 1
curl http://10.1.1.5:4001/version #10.1.1.5 是etcd服务器的ip
etcdctl set /coreos.com/network/config '{"Network":"10.4.0.0/16"}' #设置flanneld的配置项
</pre>
在需要加入flannel覆盖网络的服务器上启动flannel
<pre>
flanneld -iface="eth0" -etcd-endpoints="http://10.1.1.5:4001%26amp%3Ba ... ot%3B &>/dev/null &
</pre>
修改docker0网桥的设置
<pre>
service docker stop
. "/run/flannel/subnet.env" #导入下面用到的flanneld的环境变量

ifconfig docker0 ${FLANNEL_SUBNET}
docker daemon --bip=${FLANNEL_SUBNET} --mtu=${FLANNEL_MTU} &> /dev/null &
</pre>

请参考 https://coreos.com/flannel/doc ... .html

FanLin - Docker&CoreOS爱好者

赞同来自:


错误信息里面已经包含了代码位置了,『https://github.com/coreos/flan ... in.go』第130行前面的逻辑:

<pre>
117 if len(opts.iface) > 0 {
... ...
129 } else {
130 log.Info("Determining IP address of default interface")
... ...
</pre>

也就是说启动参数如果没有『-iface』就去尝试自动寻找系统的默认网卡,接下来的错误就是寻找默认网卡失败了,可能是默认网卡的命名或者其他原因导致的。

解决方法就是加上『-iface』参数,比如yingz提到的『-iface="eth0"』。

要回复问题请先登录注册