Citrix ADC

配置基于域的服务组自动伸缩

基于域的服务组由成员组成,成员的IP地址由服务组绑定的服务器域名解析得到。域名由名称服务器解析,您可以在设备上配置该服务器的详细信息。基于域的服务组还可以包括基于ip地址的成员。

基于域的服务器的名称解析过程可能返回多个IP地址。DNS响应中的IP地址数量由名称服务器上为该域名配置的地址(A)记录的数量决定。即使名称解析过程返回多个IP地址,也只有一个IP地址绑定到服务组。如果需要扩大或缩小服务组,则需要手动将其他基于域的服务器与服务组绑定或解除绑定。

但是,可以将基于域的服务组配置为基于域的服务器的DNS名称服务器返回的完整IP地址集自动伸缩。如果需要配置自动伸缩,在将基于域的服务器绑定到服务组时,需要开启自动伸缩选项。基于域的自动扩展服务组的配置步骤如下:

  • 添加域名服务器,用于域名解析。有关在设备上配置名称服务器的详细信息,请参见添加名称服务器
  • 添加分域服务器。有关添加基于域的服务器的信息,请参见配置服务器对象
  • 添加服务组,并将基于域的服务器关联到服务组,并将“自动缩放”选项设置为DNS。有关添加服务组的信息,请参见配置服务组

绑定服务组时,如果在绑定时设置了自动伸缩选项,则会自动创建UDP监控器和TCP监控器,并将其绑定到域服务器上。这两个监视器充当解析器。默认情况下,TCP监控器是禁用的,设备使用UDP监控器向名称服务器发送DNS查询以解析域名。如果DNS响应被截断(将TC标志设置为1),则设备退回到TCP,并使用TCP监视器通过TCP发送DNS查询。此后,设备继续只使用TCP监视器。

名称服务器的DNS响应可能包含该域名的多个IP地址。设置了自动伸缩选项后,设备将使用默认监控器轮询每个IP地址,然后在服务组中只包括那些处于启动状态且可用的IP地址。在IP地址记录过期之后(由它们的生存时间(TTL)值定义),UDP监控器(或者TCP监控器,如果设备已经退回到使用TCP监控器)查询名称服务器进行域解析,并在服务组中包括任何新的IP地址。如果DNS响应中没有出现属于服务组的IP地址,设备将在正常关闭与该组成员的现有连接后从服务组中删除该地址,在此过程中不允许与该成员建立任何新连接。如果过去成功解析的域名导致NXDOMAIN响应,则删除与该域关联的所有服务组成员。

服务组中可以同时存在静态(基于ip地址的)成员和动态伸缩域的成员。您还可以通过自动伸缩选项集将具有不同域名的成员绑定到服务组。但与服务组关联的域名在服务组内必须唯一。必须为希望用于自动服务组扩展的每个基于域的服务器启用自动扩展选项。如果一个IP地址是一个或多个域共用的IP地址,则该IP地址只会被加入服务组一次。

重要的

  • 集群部署时,支持DNS自动缩放。
  • 集群部署时,不支持自动缩放服务组的路径监控。

使用命令行接口配置服务组自动扩展

在命令提示符下,输入以下命令配置服务组并验证配置结果:

add serviceGroup  -autoScale (YES | NO) show serviceGroup  

例子

在下面的例子中,server1是一个基于域的服务器。DNS响应包含多个IP地址。有5个地址可用,并添加到服务组中。

