zoukankan      html  css  js  c++  java
  • 使用openvswitch实现跨主机docker容器互联

    安装openvswitch的步骤请参考上一篇文章:http://www.cnblogs.com/xkops/p/5568167.html

    环境:
    192.168.3.201 node1
    192.168.3.202 node2


    1.在node1上创建网桥obr0,然后增加端口gre0到obr0。
    ovs-vsctl add-br obr0
    ovs-vsctl add-port obr0 gre0
    ovs-vsctl set interface gre0 type=gre options:remote_ip=192.168.3.202
    ovs-vsctl show

    brctl addbr br0
    ifconfig br0 192.168.1.1 netmask 255.255.255.0
    brctl addif br0 obr0
    brctl show


    2.在node2上创建网桥obr0,然后增加端口gre0到obr0。
    ovs-vsctl add-br obr0
    ovs-vsctl add-port obr0 gre0
    ovs-vsctl set interface gre0 type=gre options:remote_ip=192.168.3.201
    ovs-vsctl show

    brctl addbr br0
    ifconfig br0 192.168.2.1 netmask 255.255.255.0
    brctl addif br0 obr0
    brctl show

    3.在node1上启动容器,并查看ip地址。
    docker run -it --name cct1 centos /bin/bash --使用Ctrl+p+q可以退出容器,但容器却能在后台运行。
    ip: 192.168.1.2

    4.在node2上启动容器,并查看ip地址。
    docker run -it --name cct2 centos /bin/bash --使用Ctrl+p+q可以退出容器,但容器却能在后台运行。
    ip: 192.168.2.2

    5.在node1上添加路由表,使node1能到达node2定义的192.168.2.0/24网段。
    ip route add 192.168.2.0/24 via 192.168.3.202 dev eth0

    6.在node1上连接到容器,并测试与node2上容器的连通性。
    docker attach centos
    ping 192.168.2.2

    7.在node2上添加路由表,使node2能到达node1定义的192.168.1.0/24网段。
    ip route add 192.168.1.0/24 via 192.168.3.201 dev eth0

    到此,如果没有出现任何问题的话,最后node1和node2上的两个容器之间能够互相ping通。

  • 相关阅读:
    NSWindow,一些有的沒的
    IT单身男士必看【找女友单身程序员】
    Base 64 Encoding 编码
    如何成为一名优秀的C程序员
    iOS学习笔记—ObjectiveC 委托、非正式协议、正式协议
    程序员学习能力提升三要素
    工程师如何不被PM欺负
    最常被程序员们谎称读过的计算机书籍
    一些重要的算法
    asp调用.Net 托管代码
  • 原文地址:https://www.cnblogs.com/xkops/p/5568926.html
Copyright © 2011-2022 走看看