docker +flanner+ CenterOS:7.1不同宿主机间网络无法通信问题

在两个虚拟机上docker_master:10.1.110.74 ,容器内ip地址为:172.17.49.3docker_minion01:10.1.110.63 容器内ip地址为:172.17.63.3容器间通过flannel进行强制修改容器的路由在docker_master容器中的路由策略、ip信息、防火墙策略:[root@4aad56515f93 /]# route -nKernel IP rou...显示全部

在两个虚拟机上
docker_master:10.1.110.74 ,容器内ip地址为:172.17.49.3
docker_minion01:10.1.110.63 容器内ip地址为:172.17.63.3
容器间通过flannel进行强制修改容器的路由
在docker_master容器中的路由策略、ip信息、防火墙策略:

[root@4aad56515f93 /]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.17.49.1 0.0.0.0 UG 0 0 0 eth0
172.17.49.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
[root@4aad56515f93 /]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
   valid_lft forever preferred_lft forever
inet6 ::1/128 scope host 
   valid_lft forever preferred_lft forever

29: eth0@if30: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP

link/ether 02:42:ac:11:31:03 brd ff:ff:ff:ff:ff:ff
inet 172.17.49.3/24 scope global eth0
   valid_lft forever preferred_lft forever
inet6 fe80::42:acff:fe11:3103/64 scope link 
   valid_lft forever preferred_lft forever

防火墙策略:
[root@4aad56515f93 /]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
   valid_lft forever preferred_lft forever
inet6 ::1/128 scope host 
   valid_lft forever preferred_lft forever

29: eth0@if30: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP

link/ether 02:42:ac:11:31:03 brd ff:ff:ff:ff:ff:ff
inet 172.17.49.3/24 scope global eth0
   valid_lft forever preferred_lft forever
inet6 fe80::42:acff:fe11:3103/64 scope link 
   valid_lft forever preferred_lft forever
   

ping docker_minion01中的容器的网关,可以ping通
[root@4aad56515f93 /]# ping 172.17.63.1
PING 172.17.63.1 (172.17.63.1) 56(84) bytes of data.
64 bytes from 172.17.63.1: icmp_seq=1 ttl=61 time=0.599 ms
ping docker_minion01中的容器,无法ping通
[root@4aad56515f93 /]# ping 172.17.63.3
PING 172.17.63.3 (172.17.63.3) 56(84) bytes of data.
docker_master 宿主机的网络信息如下:
docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

    inet 172.17.49.1  netmask 255.255.255.0  broadcast 0.0.0.0
    inet6 fe80::42:f6ff:fe79:7613  prefixlen 64  scopeid 0x20<link>
    ether 02:42:f6:79:76:13  txqueuelen 0  (Ethernet)
    RX packets 19097  bytes 137724726 (131.3 MiB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 26525  bytes 156608053 (149.3 MiB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

    inet 10.1.110.74  netmask 255.255.255.0  broadcast 10.1.110.255
    inet6 fe80::250:56ff:fea5:14d0  prefixlen 64  scopeid 0x20<link>
    ether 00:50:56:a5:14:d0  txqueuelen 1000  (Ethernet)
    RX packets 17191337  bytes 1953653535 (1.8 GiB)
    RX errors 0  dropped 35  overruns 0  frame 0
    TX packets 16223691  bytes 1718727411 (1.6 GiB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

flannel0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1472

    inet 172.17.49.0  netmask 255.255.0.0  destination 172.17.49.0
    unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 500  (UNSPEC)
    RX packets 25170  bytes 2114280 (2.0 MiB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 129  bytes 10836 (10.5 KiB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
收起
参与8

查看其它 2 个回答杨博的回答

杨博杨博课题专家组IT顾问某科技公司

我觉得应该还是在配置上有不合适的地方。你可以再多读几遍flannel的配置看看。

互联网服务 · 2017-06-20
浏览4639
  • flannel配置的方法我是参照http://dockone.io/article/618上面做的,具体配置如下: 1、下载flannel的安装包:下载地址:https://github.com/coreos/flannel/releases/download/v0.5.5/flannel-0.5.5-linux-amd64.tar.gz 2、在主机上解压安装包 3、拷贝flanneld到 /usr/bin下,主要是便于执行,加入环境变量中也行 cp flanneld /usr/bin 4、增加 /usr/lib/systemd/system/flanneld.service [Unit] Description=flannel [Service] ExecStart=/usr/bin/flanneld \ -etcd-endpoints=http://docker-etcdtest.sinosafe.com.cn:2379 -etcd-prefix=/flannel/network [Install] WantedBy=multi-user.target 5、配置etcd [root@docker_master software]# etcdctl get /flannel/network/config {&quot;Network&quot;:&quot;172.17.0.0/16&quot;} 6、配置以及重启docker sudo mk-docker-opts.sh -is source /run/flannel/subnet.env sudo rm /var/run/docker.pid sudo ifconfig docker0 ${FLANNEL_SUBNET}  重启docker sytemctl restart docker
    2017-06-20

回答者

杨博
IT顾问某科技公司
擅长领域: 数据库服务器人工智能

杨博 最近回答过的问题

回答状态

  • 发布时间:2017-06-20
  • 关注会员:3 人
  • 回答浏览:4639
  • X社区推广