记录测试容器通过flannel通信的一个问题

2019-03-27  本文已影响0人  ljyfree

测试环境

# docker -v
Docker version 1.13.1, build b2f74b2/1.13.1
# etcd -v
2019-03-26 22:46:28.933879 W | pkg/flags: flag "-v" is no longer supported - ignoring.
2019-03-26 22:46:28.934207 I | etcdmain: etcd Version: 3.3.11
2019-03-26 22:46:28.934221 I | etcdmain: Git SHA: 2cf9e51
2019-03-26 22:46:28.934228 I | etcdmain: Go Version: go1.10.3
2019-03-26 22:46:28.934234 I | etcdmain: Go OS/Arch: linux/amd64
2019-03-26 22:46:28.934242 I | etcdmain: setting maximum number of CPUs to 1, total number of available CPUs is 1
2019-03-26 22:46:28.934256 W | etcdmain: no data-dir provided, using default data-dir ./default.etcd
2019-03-26 22:46:28.938159 C | etcdmain: listen tcp 127.0.0.1:2380: bind: address already in use
# flanneld -version
0.7.1
# etcdctl mk /atomic.io/network/config '{ "Network": "182.48.0.0/16" }'
{ "Network": "182.48.0.0/16" }
# ifconfig flannel0 | grep 182
        inet 182.48.56.0  netmask 255.255.0.0  destination 182.48.56.0
# ifconfig docker0 | grep 182
        inet 182.48.56.1  netmask 255.255.255.0  broadcast 0.0.0.0
# ifconfig | grep 182
        inet 182.48.56.2  netmask 255.255.255.0  broadcast 0.0.0.0
# ifconfig flannel0 | grep 182
        inet 182.48.72.0  netmask 255.255.0.0  destination 182.48.72.0
# ifconfig docker0 | grep 182
        inet 182.48.72.1  netmask 255.255.255.0  broadcast 0.0.0.0
# ifconfig | grep 182
        inet 182.48.72.2  netmask 255.255.255.0  broadcast 0.0.0.0

遇到的问题

一句话概括,就是UDP模式下,通过Flannel跨节点容器IP不通

定位过程

[root@976483e7ea80 /]# ping 182.48.72.2
PING 182.48.72.2 (182.48.72.2) 56(84) bytes of data.
# tcpdump -i docker0 -enn
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on docker0, link-type EN10MB (Ethernet), capture size 262144 bytes
22:54:37.359239 02:42:b6:30:38:02 > 02:42:33:38:70:51, ethertype IPv4 (0x0800), length 98: 182.48.56.2 > 182.48.72.2: ICMP echo request, id 18, seq 90, length 64
22:54:38.359238 02:42:b6:30:38:02 > 02:42:33:38:70:51, ethertype IPv4 (0x0800), length 98: 182.48.56.2 > 182.48.72.2: ICMP echo request, id 18, seq 91, length 64
# tcpdump -i flannel0 -enn
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on flannel0, link-type RAW (Raw IP), capture size 262144 bytes
22:57:05.359275 ip: 182.48.56.0 > 182.48.72.2: ICMP echo request, id 18, seq 238, length 64
22:57:06.359272 ip: 182.48.56.0 > 182.48.72.2: ICMP echo request, id 18, seq 239, length 64

One more thing

[root@976483e7ea80 /]# ping 182.48.72.1
PING 182.48.72.1 (182.48.72.1) 56(84) bytes of data.
64 bytes from 182.48.72.1: icmp_seq=1 ttl=61 time=0.539 ms
64 bytes from 182.48.72.1: icmp_seq=2 ttl=61 time=0.708 ms
# tcpdump -i flannel0 -enn
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on flannel0, link-type RAW (Raw IP), capture size 262144 bytes
23:01:07.454285 ip: 182.48.56.0 > 182.48.72.1: ICMP echo request, id 20, seq 4, length 64
23:01:07.455040 ip: 182.48.72.1 > 182.48.56.0: ICMP echo reply, id 20, seq 4, length 64
上一篇 下一篇

猜你喜欢

热点阅读