docker网络插件之weave

docker网络插件
一、weave网络插件
1、基础工作准备
1.1 三台centos7.9,修改主机名

192.168.174.15 weave1
192.168.174.16 weave2
192.168.174.17 weave3

1.2 关闭防火墙,关闭selinux,关闭swap,清空iptables规则

systemctl stop firewalld ; systemctl disable firewalld
sed -i '/^SELINUX=/s/^/#/p' /etc/selinux/config
echo  "SELINUX=disabled" >> /etc/selinux/config
setenforce 0  
sed -i '/swap/s/^/#/' /etc/fstab
swapoff  -a
iptables -F

1.3 修改内核参数允许ipv4开启转发

vim /etc/sysctl.conf
net.ipv4.ip_forward = 1

sysctl -p生效

2、安装docker并调整相关信息

yum install -y epel-release ipvsadm ipset vim unzip   && \
       yum install -y wget net-tools psmisc lsyncd yum-utils device-mapper-persistent-data lvm2 && \
       yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo && \
       yum install -y  docker-ce-19.03.9-3.el7.x86_64 docker-ce-cli-19.03.9-3.el7.x86_64
       
mkdir -p /etc/docker 
touch "/etc/docker/daemon.json"
cat > /etc/docker/daemon.json << EOF
{
    "exec-opts": ["native.cgroupdriver=systemd"],
    "registry-mirrors": [
        "https://1nj0zren.mirror.aliyuncs.com",
        "https://docker.mirrors.ustc.edu.cn",
        "http://f1361db2.m.daocloud.io",
        "https://registry.docker-cn.com"
    ]
}
EOF
systemctl daemon-reload
systemctl start docker
systemctl enable docker

3、weave安装
官网地址:https://www.weave.works/

安装手册:https://www.weave.works/docs/net/latest/install/installing-weave/

3.1 下载方式

wget -O /usr/local/bin/weave https://raw.githubusercontent.com/zettio/weave/master/weave
curl -L git.io/weave -o /usr/local/bin/weave
chmod a+x /usr/local/bin/weave

3.2 weave初始化
使用命令weave launch初始化,两种方法在weave2和3上与weave1上产生联系,第一种weave launch weave1_IP,第二种weave connect IP

3.2.1 初始化weave1

weave launch

3.2.2 初始化weave2

weave launch 192.168.174.15

使用weave status peers 查看网络状态

在这里插入图片描述

3.2.3 初始化weave3

weave launch
weave connect 192.168.174.16    # 此处的IP选择weave1和2都可以,选一个就行了

使用weave status peers 查看网络状态

在这里插入图片描述

查看docker 网络信息

docker network ls


查看网桥信息

brctl show

在这里插入图片描述
4、测试验证
4.1 测试验证IP
4.1.1 三台机器上各运行一个测试容器

[root@weave1 ~]# docker run -itd --name test1 busybox
[root@weave2 ~]# docker run -itd --name test2 busybox
[root@weave3 ~]# docker run -itd --name test3 busybox

4.1.2 给测试容器加上weave网络,对应返回weave的IP,每个都需要加

[root@weave1 ~]# weave attach test1
10.32.0.1

4.1.3 进入容器查看IP验证访问测试,每个上都做,不做过多阐述

docker exec -it test1 /bin/sh
ifconfig
ping 10.44.0.0

在这里插入图片描述

 在这里插入图片描述

 4.2 测试使用容器名访问
4.2.1 删除刚创建的测试容器

[root@weave1 ~]# docker stop test1;docker rm test1

4.2.2 修改weave配置(三台服务器都做)

[root@weave1 ~]# eval $(weave env)

4.2.3 三台机器上各运行一个测试容器

[root@weave1 ~]# docker run -itd --name test1 busybox
[root@weave2 ~]# docker run -itd --name test2 busybox
[root@weave3 ~]# docker run -itd --name test3 busybox

4.2.4 给测试容器加上weave网络,对应返回weave的IP,每个都需要加

[root@weave1 ~]# weave attach test1
10.32.0.1

4.2.5 进入容器查看IP验证访问测试,每个上都做,不做过多阐述

docker exec -it test1 /bin/sh
ifconfig
ping 10.44.0.0
ping test2

在这里插入图片描述
5、如何指定一个网段
weave默认分配地址范围

weave default subnet:10.32.0.0/12

5.1 删除刚创建的测试容器

[root@weave1 ~]# docker stop test1;docker rm test1

5.2 weave重置

[root@weave1 ~]# eval $(weave env --restore)
[root@weave1 ~]# weave reset --force

5.3 创建指定子网(三台机器子网一样)

weave launch --ipalloc-range 10.20.0.0/16 
weave launch --ipalloc-range 10.20.0.0/16 192.168.174.15

5.4 修改weave配置(三台服务器都做)

[root@weave1 ~]# eval $(weave env)

5.5 给测试容器加上weave网络,对应返回weave的IP,每个都需要加

[root@weave3 ~]# weave attach test3
10.20.64.0

5.6 进入容器查看IP验证访问测试,每个上都做,不做过多阐述
 

docker exec -it test1 /bin/sh
ifconfig
ping test3
ping test2

 6、如何给网络添加验证信息
6.1 删除刚刚创建的测试容器

[root@weave1 ~]# docker stop test1;docker rm test1

6.2 weave重置

[root@weave1 ~]# eval $(weave env --restore)
[root@weave1 ~]# weave reset --force

6.3 创建weave网络指定密码

weave launch -password 123456    # weave1
weave launch -password 123456 192.168.174.15    # weave2和3

后续验证同上

7、weave网络与宿主机通信的

weave expose 

8、常用命令总结

weave launch	# 初始化weave1网络
# 将其他服务器加入weave1的网络中方法有两个
# 1 weave launch weave1_IP
# 2 weave launch  ;  weave connect weave1_IP
weave status peers	# 查看weave网络状态
docker network ls	# 列出所有的网络
brctl show	# 查看网桥信息
weave attach test1	# 给容器添加weave网络
eval $(weave env)	# 将后续的 docker 命令发给 weave proxy 处理
eval $(weave env --restore)		# 恢复之前的
weave reset --force	# 重置weave网络
# 指定IP段初始化网络
weave launch --ipalloc-range 10.20.0.0/16 	# weave1
weave launch --ipalloc-range 10.20.0.0/16 192.168.174.15	# weave2和3
# 指定密码初始化网络
weave launch -password 123456	# weave1
weave launch -password 123456 192.168.174.15	# weave2和3
weave expose 	# 宿主机和weave网络可以通信

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值