1+ {
2+ "$schema" : " https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#" ,
3+ "contentVersion" : " 1.0.0.0" ,
4+ "parameters" : {
5+ "routeTables_bdcaks_rt_name" : {
6+ "defaultValue" : " bdcaks-rt" ,
7+ "type" : " String"
8+ },
9+ "virtualNetworks_bdc_vnet_name" : {
10+ "defaultValue" : " bdc-vnet" ,
11+ "type" : " String"
12+ },
13+ "azureFirewalls_bdcaksazfw_name" : {
14+ "defaultValue" : " bdcaksazfw" ,
15+ "type" : " String"
16+ },
17+ "publicIPAddresses_bdcaksazfw_ip_name" : {
18+ "defaultValue" : " bdcaksazfw-ip" ,
19+ "type" : " String"
20+ },
21+ "managedClusters_bdcaksprivatecluster_name" : {
22+ "defaultValue" : " bdcaksprivatecluster" ,
23+ "type" : " String"
24+ }
25+ },
26+ "variables" : {},
27+ "resources" : [
28+ {
29+ "type" : " Microsoft.Network/publicIPAddresses" ,
30+ "apiVersion" : " 2020-05-01" ,
31+ "name" : " [parameters('publicIPAddresses_bdcaksazfw_ip_name')]" ,
32+ "location" : " northeurope" ,
33+ "sku" : {
34+ "name" : " Standard"
35+ },
36+ "properties" : {
37+ "ipAddress" : " 51.104.159.190" ,
38+ "publicIPAddressVersion" : " IPv4" ,
39+ "publicIPAllocationMethod" : " Static" ,
40+ "idleTimeoutInMinutes" : 4 ,
41+ "ipTags" : []
42+ }
43+ },
44+ {
45+ "type" : " Microsoft.Network/routeTables" ,
46+ "apiVersion" : " 2020-05-01" ,
47+ "name" : " [parameters('routeTables_bdcaks_rt_name')]" ,
48+ "location" : " northeurope" ,
49+ "properties" : {
50+ "disableBgpRoutePropagation" : false ,
51+ "routes" : [
52+ {
53+ "name" : " bdcaksrouteinet" ,
54+ "properties" : {
55+ "addressPrefix" : " 51.104.159.190/32" ,
56+ "nextHopType" : " Internet"
57+ }
58+ },
59+ {
60+ "name" : " bdcaksroute" ,
61+ "properties" : {
62+ "addressPrefix" : " 0.0.0.0/0" ,
63+ "nextHopType" : " VirtualAppliance" ,
64+ "nextHopIpAddress" : " 10.2.0.4"
65+ }
66+ }
67+ ]
68+ }
69+ },
70+ {
71+ "type" : " Microsoft.ContainerService/managedClusters" ,
72+ "apiVersion" : " 2020-06-01" ,
73+ "name" : " [parameters('managedClusters_bdcaksprivatecluster_name')]" ,
74+ "location" : " northeurope" ,
75+ "dependsOn" : [
76+ " [resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('virtualNetworks_bdc_vnet_name'), 'aks-subnet')]"
77+ ],
78+ "sku" : {
79+ "name" : " Basic" ,
80+ "tier" : " Free"
81+ },
82+ "properties" : {
83+ "kubernetesVersion" : " 1.16.13" ,
84+ "dnsPrefix" : " bdcakspriv-private-bdc-rg-a00fa0" ,
85+ "agentPoolProfiles" : [
86+ {
87+ "name" : " nodepool1" ,
88+ "count" : 2 ,
89+ "vmSize" : " Standard_D13_v2" ,
90+ "osDiskSizeGB" : 128 ,
91+ "vnetSubnetID" : " [resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('virtualNetworks_bdc_vnet_name'), 'aks-subnet')]" ,
92+ "maxPods" : 30 ,
93+ "type" : " VirtualMachineScaleSets" ,
94+ "orchestratorVersion" : " 1.16.13" ,
95+ "enableNodePublicIP" : false ,
96+ "nodeLabels" : {},
97+ "mode" : " System" ,
98+ "osType" : " Linux" ,
99+ "nodeImageVersion" : " AKSUbuntu-1604-2020.07.16"
100+ }
101+ ],
102+ "linuxProfile" : {
103+ "adminUsername" : " azureuser" ,
104+ "ssh" : {
105+ "publicKeys" : [
106+ {
107+ "keyData" : " ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+2Ev5GnLtDTsb/xnYFVFqyJejTQy+tH9Z5jhh4h+h1zDLZESubjzKkSIcBaUq1BDypC2HWY3GojxOW8QSKtlxdZNMBoX2/POsc+XeU/iPPYi243wMCBKOyIS5iLrT+86sDCDSVScmaFiA7fGSQOp3ghYY+517s1yWFWdbbChVP0OWjPDa8CeiMPDJFraT5stcFuEJ/ef1qidz48bvJJJKiKQ+7VS4VjqKFsM+n7uvKC0V5hZZ6WH7Ld5q1zR4OImySiYHRzNob6Q9f14MOTCu+JLbdONZLRAR83daw30fCL2V8NGqSVFAA/oRwarZpCZvrNJSCUUc6esDax36pEjx"
108+ }
109+ ]
110+ }
111+ },
112+ "windowsProfile" : {
113+ "adminUsername" : " azureuser"
114+ },
115+ "servicePrincipalProfile" : {
116+ "clientId" : " 17915f2a-09da-4729-8f62-c7121f28a4f2"
117+ },
118+ "addonProfiles" : {
119+ "KubeDashboard" : {
120+ "enabled" : true
121+ }
122+ },
123+ "nodeResourceGroup" : " [concat('MC_private-bdc-rg_', parameters('managedClusters_bdcaksprivatecluster_name'), '_northeurope')]" ,
124+ "enableRBAC" : true ,
125+ "networkProfile" : {
126+ "networkPlugin" : " azure" ,
127+ "loadBalancerSku" : " Standard" ,
128+ "serviceCidr" : " 10.3.0.0/24" ,
129+ "dnsServiceIP" : " 10.3.0.10" ,
130+ "dockerBridgeCidr" : " 172.17.0.1/16" ,
131+ "outboundType" : " userDefinedRouting"
132+ },
133+ "apiServerAccessProfile" : {
134+ "enablePrivateCluster" : true
135+ }
136+ }
137+ },
138+ {
139+ "type" : " Microsoft.Network/routeTables/routes" ,
140+ "apiVersion" : " 2020-05-01" ,
141+ "name" : " [concat(parameters('routeTables_bdcaks_rt_name'), '/bdcaksroute')]" ,
142+ "dependsOn" : [
143+ " [resourceId('Microsoft.Network/routeTables', parameters('routeTables_bdcaks_rt_name'))]"
144+ ],
145+ "properties" : {
146+ "addressPrefix" : " 0.0.0.0/0" ,
147+ "nextHopType" : " VirtualAppliance" ,
148+ "nextHopIpAddress" : " 10.2.0.4"
149+ }
150+ },
151+ {
152+ "type" : " Microsoft.Network/routeTables/routes" ,
153+ "apiVersion" : " 2020-05-01" ,
154+ "name" : " [concat(parameters('routeTables_bdcaks_rt_name'), '/bdcaksrouteinet')]" ,
155+ "dependsOn" : [
156+ " [resourceId('Microsoft.Network/routeTables', parameters('routeTables_bdcaks_rt_name'))]"
157+ ],
158+ "properties" : {
159+ "addressPrefix" : " 51.104.159.190/32" ,
160+ "nextHopType" : " Internet"
161+ }
162+ },
163+ {
164+ "type" : " Microsoft.Network/virtualNetworks" ,
165+ "apiVersion" : " 2020-05-01" ,
166+ "name" : " [parameters('virtualNetworks_bdc_vnet_name')]" ,
167+ "location" : " northeurope" ,
168+ "dependsOn" : [
169+ " [resourceId('Microsoft.Network/routeTables', parameters('routeTables_bdcaks_rt_name'))]"
170+ ],
171+ "properties" : {
172+ "addressSpace" : {
173+ "addressPrefixes" : [
174+ " 10.0.0.0/8"
175+ ]
176+ },
177+ "dhcpOptions" : {
178+ "dnsServers" : []
179+ },
180+ "subnets" : [
181+ {
182+ "name" : " AzureFirewallSubnet" ,
183+ "properties" : {
184+ "addressPrefix" : " 10.2.0.0/24" ,
185+ "delegations" : [],
186+ "privateEndpointNetworkPolicies" : " Enabled" ,
187+ "privateLinkServiceNetworkPolicies" : " Enabled"
188+ }
189+ },
190+ {
191+ "name" : " aks-subnet" ,
192+ "properties" : {
193+ "addressPrefix" : " 10.1.0.0/16" ,
194+ "routeTable" : {
195+ "id" : " [resourceId('Microsoft.Network/routeTables', parameters('routeTables_bdcaks_rt_name'))]"
196+ },
197+ "delegations" : [],
198+ "privateEndpointNetworkPolicies" : " Disabled" ,
199+ "privateLinkServiceNetworkPolicies" : " Enabled"
200+ }
201+ }
202+ ],
203+ "virtualNetworkPeerings" : [],
204+ "enableDdosProtection" : false ,
205+ "enableVmProtection" : false
206+ }
207+ },
208+ {
209+ "type" : " Microsoft.Network/virtualNetworks/subnets" ,
210+ "apiVersion" : " 2020-05-01" ,
211+ "name" : " [concat(parameters('virtualNetworks_bdc_vnet_name'), '/AzureFirewallSubnet')]" ,
212+ "dependsOn" : [
213+ " [resourceId('Microsoft.Network/virtualNetworks', parameters('virtualNetworks_bdc_vnet_name'))]"
214+ ],
215+ "properties" : {
216+ "addressPrefix" : " 10.2.0.0/24" ,
217+ "delegations" : [],
218+ "privateEndpointNetworkPolicies" : " Enabled" ,
219+ "privateLinkServiceNetworkPolicies" : " Enabled"
220+ }
221+ },
222+ {
223+ "type" : " Microsoft.ContainerService/managedClusters/agentPools" ,
224+ "apiVersion" : " 2020-06-01" ,
225+ "name" : " [concat(parameters('managedClusters_bdcaksprivatecluster_name'), '/nodepool1')]" ,
226+ "dependsOn" : [
227+ " [resourceId('Microsoft.ContainerService/managedClusters', parameters('managedClusters_bdcaksprivatecluster_name'))]" ,
228+ " [resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('virtualNetworks_bdc_vnet_name'), 'aks-subnet')]"
229+ ],
230+ "properties" : {
231+ "count" : 2 ,
232+ "vmSize" : " Standard_D13_v2" ,
233+ "osDiskSizeGB" : 128 ,
234+ "vnetSubnetID" : " [resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('virtualNetworks_bdc_vnet_name'), 'aks-subnet')]" ,
235+ "maxPods" : 30 ,
236+ "type" : " VirtualMachineScaleSets" ,
237+ "orchestratorVersion" : " 1.16.13" ,
238+ "enableNodePublicIP" : false ,
239+ "nodeLabels" : {},
240+ "mode" : " System" ,
241+ "osType" : " Linux" ,
242+ "nodeImageVersion" : " AKSUbuntu-1604-2020.07.16"
243+ }
244+ },
245+ {
246+ "type" : " Microsoft.Network/azureFirewalls" ,
247+ "apiVersion" : " 2020-05-01" ,
248+ "name" : " [parameters('azureFirewalls_bdcaksazfw_name')]" ,
249+ "location" : " northeurope" ,
250+ "dependsOn" : [
251+ " [resourceId('Microsoft.Network/publicIPAddresses', parameters('publicIPAddresses_bdcaksazfw_ip_name'))]" ,
252+ " [resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('virtualNetworks_bdc_vnet_name'), 'AzureFirewallSubnet')]"
253+ ],
254+ "properties" : {
255+ "sku" : {
256+ "name" : " AZFW_VNet" ,
257+ "tier" : " Standard"
258+ },
259+ "threatIntelMode" : " Alert" ,
260+ "additionalProperties" : {
261+ "Network.DNS.EnableProxy" : " True" ,
262+ "Network.DNS.RequireProxyForNetworkRules" : " True"
263+ },
264+ "ipConfigurations" : [
265+ {
266+ "name" : " [concat(parameters('azureFirewalls_bdcaksazfw_name'), '-config')]" ,
267+ "properties" : {
268+ "publicIPAddress" : {
269+ "id" : " [resourceId('Microsoft.Network/publicIPAddresses', parameters('publicIPAddresses_bdcaksazfw_ip_name'))]"
270+ },
271+ "subnet" : {
272+ "id" : " [resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('virtualNetworks_bdc_vnet_name'), 'AzureFirewallSubnet')]"
273+ }
274+ }
275+ }
276+ ],
277+ "networkRuleCollections" : [
278+ {
279+ "name" : " aksfwnr" ,
280+ "properties" : {
281+ "priority" : 100 ,
282+ "action" : {
283+ "type" : " Allow"
284+ },
285+ "rules" : [
286+ {
287+ "name" : " apiudp" ,
288+ "protocols" : [
289+ " UDP"
290+ ],
291+ "sourceAddresses" : [
292+ " *"
293+ ],
294+ "destinationAddresses" : [
295+ " AzureCloud.northeurope"
296+ ],
297+ "sourceIpGroups" : [],
298+ "destinationIpGroups" : [],
299+ "destinationFqdns" : [],
300+ "destinationPorts" : [
301+ " 1194"
302+ ]
303+ },
304+ {
305+ "name" : " apitcp" ,
306+ "protocols" : [
307+ " TCP"
308+ ],
309+ "sourceAddresses" : [
310+ " *"
311+ ],
312+ "destinationAddresses" : [
313+ " AzureCloud.northeurope"
314+ ],
315+ "sourceIpGroups" : [],
316+ "destinationIpGroups" : [],
317+ "destinationFqdns" : [],
318+ "destinationPorts" : [
319+ " 9000"
320+ ]
321+ },
322+ {
323+ "name" : " time" ,
324+ "protocols" : [
325+ " UDP"
326+ ],
327+ "sourceAddresses" : [
328+ " *"
329+ ],
330+ "destinationAddresses" : [],
331+ "sourceIpGroups" : [],
332+ "destinationIpGroups" : [],
333+ "destinationFqdns" : [
334+ " ntp.ubuntu.com"
335+ ],
336+ "destinationPorts" : [
337+ " 123"
338+ ]
339+ }
340+ ]
341+ }
342+ }
343+ ],
344+ "applicationRuleCollections" : [],
345+ "natRuleCollections" : []
346+ }
347+ },
348+ {
349+ "type" : " Microsoft.Network/virtualNetworks/subnets" ,
350+ "apiVersion" : " 2020-05-01" ,
351+ "name" : " [concat(parameters('virtualNetworks_bdc_vnet_name'), '/aks-subnet')]" ,
352+ "dependsOn" : [
353+ " [resourceId('Microsoft.Network/virtualNetworks', parameters('virtualNetworks_bdc_vnet_name'))]" ,
354+ " [resourceId('Microsoft.Network/routeTables', parameters('routeTables_bdcaks_rt_name'))]"
355+ ],
356+ "properties" : {
357+ "addressPrefix" : " 10.1.0.0/16" ,
358+ "routeTable" : {
359+ "id" : " [resourceId('Microsoft.Network/routeTables', parameters('routeTables_bdcaks_rt_name'))]"
360+ },
361+ "delegations" : [],
362+ "privateEndpointNetworkPolicies" : " Disabled" ,
363+ "privateLinkServiceNetworkPolicies" : " Enabled"
364+ }
365+ }
366+ ]
367+ }
0 commit comments