部署Overlay网络为容器建立跨主机虚拟专线。以Docker/Kubernetes为例,步骤包括环境准备、配置节点、创建网络、部署应用及验证连通性。可选配置跨主机通信,技术选型推荐VXLAN,需调整MTU并启用安全策略。
说个核心判断:部署Overlay网络,说白了就是给容器们搭一个“虚拟专线”——让它们在不同宿主机上也能像在同一个局域网里一样通信。下面这套通用步骤,以Docker和Kubernetes为例,基本覆盖了从环境准备到验证的完整流程,照着操作就能跑通。
setenforce 0)或者把策略改成permissive,避免权限问题来捣乱。/etc/docker/daemon.json,把Overlay网络必需的参数加进去:
{
"storage-driver": "overlay2", // 推荐用overlay2存储驱动
"exec-opts": ["native.cgroupdriver=systemd"], // 容器cgroup驱动设为systemd
"log-driver": "json-file",
"log-opts": {"max-size": "100m"} // 日志大小限制
}
保存后重启Docker服务:sudo systemctl restart docker。kubectl apply -f https://docs.projectcalico.org/v3.25/manifests/calico.yaml
验证插件状态:kubectl get pods -n kube-system | grep calico,所有Pod应该都是Running状态。docker network create命令创建Overlay网络,指定子网、网关等参数:
docker network create --driver overlay --subnet=10.0.0.0/24 --gateway=10.0.0.1 my-overlay-network
参数说明:--driver overlay指定Overlay驱动,--subnet是Overlay网络子网,--gateway是网关。ClusterIP类型的Service),Kubernetes会自动给Pod分配Overlay网络IP。--network参数连接到Overlay网络:
docker run -d --name container1 --network my-overlay-network nginx
docker run -d --name container2 --network my-overlay-network nginx
如果容器已经在运行,可以用docker network connect命令添加:
docker network connect my-overlay-network container2namespace(默认用default),Kubernetes会自动将Pod连接到Overlay网络。示例Deployment配置:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
部署后,Pod会自动获取Overlay网络IP。docker exec -it container1 ping $(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container2)
能ping通,说明Overlay网络工作正常。kubectl exec -it -- /bin/sh
ping
能ping通,说明配置成功。cluster-store(比如Consul、Etcd)和cluster-advertise参数。编辑/etc/docker/daemon.json:
{
"cluster-store": "consul://:8500",
"cluster-advertise": ":2376"
}
重启Docker服务:sudo systemctl restart docker。
长期稳定更新的攒劲资源: >>>点此立即查看<<<
侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述