docker部署跨主机集群(weave集群方式)

主节点:Ubuntu14.04 IP地址 47.89.52.176 内核版本:3.13.0-86-generic
从节点:Ubuntu14.04 IP地址 47.89.44.51 内核版本:3.13.0-86-gener
首先默认安装好docker运行环境(本次使用的版本是docker 1.12)

  • 安装weave(在主从节点都安装好weave)。
1
sudo wget -O /usr/local/bin/weave \ https://github.com/zettio/weave/releases/download/latest_release/weave #很慢也可以去找阿里云的docker服务 sudo chmod a+x /usr/local/bin/weave #给weave赋予运行权限
  • 测试weave安装是否成功
1
weave version

测试weave是否成功

  • 解决IP冲突问题
    由于阿里云内网IP是10网段的,但是weave默认IP也是10网段的,这样就会出现IP冲突的情况,就不会launch起来。所以必须更改默认IP段。根据官网给的方法,添加
    1
    --ipalloc-range 182.16.0.0/12

这样就不会出现IP冲突了

  • 主服务lanuch 启动主机

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    weave launch --ipalloc-range 182.16.0.0/12
    ``` bash
    接下来会下载weave的一系列镜像,如果不是国外的服务器,请耐心等待!
    - 启动从节点
    注意这里要加入你主机的IP(47.89.52.176或者这个服务器的内网IP,还有必须加上上一步的--Palloc-range参数)

    ``` bash
    weave launch 10.24.183.238 --ipalloc-range 182.16.0.0/12
    ``` bash
    - 运行容器进行互相ping测试,在主节点上运行centos容器

    ``` bash
    weave run 182.16.0.3/12 -it --name node0 centos /bin/bash
  • 在从节点上运行centos容器

1
weave run 182.16.0.4/12 -it --name node1 centos /bin/bash
  • 测试运行容器并且跳入容器测试互相ping是否互通
  • 运行并且跳入node0
  • 运行并且跳入node1
  • 查看各自的hostname

  • 测试互相ping是否互通

  • node1ping node0

  • node0 ping node1

感谢老板!