CentOS Overlay配置中的IP地址规划指南
在CentOS环境中配置Overlay网络(如Docker Overlay或Kubernetes CNI Overlay)时,IP地址规划是确保网络隔离、可扩展性和稳定性的核心环节。合理的IP规划需兼顾当前需求与未来扩展,避免地址冲突并优化资源利用。
/24子网(256个地址)适合中小规模集群(如10-50个节点),/16子网(65536个地址)适合大规模集群;若需更多隔离,可使用/20(4096个地址)等中间掩码。10.0.0.0/16下划分汇聚子网10.0.1.0/24、10.0.2.0/24(对应不同机架或业务模块),接入子网10.0.1.0/26(对应单个主机内的容器)。10.0.0.1或10.0.0.254)。docker_gwbridge)或物理网关,确保容器与外部网络(如互联网、Underlay网络)的通信。--ip参数手动指定,例如:docker run -d --name=my_db --network=my_overlay --ip=10.0.0.10 my_mysql_imagedefault-address-pools,例如:{
"default-address-pools": [
{"base": "10.0.1.0/24", "size": 24}
]
}
此配置会从10.0.1.0/24子网中自动分配IP,size:24表示子网掩码为255.255.255.0。10.0.0.1为网关,10.0.0.2为DNS)。10.0.0.100-10.0.0.200),避免因地址耗尽导致网络中断。docker network create命令指定子网、网关和IP池,例如:docker network create --driver overlay --subnet=10.0.0.0/24 --gateway=10.0.0.1 --opt com.docker.network.driver.mtu=1450 my_overlay
(com.docker.network.driver.mtu=1450用于适配VXLAN封装的MTU需求)docker network inspect my_overlay查看子网、网关及已分配IP。/etc/cni/net.d/10-flannel.conflist),指定Pod网络的子网范围:{
"name": "cbr0",
"cniVersion": "0.3.1",
"plugins": [
{
"type": "flannel",
"delegate": {
"hairpinMode": true,
"isDefaultGateway": true
}
},
{
"type": "portmap",
"capabilities": {"portMappings": true}
}
]
}
同时,在Flannel的net-conf.json中定义Pod子网:{
"Network": "10.244.0.0/16",
"Backend": {"Type": "vxlan"}
}
此配置会将Pod IP分配在10.244.0.0/16子网中,通过VXLAN隧道实现跨主机通信。10.0.0.0/24的静态路由,下一跳指向Overlay网络的物理网关。1500-20=1480,或在Docker中显式设置--opt com.docker.network.driver.mtu=1450(预留额外空间)。--iptables=true),防止IP地址伪造。通过以上规划,可确保CentOS Overlay网络的IP地址分配合理、高效,满足当前业务需求并支持未来扩展。