Skip to content

Commit 1ade58c

Browse files
authored
Merge pull request #238069 from dramasamy/aks-ga
Nexus AKS QuickStart - ARM template, CLI and Bicep
2 parents 0861c03 + 1bfbd6e commit 1ade58c

16 files changed

+1403
-0
lines changed

articles/operator-nexus/TOC.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,15 @@
1515
href: concepts-observability.md
1616
- name: Quickstarts
1717
items:
18+
- name: Deploy Nexus Kubernetes cluster
19+
expanded: true
20+
items:
21+
- name: Use the Azure CLI
22+
href: quickstarts-kubernetes-cluster-deployment-cli.md
23+
- name: Use ARM template
24+
href: quickstarts-kubernetes-cluster-deployment-arm.md
25+
- name: Use Bicep file
26+
href: quickstarts-kubernetes-cluster-deployment-bicep.md
1827
- name: Before you start workload deployment
1928
href: quickstarts-tenant-workload-prerequisites.md
2029
- name: Tenant workload deployment
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
3+
"contentVersion": "1.0.0.0",
4+
"parameters": {
5+
"kubernetesClusterName":{
6+
"value": "myNexusAKSCluster"
7+
},
8+
"extendedLocation": {
9+
"value": "/subscriptions/<subscription_id>/resourceGroups/<resource_group>/providers/microsoft.extendedlocation/customlocations/<custom-location-name>"
10+
}
11+
}
12+
}
Lines changed: 198 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,198 @@
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

Comments
 (0)