使用DNS的服务发现及内部负载均衡

下文给大家带来使用DNS的服务发现及内部负载均衡,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍,今天我们就用网站那些事在行业内累计的经验来做一个解答。

1.使用DNS进行服务

docker引擎据由内部的DNS云服务器,可以为用户定义的网桥(network)、覆盖网络igressoverla(ovelay)、macvlan网络中主机上的所有容器提供名称解析。

每个容器内都有一个NDS解析器,将dns查询结果转发到docker引擎(docker守护程序),该引擎充当dns服务器。docker引擎检查dns查询是属于容器还是属于集群service的请求,如果是容器

则docker引擎会查找与容器名称相匹配的ip,或者service在其键值存储中查找并将ip或者service虚拟ip返回给请求者。

服务发现是网络范围的,这意味着只有位于同一网络上的容器或任务才能使用嵌入式DNS功能。如果容器或者service不在同一网络中,则docker引擎会将dns查询转发到默认DNS服务器解析。

使用DNS的服务发现及内部负载均衡

2.内部负载均衡

在docker swarm集群创建服务时,会自动为他们分配一个虚拟ip,该虚拟IP是服务网络的一部分。解析服务名称时返回vip。通过覆盖网络(overlay)自动将vip的流量发送到服务的所有的健康任务中。

docker负责路由并在健康的服务中平均分配流量。

创建overlay网络

docker network create  -d overlay  mylay

查看swarm创建服务时分配的vip

docker service inspect  服务名  | grep  Addr

DNS循环(DNS RR)负载平衡是服务的另一个负载平衡选项(配置为–endpoint-mode)。

在DNS RR模式下,不会为每个服务创建VIP。Docker DNS服务器以循环方式将服务名称解析为单个容器IP

3.swarm集群路由网

路由网的原理:集群中所有的节点都对外公布tcp/udp端口,接收来自外部的请求连接流量,之后通过内核的IPVS负载均衡器将ingress覆盖网络上的流量重定向到健康的服务副本。

路由网是由docker engine 1.12中引入的,它组合ipvs和iptable创建了一个集群范围内的传输层L4负载均衡。它允许集群中所有节点接收已发布端口上的请求连接。

当任何集群节点接收到tcp/upd端口service的流量的,就会使用服务创建时指定的覆盖网络将请求流量分发到服务的vip igress。

启动服务后,您可以为应用程序创建外部DNS记录(对外公布端口 –public 80:80),并将其映射到任何或所有Docker swarm节点。

4.swarm第7层路由(互锁代理)

群集模式路由网络非常适合传输层路由。它使用服务的已发布端口路由到服务。互锁是一种新功能,可在应用层(L7)上启用服务发现。

此第7层路由通过添加应用层功能(例如检查HTTP标头)扩展到群集模式路由网格。互锁和群集模式路由网络一起使用,以提供灵活和强大的服务交付。

看了以上关于使用DNS的服务发现及内部负载均衡,如果大家还有什么地方需要了解的可以在网站那些事行业资讯里查找自己感兴趣的或者找我们的专业技术工程师解答的,网站那些事技术工程师在行业内拥有十几年的经验了。

 

原创文章,作者:LTKCK,如若转载,请注明出处:https://www.wangzhanshi.com/n/15002.html

(0)
LTKCK的头像LTKCK
上一篇 2025年1月1日 17:06:10
下一篇 2025年1月1日 17:06:12

相关推荐

  • 如何清除dns缓存命令行

    清除dns缓存命令行 1、进入开始菜单,或者直接使用“Win+R”组合键打开运行,输入“services.msc”,然后点击底部的确定进入。 2、然后在服务窗口右边找到“DHCP …

    2025年1月1日
  • Ubuntu如何设置IP地址、网关、DNS

    设置方法: 1、设置IP地址、网关 nano /etc/network/interfaces  /etc/network/interfacesbak   #备份…

    DNS解析 2025年1月1日
  • 怎样修改DNS服务器

    1、什么是DNS? DNS是指:域名服务器(Domain Name  Server)。在Internet上域名与IP地址之间是一一对应的,域名尽管便于人们回忆,但机器之间…

    DNS解析 2025年1月1日
  • windows server dhcp 配置故障转移

    有个项目实施过程中没有介入,后期运维过程中发现了些坑。项目采用两台服务器做域控服务器,启用AD DS,DNS,DHCP的服务,配置完成后发现用户上网特别慢,还有部分用户获取不到IP…

    2025年1月1日
  • 如何进行DNS欺骗的分析

    一.什么是DNS欺骗? DNS欺骗是一门改变DNS原始指向IP的艺术。 什么是DNSomain Name Server 域名服务器 域名虽然便于人们记忆,但网络中的计算机之间只能互…

    DNS解析 2025年1月1日
  • DHCP和DNS服务器的一些功能讲解

    DHCP服务器的原理就4个过程分析一下场景例如:我要上网,针对DHCP这个服务器而言,是如何实现的?1.首先我发出“我要上网的这条广播消息” 2.服务器收到你的广播消息后就会随机从…

    2025年1月1日
  • linux redhat6.5 中 DNS分离解析配置

    DNS分离解析即将内外网的相同域名解析为不同的IP地址。主要是指根据不同客户端提供不同的域名解析记录现实网络中一些电商网站为了让用户有更好的体验效果解析速度更快,就把来自不同运营商…

    2025年1月1日
  • Linux系统查看DNS命令有哪些

    一、dig命令 Dig是一个在类Unix命令行模式下查询DNS包括NS记录,A记录,MX记录等相关信息的工具。Dig的源码是ISC BIND大包的一部分,但是大多编译和安装Bind…

    2025年1月1日
  • RHEL5下怎么搭建DNS服务器

    一、域名与域名解析 网络中为了区别各个主机,必须为每台主机分配一个惟一的地址,这个地址即称为“IP地址”。但这些数字难以记忆,所以就采用“域名”的方式来取代这些数字了。不过最终还是…

    DNS解析 2025年1月1日
  • 基于隐私保护技术的DNS通信协议介绍

    本文提出了一种基于用户数据报协议的DNS传输中用户隐私保护的加密方法:DNSDEA。该方法采用PKI加密体系与DNS协议相融合,不仅解决了域名隐私保护问题,而且与传统DNS体系相兼…

    2025年1月1日

发表回复

登录后才能评论