温馨提示×

centos overlay配置网络怎么弄

小樊
39
2026-09-09 05:49:44
栏目: 智能运维

在 CentOS 上配置 overlay 网络,通常有两种常见场景:

  1. Docker Overlay 网络(容器跨主机通信)
  2. CentOS 系统层 overlay 文件系统 / 网络(较少见,多用于存储或自定义网络)

下面我重点讲 Docker overlay 网络(最常见),如果你指的是别的场景,可以再说。


一、Docker Overlay 网络(CentOS 7/8)

Overlay 网络依赖 Docker Swarm 或 外部 KV 存储(etcd/consul/zookeeper)。

方式 1:使用 Docker Swarm(推荐)

1. 初始化 Swarm(管理节点)

docker swarm init

输出中会包含 worker 加入命令,例如:

docker swarm join --token xxx <manager-ip>:2377

2. 在其他 CentOS 节点加入 Swarm

docker swarm join --token xxx <manager-ip>:2377

3. 创建 overlay 网络

docker network create \
  --driver overlay \
  --subnet 10.10.0.0/24 \
  my-overlay

4. 启动容器并连接到 overlay

docker service create \
  --name web \
  --network my-overlay \
  nginx

✅ 跨主机容器可直接通过 服务名 通信


方式 2:使用 Consul(非 Swarm)

1. 启动 Consul

docker run -d \
  -p 8500:8500 \
  --name consul \
  consul

2. 修改 Docker 配置

/etc/docker/daemon.json

{
  "cluster-store": "consul://<consul-ip>:8500",
  "cluster-advertise": "<node-ip>:2375"
}

重启 Docker:

systemctl restart docker

3. 创建 overlay 网络

docker network create \
  -d overlay \
  my-overlay

二、防火墙 & 端口要求(CentOS 必看)

Overlay 网络需要以下端口:

firewall-cmd --add-port=2377/tcp --permanent
firewall-cmd --add-port=7946/tcp --permanent
firewall-cmd --add-port=7946/udp --permanent
firewall-cmd --add-port=4789/udp --permanent
firewall-cmd --reload

三、验证

docker network ls
docker network inspect my-overlay

四、如果你指的是「系统层 overlay 网络」

如果是:

  • VXLAN overlay
  • Open vSwitch
  • Kubernetes flannel/calico

请告诉我: ✅ CentOS 版本
✅ 使用场景(Docker / K8s / 裸机网络)

我可以直接给你完整配置示例。

0 踩