1

尝试手动将 Azure 规模集上的实例数增加到 10 以上时,我收到以下错误。

无法更新 'XXXX' 的自动缩放配置。{ "error": { "details": [], "code": "InboundNatPoolFrontendPortRangeSmallerThanRequestedPorts", "message": "inboundNATpool /subscriptions/xxxx/resourceGroups/ 的前端端口范围xxxx/providers/Microsoft.Network/loadBalancers/LB-xxx/inboundNatPools/DebuggerListenerNatPool-4vhwwa8stp 小于 VM 规模集 /subscriptions/xxx/resourceGroups/xxxx/providers/Microsoft.Compute/virtualMachineScaleSets/XXXX 中请求的端口数 15 。” } }

默认实例数为 3,最多 10 个的任何数量都可以按预期工作。订阅有大量可用内核。

查看 Azure 门户中引用的负载均衡器,我看不到任何明显链接到此错误消息的设置。LB 有一个设置“SKU”,其值为“基本”,我猜这可能是个问题?(尽管阅读此内容将表明限制为 100)

代码“InboundNatPoolFrontendPortRangeSmallerThanRequestedPorts”没有谷歌搜索结果,搜索部分错误消息没有给出任何有意义的结果。

任何指针表示赞赏

4

4 回答 4

1

“入站 NatPool 前端端口范围比请求端口小”

此错误消息意味着,您的负载均衡器 NAT 池小于VM 规模集中请求的端口数 15。

这是一个示例 VMSS NAT 池:

 "variables": {
 "natStartPort": 50000,
 "natEndPort": 50119,
 "natBackendPort": 3389,}
 "inboundNatPools": [
          {
            "name": "[variables('natPoolName')]",
            "properties": {
              "frontendIPConfiguration": {
                "id": "[variables('frontEndIPConfigID')]"
              },
              "protocol": "tcp",
              "frontendPortRangeStart": "[variables('natStartPort')]",
              "frontendPortRangeEnd": "[variables('natEndPort')]",
              "backendPort": "[variables('natBackendPort')]"
            }
          }
        ],

请检查您的NAT 池范围

关于在 VMSS 负载均衡器中编辑入站 NAT 池,我们可以使用 CLI 2.0 进行编辑:

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

这里有一个类似的编辑VMSS NAT pool的案例,请参考。

于 2017-11-13T02:08:43.767 回答
1

请记住,如果您启用了过度配置,您将暂时获得比您要求的更多的虚拟机(此处的文档)。因此,您需要有足够的 NAT 规则来容纳额外的虚拟机。您永远不需要超过 2 倍于 VM 的 NAT 规则(因此,如果您的 VM 最大值为 10,则池中的 NAT 规则永远不需要超过 20 个)。

于 2017-11-13T17:32:17.553 回答
0

在我的例子中,我使用一个名为 EtwListenerNatPool-qs8az5dmgu 的入站 NAT 池进行负载平衡,该池只有 15 个端口,限制我们只能扩展到 15 个实例。为了解决这个问题,我在 Azure CLI 中运行了以下命令(您的名称可能不同,您可以在门户中查看池):

az login
az network lb inbound-nat-pool create --backend-port 810 --frontend-port-range-end 860 --frontend-port-range-start 810 --lb-name <lbName> --name EtwListenerNatPool-qs8az5dmgu --protocol Tcp --resource-group <resourceGroup>
于 2019-11-15T02:41:42.447 回答
0

确保

  • 您在子网中的 IP 地址范围足够大
  • 如果您通过 PowerShell 或 CLI 手动扩展,您还可以向负载均衡器添加“入站 NAT 规则”
于 2017-11-12T00:17:42.170 回答