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中不需要也能连通容器。