无法更新自动缩放配置。 (Azure 规模集)
Failed to update autoscale configuration. (Azure scale set)
我在尝试手动将 Azure 规模集上的实例数增加到 10 以上时收到以下错误。
Failed to update autoscale configuration for 'XXXX'.{ "error": {
"details": [], "code":
"InboundNatPoolFrontendPortRangeSmallerThanRequestedPorts",
"message": "The frontend port range for the inboundNATpool
/subscriptions/xxxx/resourceGroups/xxxx/providers/Microsoft.Network/loadBalancers/LB-xxx/inboundNatPools/DebuggerListenerNatPool-4vhwwa8stp
is smaller than the requested number of ports 15 in VM scale set
/subscriptions/xxx/resourceGroups/xxxx/providers/Microsoft.Compute/virtualMachineScaleSets/XXXX."
} }
实例的默认数量为 3,最多 10 个的任何数量都可以正常工作。订阅有大量可用内核。
查看 Azure 门户中引用的负载均衡器,我看不到任何明显与此错误消息相关的设置。 LB 的设置 'SKU' 的值为 'Basic',我猜这可能是个问题? (尽管阅读此内容会表明限制为 100)
代码 'InboundNatPoolFrontendPortRangeSmallerThanRequestedPorts' 没有 google 个结果,搜索部分错误消息没有给出任何有意义的结果。
感谢任何指点
确保
- 您在子网中的 IP 地址范围足够大
- 如果您通过 PowerShell 或 CLI 手动扩展
,您还需要向负载均衡器添加一个 "Inbound NAT rule"
"InboundNatPoolFrontendPortRangeSmallerThanRequestedPorts"
此错误消息表示,您的负载均衡器 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池,请参考
请记住,如果您过度配置,您将暂时获得比您要求的更多的 VM(文档 here)。所以你需要有足够的 NAT 规则来容纳额外的虚拟机。您永远不需要超过 VM 数量的 NAT 规则的 2 倍(因此,如果您的 VM 最大值为 10,则池中的 NAT 规则永远不应超过 20)。
在我的例子中,我使用一个名为 EtwListenerNatPool-qs8az5dmgu 的入站 NAT 池进行负载平衡,它的 运行ge 只有 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>
我在尝试手动将 Azure 规模集上的实例数增加到 10 以上时收到以下错误。
Failed to update autoscale configuration for 'XXXX'.{ "error": { "details": [], "code": "InboundNatPoolFrontendPortRangeSmallerThanRequestedPorts", "message": "The frontend port range for the inboundNATpool /subscriptions/xxxx/resourceGroups/xxxx/providers/Microsoft.Network/loadBalancers/LB-xxx/inboundNatPools/DebuggerListenerNatPool-4vhwwa8stp is smaller than the requested number of ports 15 in VM scale set /subscriptions/xxx/resourceGroups/xxxx/providers/Microsoft.Compute/virtualMachineScaleSets/XXXX." } }
实例的默认数量为 3,最多 10 个的任何数量都可以正常工作。订阅有大量可用内核。
查看 Azure 门户中引用的负载均衡器,我看不到任何明显与此错误消息相关的设置。 LB 的设置 'SKU' 的值为 'Basic',我猜这可能是个问题? (尽管阅读此内容会表明限制为 100)
代码 'InboundNatPoolFrontendPortRangeSmallerThanRequestedPorts' 没有 google 个结果,搜索部分错误消息没有给出任何有意义的结果。
感谢任何指点
确保
- 您在子网中的 IP 地址范围足够大
- 如果您通过 PowerShell 或 CLI 手动扩展 ,您还需要向负载均衡器添加一个 "Inbound NAT rule"
"InboundNatPoolFrontendPortRangeSmallerThanRequestedPorts"
此错误消息表示,您的负载均衡器 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
此处
请记住,如果您过度配置,您将暂时获得比您要求的更多的 VM(文档 here)。所以你需要有足够的 NAT 规则来容纳额外的虚拟机。您永远不需要超过 VM 数量的 NAT 规则的 2 倍(因此,如果您的 VM 最大值为 10,则池中的 NAT 规则永远不应超过 20)。
在我的例子中,我使用一个名为 EtwListenerNatPool-qs8az5dmgu 的入站 NAT 池进行负载平衡,它的 运行ge 只有 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>