Citrix ADC

配置GSLB服务组

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

创建服务组后,可以将服务组与虚拟服务器绑定,并向服务组中添加业务。还可以将监控器绑定到服务组。

重要的

如果负载均衡虚拟服务器本身在GSLB节点中,或者在子节点中(在父子部署中),并且没有监视器绑定到GSLB服务,那么请确保以下内容:

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

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

  • 基于IP地址的服务组
  • 基于域名的服务组
  • 基于域名的自动伸缩服务组

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

Citrix ADC混合和多云全球服务器负载平衡(GSLB)解决方案使客户能够跨混合云和多个云和本地的多个数据中心分布应用程序流量。Citrix ADC GSLB解决方案支持多种负载均衡解决方案,如Citrix ADC负载均衡器、ELB (Elastic load balancing) for Amazon Web Services (AWS)等第三方负载均衡器。此外,即使GSLB和负载均衡层是独立管理的,GSLB解决方案也可以执行全局负载均衡。

在云部署中,用户在访问负载平衡解决方案以进行管理时,会获得一个域名作为参考。建议外部实体不要使用这些域名解析后的IP地址。此外,负载均衡层根据负载增加或减少,并且IP地址不保证是静态的。因此,建议使用域名代替IP地址来表示负载均衡端点。这要求使用域名而不是IP地址引用GSLB服务,它必须使用为负载均衡层域名返回的所有IP地址,并且在GSLB中具有相同的表示形式。

如果在引用负载均衡端点时使用域名而不是IP地址,可以使用基于域名的GSLB服务组。

监控基于GSLB域名的服务组

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

建议将触发器监控器选项设置为MEPDOWN

Trigger Monitors选项可用于指示GSLB站点是否必须始终使用监控器,或者在指标交换协议(MEP) DOWN时使用监控器。

触发器监控器选项默认设置为ALWAYS。

当Trigger Monitors选项设置为ALWAYS时,每个GSLB节点都会独立地触发监控器。如果每个GSLB节点独立触发监控器,那么每个GSLB节点可能操作不同的GSLB服务集。这可能导致着陆在这些GSLB节点上的DNS请求的DNS响应不一致。此外,如果每个GSLB节点都在独立地进行监视,那么到达负载平衡器实体的监视探测数量就会增加。持久性条目在GSLB节点之间也变得不兼容。

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

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

GSLB服务组的局限性

  • 对于负载均衡域,DNS响应返回的IP地址一般为公网IP地址。负载均衡域解析时,私有IP地址不能动态应用。因此,基于GSLB域名的自伸缩服务组IP端口绑定的公网IP端口和私有IP端口是相同的。对于基于域名的自动伸缩服务组,不能显式设置这些参数。
  • GSLB服务组不支持站点持久化、DNS视图和集群。

该任务指导管理员通过CLI配置和管理GSLB服务组

