Citrix ADC

配置 GSLB 服务组

服务组使您能够像管理单个服务一样轻松地管理一组服务。例如,如果您为某个服务组启用或禁用某个选项(例如压缩、运行状况监视或正常关闭),则会为该服务组的所有成员启用或禁用该选项。

创建服务组后,您可以将其绑定到虚拟服务器,并可以向该组添加服务。您还可以将监视器绑定到服务组。

重要

信息:如果负载平衡虚拟服务器位于 GSLB 节点本身或子节点(在父子部署中)中,并且没有监视器绑定到 GSLB 服务,请确保满足以下条件:

GLSB 服务组 IP 地址、端口号和协议与虚拟服务所代表的服务器。否则,服务状态将标记为DOWN。

Citrix ADC 支持以下类型的 GSLB 服务组。

  • 基于 IP 地址的服务组
  • 基于域名的服务组
  • 基于域名的自动扩展服务组

基于 GSLB 域名的自动缩放服务组

Citrix ADC 混合云和多云全球服务器负载平衡 (GSLB) 解决方案使客户能够在混合云、多云和本地的多个数据中心之间分配应用程序流量。Citrix ADC GSLB 解决方案支持各种负载平衡解决方案,例如 Citrix ADC 负载均衡器、适用于 AWS 的弹性负载平衡 (ELB) 和其他第三方负载均衡器。此外,即使 GSLB 和负载均衡层是独立管理的,GSLB 解决方案也会执行全局负载平衡。

在云部署中,用户在出于管理目的访问负载均衡解决方案时会获得域名作为参考。建议外部实体不要使用这些域名解析到的 IP 地址。此外,负载平衡层会根据负载向上或向下扩展,并且不能保证IP地址是静态的。因此,建议使用域名来指代负载均衡终端节点,而不是 IP 地址。这要求使用域名而不是 IP 地址来引用 GSLB 服务,并且必须使用为负载平衡层域名返回的所有 IP 地址,并在 GSLB 中使用相同的表示形式。

要在引用负载平衡终端节点时使用域名而不是 IP 地址,您可以将基于域名的服务组用于 GSLB。

监控基于 GSLB 域名的服务组

Citrix ADC 设备有两个用于监视基于 TCP 的应用程序的内置监视器:tcp-default 和 ping-default。tcp-default 监视器绑定到所有 TCP 服务,ping 默认监视器绑定到所有非 TCP 服务。默认情况下,内置监视器绑定到 GSLB 服务组。但是,建议将特定于应用程序的监视器绑定到 GSLB 服务组。

关于将触发器监视器选项设置为 MEPDOWN 的建议

“触发监视器” 选项可用于指示 GSLB 站点是否必须始终使用监视器,还是在度量交换协议 (MEP) 为 DOWN 时使用监视器。

默认情况下,“触发监视器” 选项设置为 “始终”。

当 “触发监视器” 选项设置为 “始终” 时,每个 GSLB 节点都会单独触发监视器。如果每个 GSLB 节点独立触发监视器,则每个 GSLB 节点可能会在不同的 GSLB 服务集上运行。这可能会导致登陆这些 GSLB 节点上的 DNS 请求的 DNS 响应出现差异。此外,如果每个 GSLB 节点都在独立监视,则到达负载均衡器实体的监视器探测器数量会增加。持久性条目也会在 GSLB 节点之间变得不兼容。

因此,建议将 GSLB 站点实体上的 “触发器监视器” 选项设置为 MEPDOWN。当触发器监视器选项设置为 MEPDOWN 时,负载平衡域解析和监控所有权属于本地 GSLB 节点。当触发器监视器选项设置为 MEPDOWN 时,负载平衡域解析和后续监控将由 GSLB 服务组的本地 GSLB 节点完成。然后使用度量交换协议 (MEP) 将结果传播到参与GSLB的所有其他节点。

此外,每当更新与负载平衡域关联的 IP 地址集时,都会通过 MEP 进行通知。

GSLB 服务组的局限性

  • 对于负载平衡域,DNS 响应中返回的 IP 地址通常是公有 IP 地址。解析负载平衡域时,无法动态应用私有 IP 地址。因此,基于 GSLB 域名的自动缩放服务组 IP 端口绑定的公共 IP 端口和私有 IP 端口是相同的。无法为基于域名的 autoScale 服务组显式设置这些参数。
  • GSLB 服务组不支持站点持久性、DNS 视图和群集。

使用 CLI 配置和管理 GSLB 服务组

要添加 GSLB 服务组,请执行以下操作:

add gslb serviceGroup <serviceGroupName>@ <serviceType> [-autoScale ( DISABLED | DNS )] -siteName <string>
<!--NeedCopy-->

示例:

add gslb serviceGroup Service-Group-1 http -siteName Site1 -autoScale DNS
<!--NeedCopy-->

将 GSLB 服务组绑定到虚拟服务器

bind gslb serviceGroup <serviceGroupName> ((<IP>@ <port>) | <serverName>@ | (-monitorName <string>@))
<!--NeedCopy-->

示例:

bind gslb serviceGroup Service-Group-1 203.0.113.2
bind gslb serviceGroup Service-Group-1 S1 80
bind gslb serviceGroup Service-Group-1 -monitorName Mon1
<!--NeedCopy-->

要解除 GSLB 服务组与虚拟服务器的绑定,请执行以下操作:

unbind gslb serviceGroup <serviceGroupName> ((<IP>@ <port>) | <serverName>@ | -monitorName <string>@)
<!--NeedCopy-->

示例:

unbind gslb serviceGroup Service-Group-1 -monitorName Mon1
<!--NeedCopy-->

要为 GSLB 服务组设置参数,请执行以下操作:

