Docker Swarm服务发现和负载均衡原理
Docker使用的是Linux内核iptables和IPVS的功能来实现服务发现和负载均衡。Iptables是Linux内核中可用的包过滤技术,可根据数据包的内容进行分类、修改和转发决策。IPVS是Linux内核中可用的传输级负载均衡。
本地创建一个集群环境,我本地有三节点集群环境:
客户端镜像:registry.cn-hangzhou.aliyuncs.com/anoy/ubuntu
服务端镜像:registry.cn-hangzhou.aliyuncs.com/anoy/vote
- 基于DNS的负载均衡:
DNS server内嵌于Docker引擎。在创建集群的时候可以直接指定
--endpoint-mode dnsrr 来指明,这个服务里面的task或者是所有启动的容器访问都通过DNS的方式来进行负载均衡,这个是啥意思。操