> add serviceGroup servGroup server1 80 - autoscale YES Done > sh serviceGroup servGroup servGroup - HTTP State: ENABLED Monitor Threshold: 0 . . . . . .1) 192.0.2.31:80 State: UP Server Name: server1(自动缩放)Server ID: None Weight: 1 Monitor Name: TCP -default State: UP Probes: 2 Failed [Total: 0 Current: 0] Last response: Success - TCP syn+ack received。2) 192.0.2.32:80 State: UP Server Name: server1(自动缩放)Server ID: None Weight: 1 Monitor Name: TCP -default State: UP Probes: 2 Failed [Total: 0 Current: 0] Last response: Success - TCP syn+ack received。3) 192.0.2.36:80 State: UP Server Name: server1(自动缩放)Server ID: None Weight: 1 Monitor Name: TCP -default State: UP Probes: 2 Failed [Total: 0 Current: 0] Last response: Success - TCP syn+ack received。4) 192.0.2.55:80 State: UP Server Name: server1 (Auto scale) Server ID: None Weight: 1 Monitor Name: TCP -default State: UP Probes: 2 Failed [Total: 0 Current: 0] Last response: Success - TCP syn+ack received。5) 192.0.2.80:80 State: UP Server Name: server1(自动缩放)Server ID: None Weight: 1 Monitor Name: TCP -default State: UP Probes: 2 Failed [Total: 0 Current: 0] Last response: Success - TCP syn+ack received。做< !——NeedCopy >

使用配置实用程序将服务组配置为自动伸缩

  1. 导航到交通管理>负载平衡>服务团体
  2. 创建服务组,将“自动缩放”模式设置为“DNS”。

覆盖TTL值

请注意: Citrix ADC 12.1 build 51支持此选项。Xx及以后。

Citrix ADC设备被配置为在应用程序启动期间定期查询DNS服务器中与应用程序关联的SRV记录中的任何更新。默认情况下,此查询的周期取决于SRV记录中发布的TTL。在微服务或云世界应用程序中,部署变化更加动态。因此,代理必须更快地吸收对应用程序部署的任何更改。因此,建议用户显式地将基于域的服务TTL参数设置为一个低于SRV记录TTL且最适合您的部署的值。有两种方法可以覆盖TTL值:

  • 在将成员绑定到服务组时
  • 使用set lb parameter命令设置全局TTL值。

如果在绑定服务组成员时同时配置了TTL值,并且全局配置了TTL值,则绑定服务组成员时指定的TTL值优先。如果在绑定服务组成员时或在全局级别上未指定TTL值,则DBS监视间隔将从DNS响应中的TTL值派生。

通过命令行覆盖TTL值

  • 要在绑定时覆盖TTL值,在命令提示符处输入:

    绑定serviceGroup  ( [-dbsTTL ]) 

    例子:

    绑定服务组svc_grp_1 web_serv -dbsTTL 10 
  • 要覆盖全局的TTL值,在命令提示符处输入:

    set lb parameter [-dbsTTL ] 

    例子:

    设置lb参数-dbsTTL 15 

使用GUI重写TTL值

在绑定时覆盖TTL值:

  1. 导航到交通管理>负载平衡>服务团体

  2. 服务团体页签中,选择已创建的服务组,单击编辑

  3. 负载均衡服务组页面,点击服务组成员

  4. 服务组成员绑定页,选择已创建的服务器,单击编辑

  5. 基于域的服务TTL,输入TTL值。

覆盖全局级别的TTL值:

  1. 导航到交通管理>负载平衡>更改负载均衡参数

  2. 基于域的服务TTL,输入TTL值。

注意:如果基于域的服务器TTL值设置为0,则使用数据包中的TTL值。

为服务组和域名绑定指定不同的名称服务器

注意:Citrix ADC 12.1 build 51支持此选项。Xx及以后。

您可以为特定组中的不同域名配置不同的名称服务器。在绑定DBS服务器到服务组时,设置nameServer参数是可选的。在将成员绑定到服务组时,如果未指定名称服务器,则考虑全局配置的名称服务器。

该任务指导管理员通过CLI配置服务器与服务组绑定时指定名称服务器

在命令提示符下,输入:

绑定serviceGroup  ( [-nameServer ] [-dbsTTL ]) 

例子

绑定服务组svc_grp_1 web_serv -ns.nameserver.com 10.102.27.155 -dbsTTL 10 

在使用GUI将服务器绑定到服务组时指定名称服务器

  1. 导航到交通管理>负载平衡>服务团体

  2. 服务团体页签中,选择已创建的服务组,单击编辑

  3. 负载均衡服务组页面,点击服务组成员

  4. 服务组成员绑定页,选择已创建的服务器,单击编辑

  5. 名称服务器,指定绑定域的查询必须发送到的名称服务器名称。

配置基于域的服务组自动伸缩