首页主机资讯CentOS Overlay配置中的IP地址分配策略

CentOS Overlay配置中的IP地址分配策略

时间2025-11-26 13:32:03发布访客分类主机资讯浏览698
导读:CentOS Overlay 配置中的 IP 地址分配策略 一、策略总览 在 CentOS 上,Overlay 网络的 IP 分配通常由**容器运行时(如 Docker)或编排系统(如 Kubernetes)**集中管理,宿主机一般不参与...

CentOS Overlay 配置中的 IP 地址分配策略

一、策略总览

  • 在 CentOS 上,Overlay 网络的 IP 分配通常由**容器运行时(如 Docker)编排系统(如 Kubernetes)**集中管理,宿主机一般不参与容器网段的地址分配。
  • 常见策略包括:
    • 使用 Docker 的默认地址池自动分配(无需为每个容器指定 IP)。
    • 创建网络时显式声明子网与网关,并在需要时给容器分配静态 IP
    • 通过 Docker 的default-address-pools自定义全局地址池,避免与物理网络冲突。
    • 在 Kubernetes 场景中,由 CNI 插件(如 Calico、Flannel、Weave)负责 Pod/节点网段与地址分配。

二、Docker Swarm 场景

  • 全局地址池(推荐):在 /etc/docker/daemon.json 中设置 default-address-pools,统一管理所有用户自定义网络的子网划分,避免与宿主机网段冲突。示例将可分配空间设为 10.0.0.0/16,按 /24 子网切割:
    • 配置示例:
      • {
        • “default-address-pools”: [
          • { “base”: “10.0.0.0/16”, “size”: 24 }
        • ]
      • }
    • 重启 Docker:systemctl restart docker
    • 说明:该策略用于“自动分配”,适合大规模与多网络环境,减少手工子网规划成本。
  • 按网络指定子网与网关:创建网络时显式声明子网与网关,便于与现有网络规划对齐。
    • 命令示例:docker network create --driver overlay --subnet=10.0.1.0/24 --gateway=10.0.1.1 my_overlay
  • 容器静态 IP:在将容器连接到上述网络时,使用 --ip 指定固定地址(需处于可分配子网内且未被占用)。
    • 命令示例:docker run -d --name c1 --network my_overlay --ip 10.0.1.10 nginx
  • 多主机前提:Swarm 模式下需在各节点正确配置 –advertise-addr 与集群存储(如 Consul/etcd),确保 Overlay 控制面与数据面互通。

三、Kubernetes 场景

  • 策略由 CNI 插件定义,常见做法是为节点分配Pod CIDR,由插件在每个节点上为 Pod 分配地址;Service 使用ClusterIP等虚拟地址,由 kube-proxy 处理转发。
  • 常见插件与地址管理要点:
    • Calico:支持 IPIP/VXLAN 等隧道或 BGP 路由模式;可结合 IPAM(如 host-local)进行节点子网与 Pod IP 分配。
    • Flannel:默认使用 VXLAN 后端,每个节点从集群 Pod CIDR 中划分一段给本地 Pod。
    • Weave:通过自动发现与分配机制为 Pod 提供地址。
  • 实践建议:
    • 规划不与宿主机、物理网络冲突的 Pod CIDR(如 10.244.0.0/16),并为每个节点预留一段子网。
    • 如需静态 Pod IP,依赖具体 CNI 插件能力(多数场景不建议,优先使用 Service/DNS 解耦)。

四、手动隧道或自研 Overlay 场景

  • 若基于 GRE/IPIP/VXLAN 等手动构建 Overlay,通常采用“节点地址 + 隧道接口”的设计:
    • 为隧道接口(如 tunl0、vxlanX)分配节点级地址,用于 Overlay 控制/数据面通信。
    • 通过 ip route 将远端 Overlay 网段引流到隧道或网桥设备,实现跨主机转发。
    • 示例(GRE):
      • 创建隧道:ip tunnel add tunl0 mode gre remote < REMOTE_IP> local < LOCAL_IP> ttl 255
      • 配置地址:ip addr add 192.168.100.1/24 dev tunl0
      • 启用接口:ip link set tunl0 up
      • 路由引流:ip route add 10.10.0.0/16 dev tunl0
    • 持久化:将接口与路由写入 ifcfg 脚本或使用 systemd-networkd 配置。

五、规划与排错要点

  • 地址规划与隔离
    • 使用私有地址段(如 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16),避免与物理网络重叠。
    • 通过 Docker 的 default-address-pools 或 Kubernetes 的 Pod CIDR 统一规划,减少冲突与碎片化。
  • 静态 IP 使用边界
    • 静态 IP 仅在确有依赖(如遗留系统、固定对等)时使用,且需确保地址唯一、可路由、与网关一致。
  • 连通性与防火墙
    • 放行 VXLAN 8472/UDPIPIP 协议号 4GRE 协议号 47 与控制面端口(如 Swarm 的 2377、Kubernetes 的 6443/10250 等)。
    • 使用 firewalld/iptables 对隧道与 Overlay 接口设置合适区域或规则,避免策略阻断。
  • 验证清单
    • 查看容器/节点 IP:docker inspect < 容器> 或 ip addr;在容器内 ping 对端容器/Pod IP。
    • 查看路由表:ip route;确认 Overlay 网段下一跳为隧道/网桥设备。
    • 检查邻居表:ip neigh;排查 ARP/ND 异常。
    • 核对 Docker 网络:docker network inspect ;核对子网、网关、已分配 IP 列表。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: CentOS Overlay配置中的IP地址分配策略
本文地址: https://pptw.com/jishu/756642.html
CentOS Overlay配置中的端口映射如何设置 怎样在CentOS Overlay中配置DNS解析

游客 回复需填写必要信息