| |CLI命令| | - | - | |添加GSLB服务组| .单击“添加”add gslb serviceGroup @ [-autoScale (DISABLED | DNS)] -siteName . add gslb serviceGroup @ | |的例子:添加gslb serviceGroupservice - group -1 http -siteName Site1 -autoScale DNS |绑定GSLB服务组与虚拟服务器|绑定gslb serviceGroup ((@ <端口>)| @ | ((-monitorName @| |的例子:绑定gslb serviceGroupService-Group-1 203.0.113.2;绑定gslb serviceGroupService-Group-1 S1 80;绑定gslb serviceGroupservice - group -1 -monitorName Mon1 |取消GSLB服务组与虚拟服务器|的绑定unbind gslb serviceGroup ((@ <端口>)| @ | -monitorName @)| |的例子:取消绑定gslb serviceGroupservice - group -1 -monitorName Mon1 |配置GSLB服务组|的参数set gslb serviceGroup @ [(@ [-weight ] [-hashId ] [-publicIP ] [-publicPort ]) | -maxClient | -cip (ENABLED | DISABLED) | | -cltTimeout | -svrTimeout | -maxBandwidth | -monThreshold -weight ] [-healthMonitor (YES | NO)] [-comment] [-comment] [-appflowLog (ENABLED | DISABLED)]|清除GSLB服务组|参数unset gslb serviceGroup @ [@ [-weight] [-hashId] [-publicIP] [-publicPort]] [-maxClient] [-cip] [-cltTimeout] [-svrTimeout] [-maxBandwidth] [-monThreshold] [-appflowLog] [-monitorName] [-weight] [-healthMonitor] [-cipHeader] [-downStateFlush] [-comment]|启用GSLB服务组|enable gslb serviceGroup @ [@ ]| |的例子:启用gslb serviceGroupSG1 S1 80 |禁用GSLB服务组| ' ' '禁用GSLB serviceGroup @ ( @ ][延迟 [-graceFul (YES /| NO)]

||例如:**disable gslb serviceGroup** SRG2 S1 80 ||**注**:需要关闭的服务组必须是DBS服务组,不能是自动伸缩服务组。|删除GSLB服务组| ' ' rm GSLB serviceGroup  ' ' ||示例:**rm GSLB serviceGroup** service - group -1 |查看GSLB服务组统计信息| ' ' stat GSLB serviceGroup [] ' ' ||示例:**stat GSLB serviceGroup** service - group -1 |查看GSLB服务组属性| ' ' show GSLB serviceGroup [ -includeMembers] ' ' ||示例:** show GSLB serviceGroup** SG1;**show gslb serviceGroup** -includeMembers对现有gslb CLI命令的更改下表列出了引入gslb服务组后对现有gslb命令所做的一些更改。|CLI命令|修改|——|——| |bind gslb vserver|在bind命令中添加服务组名称。||示例:' ' ' bind gslb vserver  ((-serviceName  [-weight ]) | @ || (-domainName  [-TTL ] [-backupIP] [-cookieDomain ] [-cookieTimeout ][-sitedomainTTL ]) | (-policyName @ [-priority] [-gotoPriorityExpression ] [-type REQUEST | RESPONSE)]) 

|unbind gslb vserver|将服务组加入到unbind命令中。|示例:| ' ' '解绑定gslb vserver (名 @ /(域名 [-backupIP] [- cookidomain]) | -policyName @)

|show gslb site|执行该命令时,同时显示gslb服务组信息。|show gslb vs|执行该命令时,显示gslb服务组。|stat gslb vs|执行该命令时,同时显示gslb服务组统计信息。|show lb monitor bindings|执行该命令时,同时显示GSLB服务组绑定信息。### GUI方式配置GSLB服务组进入“**流量管理** > **GSLB** > **服务组**”。1.创建服务组,并将“自动缩放模式”设置为“DNS”。###配置GSLB服务组的站点持久化可以为基于IP地址的服务组和基于域名的服务组配置站点持久化。基于域名的自动伸缩服务组不支持站点持久性。 #### To set site persistence based on HTTP cookies by using the CLI - For connection proxy persistence, you do not have to set the site prefix. At the command prompt, type:

设置GSLB服务组 [-sitePersistence

—对于HTTP重定向持久化,必须先配置服务组成员的站点前缀,再配置服务组的HTTPRedirect持久化参数。在命令提示符下,输入:

设置GSLB servicegroup [-sitePrefix

设置GSLB servicegroup [-sitePersistence' ' '

例子:

  • 连接代理持久性

    设置gslbservicegroup sg1 -sitePersistence connectionProxy

  • HTTPRedirect持久性

    set gslb servicegroup sg2 test1 80 -sitePrefix vserver-GSLB-1 .使用实例

    设置gslb servicegroup sg2 -sitePersistence hTTPRedirect

通过GUI方式设置基于cookie的站点持久性

  1. 导航到交通管理>GSLB>服务集团并选择需要配置站点持久化的服务组(例如servicegroup-GSLB-1)。
  2. 单击网站的持久性部分,并设置满足需求的持久性。

提示

GSLB服务组的部署场景和配置样例请参考以下章节:

配置GSLB服务组