Citrix ADC VPX 部署的 Azure 标签

在 Azure 云门户中,您可以使用名称:值对(如深度:财务)标记资源,以跨资源组和门户内跨订阅对资源进行分类和查看。当您需要为计费或管理或自动化组织资源时,标记非常有用。

Azure 标签如何适用于 VPX 部署

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

VPX 实例创建使用标签对后端服务器进行负载平衡的服务组。实例在 Azure API 中查询使用特定标签名称和标签值标记的所有资源。根据分配的轮询周期(默认情况下 60 秒),VPX 实例定期轮询 Azure API 并检索可用的资源,并在 VPX GUI 中分配的标签名称和标签值。无论何时添加或删除具有相应标签的虚拟机或网卡时,ADC 都会检测相应的更改,并自动从服务组中添加或删除虚拟机或网卡 IP 地址。

如何标签作品

准备工作

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

Create-Azure-tags

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

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

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

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

  1. 在 VPX GUI 中,转到 配置 > Azure > 云配置文件
  2. 单击添加以创建云配置文件。此时将打开云配置文件窗口。

Add-Azure-tags

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

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

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

在 Citrix ADC 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

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

例 1:以下是一个云配置文件的示例命令,用于标记为“Mytag名称/mytagvalue”对的所有 Azure VMs/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

要显示云配置文件,请键入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

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

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

> rm cloudprofile MyTagCloudProfile
  Done

故障排除

问题:在极少数情况下,“rm 云配置文件”CLI 命令可能无法删除与已删除的云配置文件关联的服务组和服务器。如果在删除的云配置文件的轮询周期之前几秒钟发出命令,则会发生这种情况。

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

#> rm servicegroup <serviceGroupName>

还可以通过为每个剩余服务器输入以下 CLI 命令来删除每个剩余服务器:

#> rm server <name>

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

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

#> shell

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

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

问题:尽管正常,但后端服务器可能无法访问,并通过 VPX 微测报告为 DUN。 解决方案:确保 VPX 实例可以到达与后端服务器对应的标记 IP 地址。对于标记的 NIC,这是 NIC IP 地址;而对于标记的 VM,这是 VM 的主 IP 地址。如果虚拟机/网卡驻留在不同的 Azure 虚拟网络上,请确保启用了虚拟网络对等。