ADC

在一次 NITRO API 调用中为服务组配置一组 IP 地址

在 Kubernetes 中,发 kube-apiserver 送更新的 IP 地址集。管理员手动比较现有配置中的 IP 地址和提供的 IP 地址 kube-apiserver。管理员绑定已添加的 IP 地址,并取消绑定已删除的 IP 地址。此外,管理员只有在服务转换为 OFS(不服务)状态后才取消绑定 IP 地址。

添加了支持,以便在一次 NITRO API 调用中为服务组配置 IP 地址集。在 Citrix ADC 设备接口中的现有 AutoScale 选项中添加了一个新值“API”。对于具有 API AutoScale 类型的服务组,管理员可以在一次 NITRO 调用中提供一组 IP 地址。接收 NITRO API 调用后,Citrix ADC 设备会自动绑定添加的 IP 地址,并取消绑定已删除的 IP 地址。

以前,只能在 NITRO 呼叫中绑定一个服务组成员。

以下是定义了一组 IP 地址的 NITRO API 调用示例。

curl -u nsroot:nsroot http://10.102.217.48/nitro/v1/config -H "Content-Type:application/x-www-form-urlencoded" -d 'object={"servicegroup_servicegroupmemberlist_binding": {"servicegroupname": "sg1", "members": [{"ip": "1.1.1.1", "port": 80}, {"ip": "1.1.1.10", "port": 80}]}}'

注意: 您只能将基于 IP 地址的服务绑定到 API 类型服务组。您无法将基于域的服务绑定到 API 类型服务组。

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

在命令提示窗口中,键入:

add serviceGroup <serviceGroupName>@ <serviceType> [-autoScale <autoScale>]

示例:

```
add serviceGroup svg1 HTTP -autoScale API
<!--NeedCopy--> ```

您可以使用 add serviceGroup 或 set serviceGroup 命令来配置 autoDisablegracefulautoDisabledelay 参数。

-  add serviceGroup <serviceGroupName>@ <serviceType> \[-autoScale <autoScale>] \[-autoDisablegraceful \( YES | NO)] \[-autoDisabledelay <secs>]

-  set serviceGroup <serviceGroupName \[-autoDisablegraceful \( YES | NO)] \[-autoDisabledelay <secs>]

示例:

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

-  set serviceGroup svg1 -autoDisablegraceful  YES -autoDisabledelay 100

参数

autoDisablegraceful

表示服务正常关闭。如果启用此选项,设备将等待与该服务的所有未完成连接关闭,然后再删除该服务。对于系统上已有持久会话的客户端,会继续向该服务发送新的连接或请求。仅当没有未完成的连接时,才会删除服务成员。默认值:NO

autoDisabledelay

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

重要:

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

优雅地解除绑定 IP 地址

如果任何 IP 地址不在所需状态列表中,则这些 IP 地址将根据 autoDisablegraceful 或 autoDisabledelay 参数解除绑定。

  • 如果设置了其中一个参数,则 IP 地址可以正常解除绑定。
  • 如果未设置这些参数,则 IP 地址将立即解除绑定。

注意:

  • 只有在运行 show servicegroup 命令时才会显示标识为正常解除绑定的 IP 地址。
  • 无法对标识为正常解除绑定的服务组成员执行任何操作(例如设置、取消设置)。

下图显示了一个示例 show servicegroup 命令。

示例显示服务组命令

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

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

  2. AutoScale 模式下,选择 API

使用 GUI 为 API 类型服务组配置正常关机或延时时间

  1. 导航到 Traffic Management(流量管理)> Load Balancing(负载平衡)> Service Groups(服务组)

  2. AutoScale 模式下,选择 API

  3. 在“自动禁用优雅”中,选择“”。

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

注意: 只有在 AutoScale 模式下选择 APICLOUD 时,才会启用自动禁用正常显示延迟自动显示延迟字段。

在一次 NITRO API 调用中为服务组配置一组 IP 地址