github.com/openshift/installer@v1.4.17/upi/azure/03_infra.json (about) 1 { 2 "$schema" : "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", 3 "contentVersion" : "1.0.0.0", 4 "parameters" : { 5 "baseName" : { 6 "type" : "string", 7 "minLength" : 1, 8 "metadata" : { 9 "description" : "Base name to be used in resource names (usually the cluster's Infra ID)" 10 } 11 }, 12 "vnetBaseName": { 13 "type": "string", 14 "defaultValue": "", 15 "metadata" : { 16 "description" : "The specific customer vnet's base name (optional)" 17 } 18 }, 19 "privateDNSZoneName" : { 20 "type" : "string", 21 "metadata" : { 22 "description" : "Name of the private DNS zone" 23 } 24 } 25 }, 26 "variables" : { 27 "location" : "[resourceGroup().location]", 28 "virtualNetworkName" : "[concat(if(not(empty(parameters('vnetBaseName'))), parameters('vnetBaseName'), parameters('baseName')), '-vnet')]", 29 "virtualNetworkID" : "[resourceId('Microsoft.Network/virtualNetworks', variables('virtualNetworkName'))]", 30 "masterSubnetName" : "[concat(if(not(empty(parameters('vnetBaseName'))), parameters('vnetBaseName'), parameters('baseName')), '-master-subnet')]", 31 "masterSubnetRef" : "[concat(variables('virtualNetworkID'), '/subnets/', variables('masterSubnetName'))]", 32 "masterPublicIpAddressName" : "[concat(parameters('baseName'), '-master-pip')]", 33 "masterPublicIpAddressID" : "[resourceId('Microsoft.Network/publicIPAddresses', variables('masterPublicIpAddressName'))]", 34 "masterLoadBalancerName" : "[parameters('baseName')]", 35 "masterLoadBalancerID" : "[resourceId('Microsoft.Network/loadBalancers', variables('masterLoadBalancerName'))]", 36 "internalLoadBalancerName" : "[concat(parameters('baseName'), '-internal-lb')]", 37 "internalLoadBalancerID" : "[resourceId('Microsoft.Network/loadBalancers', variables('internalLoadBalancerName'))]", 38 "skuName": "Standard" 39 }, 40 "resources" : [ 41 { 42 "apiVersion" : "2018-12-01", 43 "type" : "Microsoft.Network/publicIPAddresses", 44 "name" : "[variables('masterPublicIpAddressName')]", 45 "location" : "[variables('location')]", 46 "sku": { 47 "name": "[variables('skuName')]" 48 }, 49 "properties" : { 50 "publicIPAllocationMethod" : "Static", 51 "dnsSettings" : { 52 "domainNameLabel" : "[variables('masterPublicIpAddressName')]" 53 } 54 } 55 }, 56 { 57 "apiVersion" : "2018-12-01", 58 "type" : "Microsoft.Network/loadBalancers", 59 "name" : "[variables('masterLoadBalancerName')]", 60 "location" : "[variables('location')]", 61 "sku": { 62 "name": "[variables('skuName')]" 63 }, 64 "dependsOn" : [ 65 "[concat('Microsoft.Network/publicIPAddresses/', variables('masterPublicIpAddressName'))]" 66 ], 67 "properties" : { 68 "frontendIPConfigurations" : [ 69 { 70 "name" : "public-lb-ip-v4", 71 "properties" : { 72 "publicIPAddress" : { 73 "id" : "[variables('masterPublicIpAddressID')]" 74 } 75 } 76 } 77 ], 78 "backendAddressPools" : [ 79 { 80 "name" : "[variables('masterLoadBalancerName')]" 81 } 82 ], 83 "loadBalancingRules" : [ 84 { 85 "name" : "api-internal", 86 "properties" : { 87 "frontendIPConfiguration" : { 88 "id" :"[concat(variables('masterLoadBalancerID'), '/frontendIPConfigurations/public-lb-ip-v4')]" 89 }, 90 "backendAddressPool" : { 91 "id" : "[concat(variables('masterLoadBalancerID'), '/backendAddressPools/', variables('masterLoadBalancerName'))]" 92 }, 93 "protocol" : "Tcp", 94 "loadDistribution" : "Default", 95 "idleTimeoutInMinutes" : 30, 96 "frontendPort" : 6443, 97 "backendPort" : 6443, 98 "probe" : { 99 "id" : "[concat(variables('masterLoadBalancerID'), '/probes/api-internal-probe')]" 100 } 101 } 102 } 103 ], 104 "probes" : [ 105 { 106 "name" : "api-internal-probe", 107 "properties" : { 108 "protocol" : "Https", 109 "port" : 6443, 110 "requestPath": "/readyz", 111 "intervalInSeconds" : 10, 112 "numberOfProbes" : 3 113 } 114 } 115 ] 116 } 117 }, 118 { 119 "apiVersion" : "2018-12-01", 120 "type" : "Microsoft.Network/loadBalancers", 121 "name" : "[variables('internalLoadBalancerName')]", 122 "location" : "[variables('location')]", 123 "sku": { 124 "name": "[variables('skuName')]" 125 }, 126 "properties" : { 127 "frontendIPConfigurations" : [ 128 { 129 "name" : "internal-lb-ip", 130 "properties" : { 131 "privateIPAllocationMethod" : "Dynamic", 132 "subnet" : { 133 "id" : "[variables('masterSubnetRef')]" 134 }, 135 "privateIPAddressVersion" : "IPv4" 136 } 137 } 138 ], 139 "backendAddressPools" : [ 140 { 141 "name" : "internal-lb-backend" 142 } 143 ], 144 "loadBalancingRules" : [ 145 { 146 "name" : "api-internal", 147 "properties" : { 148 "frontendIPConfiguration" : { 149 "id" : "[concat(variables('internalLoadBalancerID'), '/frontendIPConfigurations/internal-lb-ip')]" 150 }, 151 "frontendPort" : 6443, 152 "backendPort" : 6443, 153 "enableFloatingIP" : false, 154 "idleTimeoutInMinutes" : 30, 155 "protocol" : "Tcp", 156 "enableTcpReset" : false, 157 "loadDistribution" : "Default", 158 "backendAddressPool" : { 159 "id" : "[concat(variables('internalLoadBalancerID'), '/backendAddressPools/internal-lb-backend')]" 160 }, 161 "probe" : { 162 "id" : "[concat(variables('internalLoadBalancerID'), '/probes/api-internal-probe')]" 163 } 164 } 165 }, 166 { 167 "name" : "sint", 168 "properties" : { 169 "frontendIPConfiguration" : { 170 "id" : "[concat(variables('internalLoadBalancerID'), '/frontendIPConfigurations/internal-lb-ip')]" 171 }, 172 "frontendPort" : 22623, 173 "backendPort" : 22623, 174 "enableFloatingIP" : false, 175 "idleTimeoutInMinutes" : 30, 176 "protocol" : "Tcp", 177 "enableTcpReset" : false, 178 "loadDistribution" : "Default", 179 "backendAddressPool" : { 180 "id" : "[concat(variables('internalLoadBalancerID'), '/backendAddressPools/internal-lb-backend')]" 181 }, 182 "probe" : { 183 "id" : "[concat(variables('internalLoadBalancerID'), '/probes/sint-probe')]" 184 } 185 } 186 } 187 ], 188 "probes" : [ 189 { 190 "name" : "api-internal-probe", 191 "properties" : { 192 "protocol" : "Https", 193 "port" : 6443, 194 "requestPath": "/readyz", 195 "intervalInSeconds" : 10, 196 "numberOfProbes" : 3 197 } 198 }, 199 { 200 "name" : "sint-probe", 201 "properties" : { 202 "protocol" : "Https", 203 "port" : 22623, 204 "requestPath": "/healthz", 205 "intervalInSeconds" : 10, 206 "numberOfProbes" : 3 207 } 208 } 209 ] 210 } 211 }, 212 { 213 "apiVersion": "2018-09-01", 214 "type": "Microsoft.Network/privateDnsZones/A", 215 "name": "[concat(parameters('privateDNSZoneName'), '/api')]", 216 "location" : "[variables('location')]", 217 "dependsOn" : [ 218 "[concat('Microsoft.Network/loadBalancers/', variables('internalLoadBalancerName'))]" 219 ], 220 "properties": { 221 "ttl": 60, 222 "aRecords": [ 223 { 224 "ipv4Address": "[reference(variables('internalLoadBalancerName')).frontendIPConfigurations[0].properties.privateIPAddress]" 225 } 226 ] 227 } 228 }, 229 { 230 "apiVersion": "2018-09-01", 231 "type": "Microsoft.Network/privateDnsZones/A", 232 "name": "[concat(parameters('privateDNSZoneName'), '/api-int')]", 233 "location" : "[variables('location')]", 234 "dependsOn" : [ 235 "[concat('Microsoft.Network/loadBalancers/', variables('internalLoadBalancerName'))]" 236 ], 237 "properties": { 238 "ttl": 60, 239 "aRecords": [ 240 { 241 "ipv4Address": "[reference(variables('internalLoadBalancerName')).frontendIPConfigurations[0].properties.privateIPAddress]" 242 } 243 ] 244 } 245 } 246 ] 247 }