首页 > 其他 > 详细

33. docker swarm 集群服务通信 之 RoutingMesh - Ingress 网络

时间:2019-08-23 19:21:55      阅读:98      评论:0      收藏:0      [点我收藏+]

1.作用

  当在 任何 一个 swarm 节点去访问 端口服务的时候 会通过 本节点 的 IPVS ( ip virtual service ) 到 真正的 swarm 节点上

  当访问 docker host 3 的 端口 8080 时, 会把 请求转发到 另外两台host 上去 , 然后把 响应返回给用户

技术分享图片

 

2. 功能

  外部访问的均衡负载

  服务端口被暴露到哥哥swarm节点

  内部通过 IPVS 进行均衡负载

3. 实验

  创建 一个 名为 demo 的 overlay 网络 另外 创建 client service 和 whoami service 服务

    docker network create -d overlay demo

    docker service create --name whoami -p 8000:8000 --network demo -d jwilder/whoami

    docker service create --name client -d --network demo busybox sh -c ‘while true; do sleep 3600; done‘

  将 whoami 服务拓展为 两个容器

    docker service scale whoami=2

  查看 whoami 的运行情况 

    docker service ps whoami

技术分享图片

  curl 访问 whoami 容器  无论在哪台服务器上

    curl 127.0.0.1:8000技术分享图片

  查看 iptables 转化的规则  发现 通过 tcp udp 访问 8000 端口 时 转发到 172.18.0.2

    sudo iptables -nL -t nat

技术分享图片

  在 docker host (任意服务器都行) 上 查看 ip 发现  

技术分享图片

  查看  docker_gwbridge 的 interface (查看 docker_gwbridge 的 网桥)

    brctl show 

  查看 docker_gwbridge 内 所包含的 容器 (发现 外部请求的数据 发到 ingress-sbox 内了)

    docker network inspect docker_gwbridge

技术分享图片

  查看并进入 ingress_sbox

    sudo ls /var/run/docker/netns    (查看 ingress 位置)

技术分享图片

    sudo nsenter --net=/var/run/docker/netns/ingress_sbox  (进入 ingress_sbox)

技术分享图片

  在 ingress_sbox 内 查看 iptables 

    iptables -nL -t mangle    可看出 发送到 该 ip 地址下的8000 端口的请求被均衡负载掉了 (红框的 MARK 内为负载均衡)

技术分享图片

  

 

4. 演示 ipvs

  在 docker host 安装 ipvsadm

    sudo yum install -y ipvsadm

  进入 ingress_sbox

    sudo nsenter --net=/var/run/docker/netns/ingress_sbox

  使用 ipvsadmin 查看 请求到 的 有效 ip 地址 及 权重 等信息

技术分享图片

  查看 docker-node2 内的 whoami 的 网络地址

    docker ps  查询 container id

    docker exec [container id] ip a

技术分享图片

技术分享图片

  可以看出 与 ipvsadm ls 能对应上

 

5.总体流程

技术分享图片

 

    

33. docker swarm 集群服务通信 之 RoutingMesh - Ingress 网络

原文:https://www.cnblogs.com/zonehoo/p/11401930.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!