set gslb serviceGroup <serviceGroupName>@ [(<serverName>@ <port> [-weight <positive_integer>] [-hashId <positive_integer>] [-publicIP <ip_addr|ipv6_addr|*>] [-publicPort <port>]) | -maxClient <positive_integer> | -cip ( ENABLED | DISABLED ) | <cipHeader> | -cltTimeout <secs> | -svrTimeout <secs> | -maxBandwidth <positive_integer> | -monThreshold <positive_integer> | -downStateFlush ( ENABLED | DISABLED )] [-monitorName <string> -weight <positive_integer>] [-healthMonitor ( YES | NO )] [-comment <string>] [-appflowLog ( ENABLED | DISABLED )]
<!--NeedCopy-->

要取消设置 GSLB 服务组中的参数,请执行以下操作:

unset gslb serviceGroup <serviceGroupName>@ [<serverName>@ <port> [-weight] [-hashId] [-publicIP] [-publicPort]] [-maxClient] [-cip] [-cltTimeout] [-svrTimeout] [-maxBandwidth] [-monThreshold] [-appflowLog] [-monitorName] [-weight] [-healthMonitor] [-cipHeader] [-downStateFlush] [-comment]
<!--NeedCopy-->

要启用 GSLB 服务组,请执行以下操作:

enable gslb serviceGroup <serviceGroupName>@ [<serverName>@ <port>]
<!--NeedCopy-->

示例:

enable gslb serviceGroup SG1 S1 80
<!--NeedCopy-->

要禁用 GSLB 服务组,请执行以下操作:

disable gslb serviceGroup <serviceGroupName>@ [<serverName>@ <port>] [-delay <secs>] [-graceFul ( YES /| NO )]
<!--NeedCopy-->

示例:

disable gslb serviceGroup SRG2 S1 80
<!--NeedCopy-->

注意

必须禁用的服务组必须是星展银行服务组,而不是自动扩展服务组。

要删除 GSLB 服务组,请执行以下操作:

rm gslb serviceGroup <serviceGroupName>
<!--NeedCopy-->

示例:

rm gslb serviceGroup Service-Group-1
<!--NeedCopy-->

要查看 GSLB 服务组的统计信息,请执行以下操作:

stat gslb serviceGroup [<serviceGroupName>]
<!--NeedCopy-->

示例:

stat gslb serviceGroup Service-Group-1
<!--NeedCopy-->

要查看 GSLB 服务组的属性,请执行以下操作:

show gslb serviceGroup [<serviceGroupName>  -includeMembers]
<!--NeedCopy-->

示例:

show gslb serviceGroup SG1
show gslb serviceGroup -includeMembers
<!--NeedCopy-->

对现有 GSLB CLI 命令的更改

引入 GSLB 服务组后,对现有 GSLB 命令进行了以下更改:

  • bind gslb vserver -服务组名称已添加到 bind 命令中。

    示例:

     bind gslb vserver <name> ((-serviceName <string> [-weight <positive_integer>] ) | <serviceGroupName>@ | | (-domainName <string> [-TTL <secs>] [-backupIP<ip_addr|ipv6_addr|*>] [-cookieDomain <string>] [-cookieTimeout <mins>][-sitedomainTTL <secs>]) | (-policyName <string>@ [-priority<positive_integer>] [-gotoPriorityExpression <expression>] [-type REQUEST | RESPONSE )]))
     <!--NeedCopy-->
    
  • unbind gslb vserver -服务组已添加到 unbind 命令中。

    示例:

     unbind gslb vserver <name> (-serviceName <string> <serviceGroupName> @ /(-domainName <string> [-backupIP] [-cookieDomain]) | -policyName <string>@)
     <!--NeedCopy-->
    
  • show gslb site -运行此命令时,还会显示 GSLB 服务组。

  • show gslb vs -运行此命令时,将显示 GSLB 服务组。

  • stat gslb vs -运行此命令时,还会显示 GSLB 服务组统计信息。

  • show lb monitor bindings -运行此命令时,还会显示 GSLB 服务组绑定。

使用 GUI 配置 GSLB 服务组

  1. 导航到 流量管理 > GSLB > 服务组
  2. 创建一个服务组并将自动缩放模式设置为 DNS。

为 GSLB 服务组配置站点持久性

您可以为基于 IP 地址的服务组和基于域名的服务组配置站点持久性。基于域名的自动扩展服务组不支持站点持久性。

  • 对于连接代理持久性,您不必设置站点前缀。

在命令提示符下,键入:

set gslb service group <serviceGroupName> [-sitePersistence <sitePersistence>]
<!--NeedCopy-->
  • 对于 HTTP 重定向持久性,必须首先为服务组的成员设置站点前缀,然后为服务组设置 HttpReDirect 持久性参数。

在命令提示符下,键入:

set gslb servicegroup <serviceGroupName>  <serviceGroup member name|Ip> <port>  [-sitePrefix <string>]

set gslb servicegroup <serviceGroupName> [-sitePersistence <sitePersistence>]
<!--NeedCopy-->

示例:

  • 连接代理持久性

     set gslbservicegroup sg1 -sitePersistence connectionProxy
     <!--NeedCopy-->
    
  • HTTP重定向持久性

     set gslb servicegroup sg2 test1 80 -sitePrefix vserver-GSLB-1
     <!--NeedCopy-->
    
     set gslb servicegroup sg2 -sitePersistence HTTPRedirect
     <!--NeedCopy-->
    
  1. 导航到 流量管理 > GSLB > 服务组 ,然后选择要为站点持久性配置的服务组(例如 ServiceGroup-GSLB-1)。
  2. 单击 “ 站点持久性 ” 部分,然后设置满足您要求的持久性。

提示

有关 GSLB 服务组的部署方案和示例配置,请参阅以下主题:

配置 GSLB 服务组