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

    关于weave的原理不做细致的说明,如果想了解weave可以登陆官网:https://www.weave.works/

    In this post,使用阿里云3台ECS服务器进行weave搭建,并测试搭建weave后,跨主机docker容器的连通性。

    场景:
    10.162.204.252 node1
    10.171.31.181 node2
    10.171.19.139 node3

    一、在所有需要跨主机互通的docker宿主机安装weave。
    1.在node1上安装weave,并启动weave。
    wget -O /usr/bin/weave https://raw.githubusercontent.com/zettio/weave/master/weave
    chmod +x /usr/bin/weave
    weave launch

    *注释:在阿里云ECS执行weave launch启动会报错,请在启动的时候加--ipalloc-range 172.16.0.0/12,由于默认ip地址为10段。

    2.在node2上安装weave,并启动weave,并连接node1,如果有多个,可以在连接的时候指定多个。
    wget -O /usr/bin/weave https://raw.githubusercontent.com/zettio/weave/master/weave
    chmod +x /usr/bin/weave
    weave launch 10.162.204.252 --ipalloc-range 172.16.0.0/12

    3.在node3上安装weave,并启动weave,并连接node1,如果有多个,可以在连接的时候指定多个。
    wget -O /usr/bin/weave https://raw.githubusercontent.com/zettio/weave/master/weave
    chmod +x /usr/bin/weave
    weave launch 10.162.204.252 10.171.31.181 --ipalloc-range 172.16.0.0/12


    二、在所有需要跨主机互通的docker宿主机启动docker测试容器。
    1.在node1上,启动一个测试容器,centos或者ubuntu都可以。
    weave run 192.168.4.1/24 -it --name node1 ubuntu /bin/bash

    2.在node2上,启动一个测试容器,centos或者ubuntu都可以。
    weave run 192.168.4.2/24 -it --name node2 centos /bin/bash

    3.在node1上,启动一个测试容器,centos或者ubuntu都可以。
    weave run 192.168.4.3/24 -it --name node3 centos /bin/bash

    三、测试容器的互通性。
    1.登陆node1上启动的测试容器,测试与node2和node3上docker容器的连通性。


    2.登陆node2上启动的测试容器,测试与node1和node3上docker容器的连通性。

    3.登陆node3上启动的测试容器,测试与node1和node2上docker容器的连通性。

    到此,如果没有出现任何问题,跨主机的docker容器已经能够互联。

  • 相关阅读:
    Linux进程间通信—消息队列
    Linux进程间通信—信号
    Linux进程间通信—信号量
    Linux进程间通信—管道
    Linux进程间通信:管道,信号量,消息队列,信号,共享内存,套接字
    安全文件传输系统
    嵌入式mp3播放器
    用C语言实现面向对象的开发
    Haskell 差点儿无痛苦上手指南
    Oracle EBS 入门
  • 原文地址:https://www.cnblogs.com/xkops/p/5569876.html
Copyright © 2011-2022 走看看