1+ {
2+ "$schema" : " https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#" ,
3+ "contentVersion" : " 1.0.0.0" ,
4+ "parameters" : {
5+ "kubernetesClusterName" : {
6+ "type" : " string" ,
7+ "metadata" : {
8+ "description" : " The name of Nexus Kubernetes cluster"
9+ }
10+ },
11+ "location" : {
12+ "type" : " string" ,
13+ "defaultValue" : " [resourceGroup().location]" ,
14+ "metadata" : {
15+ "description" : " The Azure region where the cluster is to be deployed"
16+ }
17+ },
18+ "extendedLocation" : {
19+ "type" : " string" ,
20+ "metadata" : {
21+ "description" : " The custom location of the Nexus instance"
22+ }
23+ },
24+ "tags" : {
25+ "type" : " object" ,
26+ "defaultValue" : {},
27+ "metadata" : {
28+ "description" : " Tags to be associated with the resource"
29+ }
30+ },
31+ "adminUsername" : {
32+ "type" : " string" ,
33+ "defaultValue" : " azureuser" ,
34+ "metadata" : {
35+ "description" : " The username for the administrative account on the cluster"
36+ }
37+ },
38+ "sshPublicKey" : {
39+ "type" : " string" ,
40+ "defaultValue" : " " ,
41+ "metadata" : {
42+ "description" : " The SSH public key that will be associated with the 'azureuser' user for secure remote login"
43+ }
44+ },
45+ "agentPoolNodeCount" : {
46+ "type" : " int" ,
47+ "defaultValue" : 1 ,
48+ "metadata" : {
49+ "description" : " Number of nodes in the agent pool"
50+ }
51+ },
52+ "agentPoolName" : {
53+ "type" : " string" ,
54+ "defaultValue" : " nodepool-2" ,
55+ "metadata" : {
56+ "description" : " Agent pool name"
57+ }
58+ },
59+ "agentVmSku" : {
60+ "type" : " string" ,
61+ "defaultValue" : " NC_M4_v1" ,
62+ "allowedValues" : [
63+ " NC_M4_v1" ,
64+ " NC_M8_v1" ,
65+ " NC_M12_v1" ,
66+ " NC_M16_v1" ,
67+ " NC_M32_v1" ,
68+ " NC_M36_v1" ,
69+ " NC_M44_v1"
70+ ],
71+ "metadata" : {
72+ "description" : " VM size of the agent nodes. Allowed values: NC_M4_v1, NC_M8_v1, NC_M12_v1, NC_M16_v1, NC_M32_v1, NC_M36_v1, NC_M44_v1"
73+ }
74+ },
75+ "agentPoolZones" : {
76+ "type" : " array" ,
77+ "defaultValue" : [],
78+ "metadata" : {
79+ "description" : " The zones/racks used for placement of the agent pool nodes"
80+ }
81+ /* array of strings Example: ["1", "2", "3"] */
82+ },
83+ "agentPoolMode" : {
84+ "type" : " string" ,
85+ "defaultValue" : " User" ,
86+ "metadata" : {
87+ "description" : " Agent pool mode"
88+ }
89+ },
90+ "agentOptions" : {
91+ "type" : " object" ,
92+ "defaultValue" : {},
93+ "metadata" : {
94+ "description" : " The configurations for the initial agent pool"
95+ }
96+ /*
97+ "hugepagesCount" : int,
98+ "hugepagesSize" : " 2M/1G"
99+ */
100+ },
101+ "labels" : {
102+ "type" : " array" ,
103+ "defaultValue" : [],
104+ "metadata" : {
105+ "description" : " The labels to assign to the nodes in the cluster for identification and organization"
106+ }
107+ /*
108+ {
109+ "key" : " string" ,
110+ "value" : " string"
111+ }
112+ */
113+ },
114+ "taints" : {
115+ "type" : " array" ,
116+ "defaultValue" : [],
117+ "metadata" : {
118+ "description" : " The taints to apply to the nodes in the cluster to restrict which pods can be scheduled on them"
119+ }
120+ /*
121+ {
122+ "key" : " string" ,
123+ "value" : " string:NoSchedule|PreferNoSchedule|NoExecute"
124+ }
125+ */
126+ },
127+ "l2Networks" : {
128+ "type" : " array" ,
129+ "defaultValue" : [],
130+ "metadata" : {
131+ "description" : " The Layer 2 networks to connect to the agent pool"
132+ }
133+ /*
134+ {
135+ "networkId" : " string" ,
136+ "pluginType" : " SRIOV|DPDK|OSDevice|MACVLAN|IPVLAN"
137+ }
138+ */
139+ },
140+ "l3Networks" : {
141+ "type" : " array" ,
142+ "defaultValue" : [],
143+ "metadata" : {
144+ "description" : " The Layer 3 networks to connect to the agent pool"
145+ }
146+ /*
147+ {
148+ "ipamEnabled" : " True/False" ,
149+ "networkId" : " string" ,
150+ "pluginType" : " SRIOV|DPDK|OSDevice|MACVLAN|IPVLAN"
151+ }
152+ */
153+ },
154+ "trunkedNetworks" : {
155+ "type" : " array" ,
156+ "defaultValue" : [],
157+ "metadata" : {
158+ "description" : " The trunked networks to connect to the agent pool"
159+ }
160+ /*
161+ {
162+ "networkId" : " string" ,
163+ "pluginType" : " SRIOV|DPDK|OSDevice|MACVLAN|IPVLAN"
164+ }
165+ */
166+ }
167+ },
168+ "resources" : [
169+ {
170+ "type" : " Microsoft.NetworkCloud/kubernetesClusters/agentpools" ,
171+ "apiVersion" : " 2023-05-01-preview" ,
172+ "name" : " [concat(parameters('kubernetesClusterName'), '/', parameters('kubernetesClusterName'), '-', parameters('agentPoolName'))]" ,
173+ "location" : " [parameters('location')]" ,
174+ "extendedLocation" : {
175+ "name" : " [parameters('extendedLocation')]" ,
176+ "type" : " CustomLocation"
177+ },
178+ "properties" : {
179+ "count" : " [parameters('agentPoolNodeCount')]" ,
180+ "mode" : " [parameters('agentPoolMode')]" ,
181+ "vmSkuName" : " [parameters('agentVmSku')]" ,
182+ "labels" : " [if(empty(parameters('labels')), json('null'), parameters('labels'))]" ,
183+ "taints" : " [if(empty(parameters('taints')), json('null'), parameters('taints'))]" ,
184+ "agentOptions" : " [if(empty(parameters('agentOptions')), json('null'), parameters('agentOptions'))]" ,
185+ "attachedNetworkConfiguration" : {
186+ "l2Networks" : " [if(empty(parameters('l2Networks')), json('null'), parameters('l2Networks'))]" ,
187+ "l3Networks" : " [if(empty(parameters('l3Networks')), json('null'), parameters('l3Networks'))]" ,
188+ "trunkedNetworks" : " [if(empty(parameters('trunkedNetworks')), json('null'), parameters('trunkedNetworks'))]"
189+ },
190+ "availabilityZones" : " [if(empty(parameters('agentPoolZones')), json('null'), parameters('agentPoolZones'))]" ,
191+ "upgradeSettings" : {
192+ "maxSurge" : " 1"
193+ }
194+ },
195+ "dependsOn" : []
196+ }
197+ ]
198+ }
0 commit comments