WEAVE网络介绍与docker容器跨主机互联

准备两台主机:10.10.1.221,  10.10.1.222  。并且关掉防火墙和selinux。

Weave安装:

  下载weave安装脚本,按照Installing Weave Net

  下载地址:https://cloud.189.cn/web/share?code=IvY7vyUFvQJr

  curl -L git.io/weave -o /usr/local/bin/weave

 chmod a+x /usr/local/bin/weave

下载weave镜像

  Weave version

 

演示一、在221上启动weave创建一个weave网络

Weave launch

在222上也启动weave并连接221的weave网络,有两种方法

(1)Weave launch 10.10.1.221

(2)weave launch;  weave connect 10.10.1.221

使用weave status peers查看已经连接(established)

 

此时docker的网络会多出一个叫weave的网络

 

并且系统中会多出一个叫weave的网桥

 

演示二、给容器使用创建的weave网络:

(1)     在221、222上各启动一个容器:

docker run -it -d --name test1 centos:centos8              221主机上

docker run -it -d --name test2 centos:centos8              222主机上

weave attach test1       221主机上

weave attach test2       222主机上

docker exec -it test1 /bin/bash 进入容器后查看Ip

 

此时去ping test2中weave网络对应的ip可以连通:

 

去ping  test2的容器名是ping不通的

ping: test2: Name or service not known

如果需要在容器内ping另一个容器名,需要在创建容器前执行eval $(weave env)命令。

 

演示三、    创建一个指定cidr的网络

weave launch --ipalloc-range 10.20.0.0/24      主机1上

weave launch --ipalloc-range 10.20.0.0/24 10.10.1.221         主机2上

其余与(1)中一样,查看容器中的weave网络

 

Ping一下容器名,可以ping通

 

 

演示四、    给weave网络加验证密码

Weave launch -password yanzheng         主机1上

weave launch -password yanzhen 10.10.1.221        主机2上,虽然密码不对,命令会成功,但是无法连接到主机1的网络

 

停掉主机2上的weave(weave stop)后,再使用正确的密码加入

weave launch -password yanzheng 10.10.1.221

 

使主机可以连接容器

Weave expose 在2.8.1中不需要也能连通容器。

posted @ 2021-12-31 00:50  小阿里  阅读(499)  评论(0)    收藏  举报