Docker中Swarm服务发现和负载均衡原理分析

2022年 10月 16日 发表评论

云产品最新活动点击抢腾讯云3/5年服务器限量秒杀名额续费贵、升级贵,建议选配置高、长期的云产品PS:幻兽帕鲁十分火热:点击了解阿里云帕鲁服务器自建教程点击了解腾讯云帕鲁服务器自建教程

本站在Docker中分享了对Swarm服务发现和负载平衡原理的分析。希望你看完这篇文章有所收获。大家一起讨论一下。

使用的技术

Docker利用linux内核iptables和ipvs的功能实现服务发现和负载均衡。

Iptables是linux内核中可用的包过滤技术,可以根据数据包的内容对其进行分类、修改和转发。

Ipvs是linux内核中可用的传输级负载平衡器。

准备工作

swarm 集群:【经理】节点1、【工人】节点2

客户端镜像:registry.cn-hangzhou.aliyuncs.com/anoy/ubuntu

服务端镜像:registry.cn-hangzhou.aliyuncs.com/anoy/vote

Docker中Swarm服务发现和负载均衡原理分析

如图所示,我们将在集群中部署“客户端”服务和“投票”服务,其中“投票”服务部署多个副本。当客户端请求“投票”服务时,输出包含服务器的容器id,这使得演示网络请求更容易。

集群状态

docker服务创建-名称投票-网络覆盖1 -副本2-p 8080:80 registry.cn-hangzhou.aliyuncs.com/anoy/vote

下图显示了沙箱、容器和每个节点网络之间的映射关系:

Docker中Swarm服务发现和负载均衡原理分析

如图所示,沙箱和投票容器是“入口”网络的一部分,有助于路由网格。客户端容器和投票容器是“重叠1”网络的一部分,这有助于内部负载平衡。所有容器都是默认“docker_gwbridge”网络的一部分。

根据iptables中的nat规则,端口8080上的主机流量被发送到节点1中的沙盒:

一个

2

10

11[root @ node 2 ~]# curl node 1:8080 | grep-I ' container id“% total % received % xferd average speed time time current load upload total wasted left speed 100 3162 100 3162 0 0 0 7531 0-:-:-3:-:-75466 container id 6173 AFD 5 fab 8处理

[root @ node 2 ~]# curl node 1:8080 | grep-I ' container id“% total % received % xferd average speed time time current load upload total wasted left speed 100 3162 100 3162 0 0 0 169k 0-:-:-:-3:-3:-171k container id b07 e 95 C5 c 681处理读取此内容后

原文链接:https://www.jianshu.com/p/dba9342071d8

小咸鱼

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: