當前位置:編程學習大全網 - 源碼下載 - Docker swarm中的LB和服務發現詳解

Docker swarm中的LB和服務發現詳解

Docker 提供了 overlay driver,使用戶可以創建基於 VxLAN 的 overlay 網絡。VxLAN 可將二層數據封裝到 UDP 進行傳輸,VxLAN 提供與 VLAN 相同的以太網二層服務,但是擁有更強的擴展性和靈活性。linux下是使用了net namespace來隔離docker創建的overlay網絡。

Docker 網絡模型如下:

壹個Sandbox包含了壹個容器網絡棧的配置。其中包括了對容器的網卡,路由表以及對DNS設置的管理。通常,壹個Sandbox的實現可以是壹個Linux Network Namespace,壹個FreeBSD Jail或者其他類似的東西。壹個Sandbox可以包含多個處於不同Network的Endpoint。

Endpoint將壹個Sandbox加入壹個Network。Endpoint的實現可以是壹個veth對,壹個Open vSwitch internal port或者其他類似的東西。壹個Endpoint只能屬於壹個Network和壹個Sandbox。

Network是壹個能夠互相通信的Endpoint的集合。Network的實現可以是壹個Linux網橋,壹個VLAN等等。

上圖展示了task1.client請求兩個不同資源dns返回的不同結果

環境:

swarm-a(manager node):10.10.8.92

swarm-b(work node):10.10.8.93

swarm-c(work node):10.10.8.94

在docker swarm集群創建的開始,docker 會給每臺host創建除了docker0以外的兩個網絡,分是bridge類型(docker_gwbridge網橋)和overlay類型(ingress)的網絡,以及壹個過度的命名空間ingress_sbox,我們可以使用如下命令自建overlay網絡,結果如下:

docker network create --driver overlay mynet (後續會有用到)

註意1:要是想看到容器創建的兩個Net Namespace需要執行

ln -s /var/run/docker/netns /var/run/netns

1)、部署壹個service使用默認的ingress網絡:

docker service create --name web_ingress_lb --replicas=2 --publish 8090:80 /p/25954203

/p/4433f4c70cf0

/network/overlay/

http://julyerr.club/2018/03/20/docker-swarm/

  • 上一篇:3N品牌是什麽?
  • 下一篇:十年苦盡甘來,吉利的東出方略
  • copyright 2024編程學習大全網