-
-
-
-
-
-
-
-
-
-
-
-
-
-
在一次性 NITRO API 调用中为服务组配置所需的一组服务组成员
-
-
-
This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
在一次性 NITRO API 调用中为服务组配置所需的一组服务组成员
添加了支持,以便在一次 NITRO API 调用中为服务组配置所需的服务组成员集。添加了新的 API(所需状态 API)来支持此配置。使用期望状态 API,您可以:
- 在“servicegroup_servicegroupmemberlist_binding”资源上的单个 PUT 请求中提供服务组成员的列表。
- 在该PUT请求中提供它们的权重和状态(可选)。
- 有效地将设备配置与应用程序服务器周围的部署更改同步。
NetScaler 设备将请求的所需成员集与配置的成员集进行比较。然后,它会自动绑定新成员并解除请求中不存在的成员的绑定。
注意:
- 只有
API.
类型的服务组才支持此功能 - 您只能使用 Desired State API 绑定基于 IP 地址的服务,不允许使用基于域名的服务。
- 以前,只能在 NITRO 呼叫中绑定一个服务组成员。
重要提示
NetScaler 群集部署中支持 ServiceGroup 成员资格的所需状态 API。
使用案例:在大规模部署(例如 Kubernetes)中将部署更改同步到 NetScaler 设备
在大规模和高度动态的部署(例如 Kubernetes)中,面临的挑战是如何使设备配置与部署的变化速度保持同步,从而准确地为应用程序流量提供服务。在此类部署中,控制器(入口或 E-W 控制器)负责更新 ADC 配置。每当部署发生更改时,都会通过“端点事件”将有效的终端集 kube-api server
发送给控制器。Controller 使用读取三角修改方法,其中执行以下操作:
- 从 ADC 设备获取服务的当前配置的端点集(服务组的服务组成员集)。
- 将已配置的端点集与接收事件中的设置进行比较。
- 绑定新终端节点(服务组成员)或取消绑定已删除的终端节点。
由于更改率和服务大小在此环境中很高,因此此配置方法效率不高,可能会延迟配置更新。
所需状态 API 通过在单个 API 中接受服务组的预期成员集来解决问题,并有效地更新配置。
使用 CLI 创建 API 类型的服务组
在命令提示窗口中,键入:
add serviceGroup <serviceGroupName>@ <serviceType> [-autoScale <autoScale>]
示例:
add serviceGroup svg1 HTTP -autoScale API
您可以通过 add serviceGroup 或 set serviceGroup 命令来配置 autoDisablegraceful
、autoDisabledelay
和 autoScale
参数。
add serviceGroup <serviceGroupName>@ <serviceType> \[-autoScale <autoScale>] \[-autoDisablegraceful \( YES | NO)] \[-autoDisabledelay <secs>]
add serviceGroup <serviceGroupName>@ <serviceType> \[-autoScale \(API |CLOUD | DISABLED| DNS |POLICY)]
set serviceGroup <serviceGroupName \[-autoDisablegraceful \( YES | NO)] \[-autoDisabledelay <secs>]
set serviceGroup <serviceGroupName \[-autoScale \(API |CLOUD | DISABLED| DNS |POLICY)]
示例:
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
表示服务正常关闭。如果启用此选项,设备将等待与该服务的所有未完成连接关闭,然后再删除该服务。对于系统上已有持久会话的客户端,会继续向该服务发送新的连接或请求。仅当没有未完成的连接时,才会删除服务成员。默认值:NO
autoDisabledelay
指示正常关机所允许的时间(以秒为单位)。在此期间,系统上已有持久会话的客户端会继续向该服务发送新的连接或请求。系统上没有持久性会话的新客户端的连接或请求不会发送到服务。相反,它们是在其他可用服务之间进行负载平衡的。延迟时间到期后,服务成员将被删除。
AutoScale API
AutoScale API 参数允许使用所需状态 API 将成员集绑定到目标服务组。如果提供的所有条件都匹配,则可以将服务组从非 AutoScale 类型设置为所需状态 API 的 AutoScale 类型。
所需状态 API 将检查服务组成员的 IP 地址是否与任何现有服务器关联。如果 IP 地址与现有服务器匹配,则 API 会重用现有服务器的 IP 地址和名称。如果 IP 地址与任何现有服务器都不匹配,则 API 会创建一个服务器,并将 IP 地址本身指定为服务器名称。
示例:
考虑一台 IP 地址为 2.2.2.2 且名称为 myserver 的服务器,该服务器存在于 NetScaler 设备中。使用所需的状态 API,您可以绑定一组 IP 地址范围为 2.2.2.1 到 2.2.2.3 的服务组成员。
由于 IP 地址 2.2.2 与现有服务器关联,因此 API 会重用该 IP 地址和名称(2.2.2.2 和 myserver)。由于没有具有 IP 地址为 2.2.2.1、2.2.2.3 的现有服务器,因此 API 会使用这些 IP 地址创建服务器。API 会将 IP 地址本身指定为服务器的名称。
如果所需状态命令中提供的 IP 地址与其他 NetScaler 实体(例如 CS 虚拟服务器)冲突,则会发生冲突。将显示一条错误消息,其中包含失败的原因。错误消息中将显示失败成员列表中第一个服务组成员的 IP 地址。
示例:
假设一台IP地址为2.2.2.8的服务器用作负载均衡服务器。使用所需的状态 API,您可以尝试绑定一组 IP 地址范围为 2.2.2.2 - 2.2.2.11 的服务组成员。
由于 2.2.2.8 已用于 LB 服务,因此会发生冲突。将显示以下错误消息,其中包含失败的原因和失败的成员绑定:
{ "errorcode": 304, "message": "Address already in use", "severity": "ERROR", "servicegroup_servicegroupmemberlist_binding": { "servicegroupname": "sg1", "failedmembers": [ { "ip": "2.2.2.8", "port": 80 }, { "ip": "2.2.2.9", "port": 80 } ] } }
<!--NeedCopy-->
错误代码 304 显示失败成员列表中的第一个服务组成员,即 2.2.2.8。
如果现有成员绑定满足以下任一条件,则该 set serviceGroup Autoscale
命令可能会失败:
- 如果绑定到服务组的服务器是名称服务器或基于域的服务器。
- 如果环回服务器名称不是 127.0.0.1 或 0000:0000:0000:0000:0000:0000:0000:0001。
- 如果您在 set serviceGroup 命令中选择了不同类型的 AutoScale(云、API、DNS 和策略),然后添加 serviceGroup 命令。
重要:
- autoDisablegraceful 和 autoDisabledelay 参数仅适用于 AutoScale 类型“API”和“CLOUD”的服务组。
- 如果未配置 autoDisablegraceful 或 autoDisabledelay 参数,则会立即删除服务成员。
优雅地解除服务组成员的绑定
如果任何服务组成员不在 desired state 列表中,则会根据 autoDisablegraceful
或 autoDisabledelay
参数配置优雅地解除绑定这些成员。
- 如果设置了其中一个参数,则服务组成员将正常解除绑定。
- 如果未设置这些参数,则服务组成员将立即解除绑定。
注意:
- 仅当运行 show service group 命令时,才会显示标识为正常取消绑定的服务组成员。
- 无法对标识为正常解除绑定的服务组成员执行任何操作(例如设置、取消设置)。
下图显示了 show service group 命令的示例。
使用 GUI 创建 API 类型的服务组
-
导航到 流量管理 > 负载平衡 > 服务组,然后单击 添加。
-
在 AutoScale 模式下,选择 API。
使用 GUI 为 API 类型服务组配置正常关机或延时时间
-
导航到 Traffic Management(流量管理)> Load Balancing(负载平衡)> Service Groups(服务组)。
-
在 AutoScale 模式下,选择 API。
-
在“自动禁用优雅”中,选择“是”。
-
在 自动禁用延迟中,输入正常关机的等待时间。
注意: 只有在 AutoScale 模式下选择 API 或 CLOUD 时,才会启用自动禁用正常显示延迟或自动显示延迟字段。
共享
共享
This Preview product documentation is Cloud Software Group Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Cloud Software Group Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Cloud Software Group product purchase decisions.
If you do not agree, select I DO NOT AGREE to exit.