Citrix ADC

在一个NITRO API调用中为一个服务组配置所需的服务组成员集

添加了支持,可以在一个NITRO API调用中为服务组配置所需的服务组成员集。添加了一个新的API (Desired State API)来支持此配置。使用期望状态API,你可以:

  • 在“servicegroup_servicegroupmemberlist_binding”资源上的单个PUT请求中提供服务组成员列表。
  • 在PUT请求中提供它们的权重和状态(可选)。
  • 有效地将设备配置与应用服务器周围的部署更改同步。

Citrix ADC设备将请求的期望成员集与配置的成员集进行比较。然后,它自动绑定新成员并解除未出现在请求中的成员的绑定。

注意:

  • 此特性仅支持类型为的服务组API。
  • 只能使用“期望状态API”绑定基于IP地址的服务,不允许使用基于域名的服务。
  • 以前,一个NITRO呼叫只能绑定一个服务组成员。

重要的

Citrix ADC集群部署中支持ServiceGroup成员资格的期望状态API。

用例:在大规模部署中同步部署更改到Citrix ADC设备,例如Kubernetes

在大规模和高度动态的部署中(例如Kubernetes),挑战在于保持设备配置与部署的变动率一致,以准确地服务于应用程序流量。在这种部署中,控制器(输入控制器或E-W控制器)负责更新ADC配置。每当部署发生更改时,kube-api服务器通过' endpoints事件'向控制器发送有效的端点集。控制器使用Read-Delta-Modify方法执行以下操作:

  • 从ADC设备获取服务的当前配置端点集(服务组的服务组成员集)。
  • 将配置的端点集与接收到的事件中的集合进行比较。
  • 绑定新的端点(服务组成员)或取消绑定已删除的端点。

由于这种环境中服务的变化速度和大小很高,因此这种配置方法效率不高,可能会延迟配置更新。

期望状态API通过在单个API中接受服务组的期望成员集来解决问题,并有效地更新配置。

使用CLI创建API类型的服务组

在命令提示符处,键入;

add serviceGroup @  [-autoScale ]

例子:

添加serviceGroup svg1 HTTP -autoScale API

您可以配置autoDisablegraceful而且autoDisabledelay而且自动定量参数说明请使用add serviceGroup或set serviceGroup命令。

add serviceGroup @  [-autoScale ] [-autoDisablegraceful (YES | NO)] [-autoDisabledelay ] add serviceGroup @  [-autoScale (API |CLOUD | DISABLED| DNS |POLICY)] set serviceGroup ] set serviceGroup 

例子:

add serviceGroup svg1 HTTP autoDisablegraceful YES -autoDisabledelay 100 add serviceGroup svg1 HTTP -autoScale API set serviceGroup svg1 -autoDisablegraceful YES -autoDisabledelay 100 set serviceGroup svg1 -autoScale API

参数

autoDisablegraceful

表示安全关闭服务。如果启用了此选项,则设备将等待到此服务的所有未完成连接都关闭,然后再删除该服务。对于系统上已经有持久会话的客户机,新的连接或请求将继续发送到此服务。只有当没有未完成的连接时,才删除服务成员。默认值:无

autoDisabledelay

允许的正常关机时间(秒)。在此期间,新的连接或请求将继续为系统上已经有持久会话的客户端发送到此服务。来自系统上没有持久会话的新客户机的连接或请求不会被发送到服务。相反,它们在其他可用服务之间进行负载均衡。延迟时间到期后,该服务成员将被删除。

自动定量API

启用使用“期望状态”API将成员集绑定到预期服务组。如果所有提供的条件都匹配,您可以将服务组从非自动伸缩类型设置为“期望状态API”的自动伸缩类型。

如果现有的成员绑定满足以下任何条件,set serviceGroup Autoscale命令可能会失败:

  • 绑定到服务组的服务器是名称服务器或域服务器。
  • 如果与服务组绑定的服务器名称为IP地址,则必须与实际的服务器IP地址匹配。在以下示例中,服务器名称和服务器IP地址不匹配。
    • CLI:添加服务器IP地址服务器名称
    • 例子:添加服务器1.2.3.4 4.3.2.1
  • 如果环回服务器名称不是127.0.0.1或0000:0000:0000:0000:0000:0000:0000。
  • 如果在set serviceGroup命令和add serviceGroup命令中选择了不同类型的自动伸缩(Cloud、API、DNS和Policy)。

重要的是:

  • autoDisablegraceful和autoDisabledelay参数仅适用于Autoscale类型“API”和“CLOUD”的服务组。
  • 如果未配置autoDisablegraceful或autoDisabledelay参数,则立即删除服务成员。

优雅解绑定服务组成员

如果任何服务组成员不在所需的状态列表中,这些成员将根据autoDisablegracefulautoDisabledelay参数配置。

  • 如果设置了其中一个参数,则会优雅地解除服务组成员的绑定。
  • 如果这些参数都不设置,则立即解绑定服务组成员。

注意:

  • 仅当执行show Service group命令时,显示为优雅解绑定识别的服务组成员信息。
  • 不能对优雅解绑定中标识的服务组成员进行设置、取消设置等操作。

show service group命令示例如下图所示。

show service group命令示例

使用GUI创建API类型的服务组

  1. 导航到流量管理>负载均衡>服务组,然后单击添加

  2. 自动定量模式中,选择API

该任务指导管理员通过GUI界面配置API类型服务组的安全关机或延时关机

  1. 导航到流量管理>负载均衡>服务组

    服务组基本设置

  2. 自动定量模式中,选择API

  3. 自动禁用优雅中,选择是的

  4. 自动禁用延迟,输入正常关机的等待时间。

注意:自动禁用优雅汽车显示延迟只有当您选择时,才启用字段API自动定量模式