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网络可以通信