From f82da9016a307c2de0cd49e96a016994bcbb1e02 Mon Sep 17 00:00:00 2001 From: Jinyun Ma Date: Tue, 19 Aug 2025 18:24:43 +0800 Subject: [PATCH] Azure: change LB and pubic IP skus to Standard --- upi/azurestack/03_infra.json | 49 +++++++++++++++++++++++++++++++- upi/azurestack/04_bootstrap.json | 2 +- upi/azurestack/05_masters.json | 4 +++ upi/azurestack/06_workers.json | 10 +++++-- 4 files changed, 61 insertions(+), 4 deletions(-) diff --git a/upi/azurestack/03_infra.json b/upi/azurestack/03_infra.json index 7c5c7fc753..6dc7098b4f 100644 --- a/upi/azurestack/03_infra.json +++ b/upi/azurestack/03_infra.json @@ -21,9 +21,12 @@ "masterLoadBalancerName" : "[concat(parameters('baseName'))]", "masterLoadBalancerID" : "[resourceId('Microsoft.Network/loadBalancers', variables('masterLoadBalancerName'))]", "masterAvailabilitySetName" : "[concat(parameters('baseName'), '-cluster')]", + "outboundPulicIpAddressName" : "[concat(parameters('baseName'), '-outbound-pip')]", + "outboundPulicIpAddressID" : "[resourceId('Microsoft.Network/publicIPAddresses', variables('outboundPulicIpAddressName'))]", + "outboundBackendPoolName" : "[concat(parameters('baseName'), '-outbound')]", "internalLoadBalancerName" : "[concat(parameters('baseName'), '-internal')]", "internalLoadBalancerID" : "[resourceId('Microsoft.Network/loadBalancers', variables('internalLoadBalancerName'))]", - "skuName": "Basic" + "skuName": "Standard" }, "resources" : [ { @@ -56,6 +59,21 @@ }, { "apiVersion" : "2017-10-01", + "type" : "Microsoft.Network/publicIPAddresses", + "name" : "[variables('outboundPulicIpAddressName')]", + "location" : "[variables('location')]", + "sku": { + "name": "[variables('skuName')]" + }, + "properties" : { + "publicIPAllocationMethod" : "Static", + "dnsSettings" : { + "domainNameLabel" : "[variables('outboundPulicIpAddressName')]" + } + } + }, + { + "apiVersion" : "2018-06-01", "type" : "Microsoft.Network/loadBalancers", "name" : "[variables('masterLoadBalancerName')]", "location" : "[variables('location')]", @@ -74,11 +92,22 @@ "id" : "[variables('masterPublicIpAddressID')]" } } + }, + { + "name" : "outbound-frontendEnd", + "properties" : { + "publicIPAddress" : { + "id" : "[variables('outboundPulicIpAddressID')]" + } + } } ], "backendAddressPools" : [ { "name" : "[variables('masterLoadBalancerName')]" + }, + { + "name" : "[variables('outboundBackendPoolName')]" } ], "loadBalancingRules" : [ @@ -102,6 +131,24 @@ } } ], + "outboundRules": [ + { + "name": "OutboundNATAllProtocols", + "properties": { + "backendAddressPool": { + "id": "[concat(variables('masterLoadBalancerID'), '/backendAddressPools/', variables('outboundBackendPoolName'))]" + }, + "enableTcpReset": false, + "frontendIPConfigurations": [ + { + "id": "[concat(variables('masterLoadBalancerID'), '/frontendIPConfigurations/outbound-frontendEnd')]" + } + ], + "idleTimeoutInMinutes": 4, + "protocol": "All" + } + } + ], "probes" : [ { "name" : "api-public-probe", diff --git a/upi/azurestack/04_bootstrap.json b/upi/azurestack/04_bootstrap.json index dd53e30ba8..0d10d87509 100644 --- a/upi/azurestack/04_bootstrap.json +++ b/upi/azurestack/04_bootstrap.json @@ -56,7 +56,7 @@ "name" : "[variables('sshPublicIpAddressName')]", "location" : "[variables('location')]", "sku": { - "name": "Basic" + "name": "Standard" }, "properties" : { "publicIPAllocationMethod" : "Static", diff --git a/upi/azurestack/05_masters.json b/upi/azurestack/05_masters.json index 93add4eaf5..180e124fc3 100644 --- a/upi/azurestack/05_masters.json +++ b/upi/azurestack/05_masters.json @@ -48,6 +48,7 @@ "masterLoadBalancerName" : "[concat(parameters('baseName'))]", "masterAvailabilitySetName" : "[concat(parameters('baseName'), '-cluster')]", "internalLoadBalancerName" : "[concat(parameters('baseName'), '-internal')]", + "outboundBackendPoolName" : "[concat(parameters('baseName'), '-outbound')]", "sshKeyPath" : "/home/core/.ssh/authorized_keys", "clusterNsgName" : "[concat(parameters('baseName'), '-nsg')]", "imageName" : "[parameters('baseName')]", @@ -98,6 +99,9 @@ { "id" : "[concat('/subscriptions/', subscription().subscriptionId, '/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/loadBalancers/', variables('masterLoadBalancerName'), '/backendAddressPools/', variables('masterLoadBalancerName'))]" }, + { + "id" : "[concat('/subscriptions/', subscription().subscriptionId, '/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/loadBalancers/', variables('masterLoadBalancerName'), '/backendAddressPools/', variables('outboundBackendPoolName'))]" + }, { "id" : "[concat('/subscriptions/', subscription().subscriptionId, '/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/loadBalancers/', variables('internalLoadBalancerName'), '/backendAddressPools/', variables('internalLoadBalancerName'))]" } diff --git a/upi/azurestack/06_workers.json b/upi/azurestack/06_workers.json index 13848b0e12..995601aa88 100644 --- a/upi/azurestack/06_workers.json +++ b/upi/azurestack/06_workers.json @@ -47,7 +47,8 @@ "virtualNetworkID" : "[resourceId('Microsoft.Network/virtualNetworks', variables('virtualNetworkName'))]", "nodeSubnetName" : "[concat(parameters('baseName'), '-worker-subnet')]", "nodeSubnetRef" : "[concat(variables('virtualNetworkID'), '/subnets/', variables('nodeSubnetName'))]", - "infraLoadBalancerName" : "[parameters('baseName')]", + "masterLoadBalancerName" : "[concat(parameters('baseName'))]", + "outboundBackendPoolName" : "[concat(parameters('baseName'), '-outbound')]", "sshKeyPath" : "/home/core/.ssh/authorized_keys", "imageName" : "[parameters('baseName')]", "masterAvailabilitySetName" : "[concat(parameters('baseName'), '-cluster')]", @@ -93,7 +94,12 @@ "privateIPAllocationMethod" : "Dynamic", "subnet" : { "id" : "[variables('nodeSubnetRef')]" - } + }, + "loadBalancerBackendAddressPools" : [ + { + "id" : "[concat('/subscriptions/', subscription().subscriptionId, '/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/loadBalancers/', variables('masterLoadBalancerName'), '/backendAddressPools/', variables('outboundBackendPoolName'))]" + } + ] } } ]