docker跨网络-overlay,macvlan

目录

overlay

部署测试环境

环境信息

下载consul镜像

启动consul容器

加入consul服务器

测试

优势:

注意事项:

macvlan

节点开启网卡混杂模式

创建macvlan网络

node1

node2

验证网络

用子接口配置macvlan

分子接口

创建macvlan网络

创建容器指定网络

测试互通

优势:

注意事项:


overlay

Overlay 网络是一种网络虚拟化技术,它将容器网络流量封装在宿主机网络之上,从而允许容器跨主机通信。Overlay 网络使用封装协议(如 VXLAN)来封装原始网络包,使其能够在底层物理网络中传输。

consul

在 Docker 中使用 Overlay 网络时,可以通过 Consul 保存网络状态信息,以实现服务发现和配置管理。Consul 提供了键值存储、健康检查和服务发现等功能,可以帮助管理和维护分布式系统中的服务状态。

部署测试环境

环境信息

主机名 IP地址 操作系统版本
consul 192.168.0.128 ubuntu-20.04.5 LTS
docker-node01 192.168.0.129 ubuntu-20.04.5 LTS
docker-node02 192.168.0.130 ubuntu-20.04.5 LTS

下载consul镜像

docker search consul

docker pull progrium/consul

启动consul容器

docker run -d --restart always -p 8400:8400 -p 8500:8500 -p 8600:53/udp -h node1 progrium/consul -server --bootstrap -ui-dir /ui

下面是对 docker run 命令中各个参数的解释:

  • -d: 在后台运行容器,并打印容器 ID。
  • --restart always: 如果容器退出,总是重新启动容器。
  • -p 8400:8400: 将容器的 8400 端口映射到宿主机的 8400 端口。
  • -p 8500:8500: 将容器的 8500 端口映射到宿主机的 8500 端口。
  • -p 8600:53/udp: 将容器的 8600 端口映射到宿主机的 53 端口,并指定传输协议为 UDP。这是用于 DNS 查询的。
  • -h node1: 设置容器的主机名为 node1
  • progrium/consul: 使用 progrium/consul 镜像来创建容器。
  • -server: 指定当前节点为 Consul 服务器节点。
  • --bootstrap: 启动一个 Consul 服务器节点,并引导整个集群。
  • -ui-dir /ui: 指定 UI 文件所在的目录,用于启动 Consul 的 Web UI。

容器生成以后可以用浏览器访问验证服务是否正常运行,访问http://192.168.0.128:8500

加入consul服务器

三台服务器开启2376端口

ufw allow 2376

在另外两台docker节点修改docker启动文件,consul为安装了consul的那台主机

vim /usr/lib/systemd/system/docker.service

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock 后面加上

--cluster-store=consul://192.168.0.128:8500 --cluster-advertise=ens33:2376

重启docker

systemctl daemon-reload

systemctl restart docker

查看是否加入成功

192.168.0.128:8500/ui在主页的key/value下的docker下nodes看到其他节点的IP

测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值