NetScaler VPX 14.1

适用于 NetScaler VPX 部署的艾泽标签

在 Azure 云门户中,您可以使用名称:值对(例如 Dept: Finance)标记资源,以便跨资源组以及在门户中跨订阅对资源进行分类和查看。当您需要组织资源以进行计费、管理或自动化时,标记功能非常有用。

Azure 标签如何用于 VPX 部署

对于部署在 Azure 云上的 NetScaler VPX 独立实例和高可用性实例,现在您可以创建与 Azure 标签关联的负载平衡服务组。VPX 实例会持续监控带有相应标签的 Azure 虚拟机(后端服务器)和网络接口 (NIC)(或两者),并相应地更新服务组。

VPX 实例创建服务组,该服务组使用标签对后端服务器进行负载平衡。该实例查询 Azure API,以获取所有带有特定标签名称和标签值的资源。根据分配的轮询周期(默认为 60 秒),VPX 实例会定期轮询 Azure API,并检索在 VPX GUI 中分配了标签名称和标签值的可用资源。每当添加或删除带有相应标签的 VM 或 NIC 时,ADC 会检测到相应的更改,并自动从服务组中添加或删除 VM 或 NIC 的 IP 地址。

标签如何工作

开始之前

在创建 NetScaler 负载平衡服务组之前,请在 Azure 中为服务器添加标签。您可以将标签分配给虚拟机或 NIC。

创建 Azure 标签

有关添加 Azure 标签的更多信息,请参阅 Microsoft 文档 使用标签组织 Azure 资源

注意:

用于添加 Azure 标签设置的 ADC CLI 命令仅支持以数字或字母开头,而不支持其他键盘字符的标签名称和标签值。

如何使用 VPX GUI 添加 Azure 标签设置

您可以使用 VPX GUI 将 Azure 标签云配置文件添加到 VPX 实例,以便该实例可以使用指定的标签对后端服务器进行负载平衡。请按照以下步骤操作:

  1. 从 VPX GUI,导航到 配置 > Azure > 云配置文件
  2. 单击添加以创建云配置文件。云配置文件窗口随即打开。

添加 Azure 标签

  1. 请填写以下字段的相应值:
    • 名称:为您的配置文件添加名称
    • 虚拟服务器 IP 地址:虚拟服务器 IP 地址将从 VPX 实例可用的空闲 IP 地址自动填充。有关详细信息,请参阅使用 Azure 门户将多个 IP 地址分配给虚拟机
    • 类型:从菜单中,选择 AZURETAGS。
    • Azure 标签名称:输入您在 Azure 门户中分配给 VM 或 NIC 的名称。
    • Azure 标签值:输入您在 Azure 门户中分配给 VM 或 NIC 的值。
    • Azure 轮询周期:默认情况下,轮询周期为 60 秒,这是最小值。您可以根据需要进行更改。
    • 负载平衡服务器协议:选择负载平衡器侦听的协议。
    • 负载平衡服务器端口:选择负载平衡器侦听的端口。
    • Azure 标签设置:将为此云配置文件创建的服务组的名称。
    • Azure 标签设置协议:选择后端服务器侦听的协议。
    • Azure 标签设置端口:选择后端服务器侦听的端口。
  2. 单击 创建

为标记的 VM 或 NIC 创建负载均衡器虚拟服务器和服务组。要查看负载均衡器虚拟服务器,请从 VPX GUI 导航到 流量管理 > 负载平衡 > 虚拟服务器

如何使用 VPX CLI 添加 Azure 标签设置

在 NetScaler CLI 上键入以下命令,为 Azure 标签创建云配置文件。


add cloud profile `<profile name>` -type azuretags -vServerName `< vserver name>` -serviceType HTTP -IPAddress `<vserver IP address>` -port 80 -serviceGroupName `<service group name>` -boundServiceGroupSvcType HTTP -vsvrbindsvcport 80 -azureTagName `<Azure tag specified on Azure portal>` -azureTagValue `<Azure value specified on the Azure portal>` -azurePollPeriod 60

<!--NeedCopy-->

重要提示:

您必须保存所有配置;否则,重新启动实例后配置将丢失。键入 save config

示例 1:以下是为所有带有“myTagName/myTagValue”标签的 Azure VM/NIC 的 HTTP 流量创建云配置文件的示例命令:

add cloud profile MyTagCloudProfile -type azuretags -vServerName MyTagVServer -serviceType HTTP -IPAddress 40.115.116.57 -port 80 -serviceGroupName MyTagsServiceGroup -boundServiceGroupSvcType HTTP -vsvrbindsvcport 80 -azureTagName myTagName -azureTagValue myTagValue -azurePollPeriod 60
Done
<!--NeedCopy-->

要显示云配置文件,请键入 show cloudprofile

示例 2:以下 CLI 命令打印示例 1 中新添加的云配置文件的信息。

show cloudprofile
1)    Name:  MyTagCloudProfile Type:  azuretags         VServerName:  MyTagVServer ServiceType:  HTTP       IPAddress:  52.178.209.133 Port:  80                ServiceGroupName:  MyTagsServiceGroup BoundServiceGroupSvcType:  HTTP
      Vsvrbindsvcport:  80     AzureTagName:  myTagName AzureTagValue:  myTagValue AzurePollPeriod:  60     GraceFul:  NO            Delay:  60
<!--NeedCopy-->

要删除云配置文件,请键入 rm cloud profile <cloud profile name>

示例 3:以下命令删除示例 1 中创建的云配置文件。

> rm cloudprofile MyTagCloudProfile
  Done
<!--NeedCopy-->

故障排除

问题:在极少数情况下,“rm cloud profile”CLI 命令可能无法删除与已删除云配置文件关联的服务组和服务器。这发生在命令发出时,距离要删除的云配置文件的轮询周期结束仅有几秒钟。

解决方案:通过为每个剩余的服务组输入以下 CLI 命令,手动删除剩余的服务组:

#> rm servicegroup <serviceGroupName>

<!--NeedCopy-->

此外,通过为每个剩余的服务器输入以下 CLI 命令,删除每个剩余的服务器:

#> rm server <name>
<!--NeedCopy-->

问题:如果您使用 CLI 将 Azure 标签设置添加到 VPX 实例,则在热重启后,rain_tags 进程会继续在 HA 对节点上运行。

解决方案:在热重启后,手动终止辅助节点上的进程。从辅助 HA 节点的 CLI 退出到 shell 提示符:

#> shell

<!--NeedCopy-->

使用以下命令终止 rain_tags 进程:

# PID=`ps -aux | grep rain_tags | awk '{print $2}'`; kill -9 $PID

<!--NeedCopy-->

问题:后端服务器可能无法访问,并且尽管健康,但被 VPX 实例报告为 DOWN。 解决方案:确保 VPX 实例可以访问与后端服务器对应的标记 IP 地址。对于标记的 NIC,这是 NIC IP 地址;而对于标记的 VM,这是 VM 的主 IP 地址。如果 VM/NIC 位于不同的 Azure VNet 上,请确保已启用 VNet 对等互连。

适用于 NetScaler VPX 部署的艾泽标签