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地址分配合理、高效,滿足當前業務需求并支持未來擴展。