在 vmss 负载均衡器中编辑入站 NAT 池

Edit inbound NAT pool in vmss loadbalancer

我正在尝试通过 Azure cli 将端口 8172 的 NAT 池添加到现有的负载均衡器。 我发现我认为是正确的命令:

az network lb inbound-nat-pool update --lb-name
                                  --name
                                  --resource-group
                                  [--add]
                                  [--backend-port]
                                  [--frontend-ip-name]
                                  [--frontend-port-range-end]
                                  [--frontend-port-range-start]
                                  [--protocol {All, Tcp, Udp}]
                                  [--remove]
                                  [--set]

我想我需要使用 --add 选项。 但下一步是什么?如何在添加命令中指定前后端设置?

规模集使用 NAT 池,而不是规则。

此处显示配置的示例 ARM 模板:https://github.com/gatneil/mvss/blob/load-balancer/azuredeploy.json

I'm trying to add a NAT pool for port 8172 to an existing loadbalancer via Azure cli.

不幸的是,对于包含与比例尺。

如果您想为 VMSS 添加 NAT 规则,也许我们应该重新创建它。

如果我们使用 CLI 2.0 添加或更新入站规则,我们将收到此错误消息

C:\Users>az network lb inbound-nat-rule create -g jasonvmss --lb-name jasonvmsslb --protocol TCP --frontend-port 8172 --backend-port 8172 -n nat1
Adding or updating NAT Rules when NAT pool is present on loadbalancer /subscriptions/5384xxxx-xxxx-xxxx-xxxx-xxxxe29a7b15/resourceGroups/jasonvmss/providers/Microsoft.Network/loadBalancers/jasonvmsslb is not supported. To modify the load balancer, pass in all NAT rules unchanged or remove the LoadBalancerInboundNatRules property from your PUT request.

更新:

我们可以使用 az network lb inbound-nat-pool create 创建入站 nat 池,它工作正常。命令如下:

az network lb inbound-nat-pool create --backend-port
                                      --frontend-port-range-end
                                      --frontend-port-range-start
                                      --lb-name
                                      --name
                                      --protocol {All, Tcp, Udp}
                                      --resource-group

我意识到解决方案是创建一个额外的 nat-pool:

az network lb inbound-nat-pool create

您实际上可以修改入站 NAT 池,您只需确保在您这样做时它们没有被 VMSS 使用。我写了一篇关于相关主题的 blog post:删除由将调试器附加到 Service Fabric 集群的人创建的 NAT 规则。

这种方法的缺点是可能会停机,因为您暂时断开了 VMSS 和 NAT 池的连接。

首先使用 ARM 模板更新 VMSS 只保留 networkProfile 部分中所需的 LB 池配置(如果池配置需要deleted 存在,去掉这个。如果不存在,忽略)。

更新 VMSS 后,检查 VMSS 没有与需要在 AzureResourceExplorer 中删除的后端池有任何关联。

一旦VMSS没有关联,我们可以从portal/using ARM模板中删除地址池