ADC

部署 NetScaler VPX 的 Azure 标签

在 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 地址。

How-tags-works

开始之前的准备工作

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

Create-Azure-tags

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

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

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

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

  1. 从 VPX GUI 中,转到 Configuration(配置)> Azure > Cloud Profile(云配置文件)
  2. 单击“Add”(添加)创建云配置文件。此时将打开云配置文件窗口。

Add-Azure-tags

  1. 为以下字段输入值:
    • Name(名称):为您的配置文件添加名称
    • Virtual Server IP Address(虚拟服务器 IP 地址):虚拟服务器 IP 地址是从 VPX 实例可用的可用 IP 地址自动填充的。有关更 多信息,请参阅使用 Azure 门户为虚拟机分配多个 IP 地址
    • Type(类型):从菜单中选择“AZURETAGS”。
    • Azure Tag Name(Azure 标记名称):输入已分配给 Azure 门户中的 VM 或 NIC 的名称。
    • Azure Tag Value(Azure 标记值):输入已分配给 Azure 门户中的 VM 或 NIC 的值。
    • Azure Poll Periods(Azure 轮询周期):默认情况下,轮询周期为 60 秒,即最小值。可以根据您的要求进行更改。
    • Load Balancing Server Protocol(负载平衡服务器协议):选择负载均衡器侦听的协议。
    • Load Balancing Server Port(负载平衡服务器端口):选择负载均衡器侦听的端口。
    • Azure tag setting(Azure 标记设置):将为此云配置文件创建的服务组的名称。
    • Azure Tag Setting Protocol(Azure 标记设置协议):选择后端服务器侦听的协议。
    • Azure Tag Setting Port(Azure 标记设置端口):选择后端服务器侦听的端口。
  2. 单击 Create(创建)。

将为带标记的 VM 或 NIC 创建负载均衡器虚拟服务器和服务组。要查看负载均衡器虚拟服务器,请从 VPX GUI 中导航到 Traffic Management(流量管理)> Load Balancing(负载平衡)> Virtual Servers(虚拟服务器)

如何使用 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_tag 进程将继续在高可用性对节点上运行。

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

#> shell

<!--NeedCopy-->

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

# 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 的 Azure 标签