温馨提示×

CentOS overlay网络配置有哪些要点

小樊
33
2025-11-20 02:33:02
栏目: 智能运维

CentOS 上 Overlay 网络配置要点

一 概念与适用场景

  • Overlay 网络用于在多台 Docker 主机上为容器提供统一的虚拟二层网络,底层通常基于 VXLAN 封装实现跨主机通信。常见用途包括多主机容器互联、微服务拆分与隔离等。
  • Docker 环境中,Overlay 既指跨主机容器网络,也指镜像层的 Overlay/overlay2 存储驱动;两者职责不同,勿混淆。生产环境镜像层一般推荐使用 overlay2

二 前置条件与基础配置

  • 系统要求:CentOS 7+,已安装并启动 Docker 服务(建议设置开机自启)。
  • 内核与模块:确认内核支持 OverlayFS(可执行 modprobe overlay 检查/加载)。
  • 防火墙与转发:开放节点间通信所需端口(如 2377/TCP 用于 Swarm 控制、7946/TCP+UDP 用于节点发现、4789/UDP 用于 VXLAN),并启用内核转发 net.ipv4.ip_forward=1
  • 管理平面:多主机协同建议使用 Docker Swarm(简单可靠);也可采用外部键值存储(如 Consul/etcd)进行集群发现(配置 cluster-store/cluster-advertise)。

三 Docker Swarm 模式快速配置

  • 初始化 Swarm(管理节点):docker swarm init --advertise-addr <管理节点IP>
  • 加入工作节点:docker swarm join --token <TOKEN> <管理节点IP>:2377
  • 创建可手动接入的 Overlay 网络:docker network create --driver overlay --attachable --subnet 10.0.0.0/24 --gateway 10.0.0.1 my-overlay
  • 将容器接入网络:docker run -d --name app1 --network my-overlay nginx
  • 验证:docker network inspect my-overlaydocker node lsdocker ps --filter network=my-overlay

四 非 Swarm 场景与 Compose 使用

  • 使用外部键值存储(如 Consul)时,各节点 /etc/docker/daemon.json 需配置:
    • "cluster-store": "consul://<consul_ip>:<consul_port>"
    • "cluster-advertise": "<本机IP>:<docker_port>"
    • 可选地址池:"default-address-pools": [{"base":"10.0.0.0/16","size":24}]
    • 重启 Docker:systemctl restart docker
  • 创建 Overlay 网络:docker network create --driver overlay --attachable my-overlay
  • Docker Compose(版本 3.8+)示例:
    • 网络声明为外部:networks.my-overlay-network.external: true
    • 服务加入同一网络,多主机部署时各节点均执行 docker-compose up -d

五 验证与排错要点

  • 连通性验证:在容器内 ping <对端容器IP>docker exec -it <容器名> sh 后测试业务端口连通。
  • 网络详情:docker network inspect <overlay网络名>,核对 Subnet/GatewayContainersPeers(跨主机时可见远端节点)。
  • 控制平面与发现:docker node ls(Swarm)、docker info 查看集群/存储配置是否生效。
  • 常见故障排查:
    • 节点无法互通:核对 防火墙/安全组2377/7946/4789 的规则与 VXLAN 是否放通。
    • 网络不可达:确认各节点使用同一 Overlay 网络名称 且已 attachable(非 Swarm 手动接入场景)。
    • 地址冲突:为不同业务规划不重叠 –subnet,或使用 default-address-pools 统一规划。
    • 性能与开销:Overlay 存在封装与转发开销,跨机房/高吞吐场景需评估 underlay 网络优化 或改用其他网络方案。

0