You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This how-to guide explains the steps for deploying VNF and CNF workloads. Section V (for VM-based deployments) deals with creating VMs and to deploy VNF workloads. Section K (for Kubernetes; based deployments) specifies steps for creating AKS-Hybrid clusters for deploying CNF workloads.
15
15
16
-
These examples don't specify all required parameters and, thus, shouldn't be used verbatim.
16
+
You shouldn't use the examples verbatim as they don't specify all required parameters.
17
17
18
18
## Before you begin
19
19
20
20
You should complete the prerequisites specified [here](./quickstarts-tenant-workload-prerequisites.md).
21
21
22
-
**Capacity Note:**
23
-
24
-
Say, each server has two CPU chipsets and each CPU chip has 28 cores. Then with hyperthreading enabled (default), the CPU chip supports 56 vCPUs. 10 vCPUs are reserved for infrastructure (OS, agents, emulator thread, etc.) with the remaining 46 vCPUs available for your workloads (maximum VM size).
25
-
26
22
## Section V: how to create VMs for deploying VNF workloads
27
23
28
24
Step-V1: [Create isolation-domains for VMs](#step-v1-create-isolation-domain-for-vm-workloads)
@@ -71,9 +67,9 @@ This section describes how to create the following networks for VM Workloads:
71
67
72
68
#### Create an L2 network
73
69
74
-
You'll need to create an L2 network if necessary for your VM. You can repeat the instructions for each L2 network required.
70
+
Create an L2 network, if necessary, for your VM. You can repeat the instructions for each L2 network required.
75
71
76
-
You'll need the resource ID of the L2 isolation-domain you [created](#l2-isolation-domain) that configures the VLAN for this network.
72
+
Gather the resource ID of the L2 isolation-domain you [created](#l2-isolation-domain) that configures the VLAN for this network.
77
73
78
74
Example CLI command:
79
75
@@ -88,16 +84,18 @@ Example CLI command:
88
84
89
85
#### Create an L3 network
90
86
91
-
You'll need to create an L3 network if necessary for your VM. You can repeat the instructions for each L3 network required.
87
+
Create an L3 network, if necessary, for your VM. Repeat the instructions for each L3 network required.
92
88
93
-
You'll need:
89
+
You need:
94
90
95
91
- resource ID of the L3 isolation-domain you [created](#l3-isolation-domain) that configures the VLAN for this network.
96
92
- The ipv4-connected-prefix must match the i-pv4-connected-prefix that is in the L3 isolation-domain
97
93
- The ipv6-connected-prefix must match the i-pv6-connected-prefix that is in the L3 isolation-domain
98
94
- The ip-allocation-type can be either "IPv4", "IPv6", or "DualStack" (default)
99
95
- The VLAN value must match what is in the L3 isolation-domain
100
-
- The MTU of the network doesn't need to be specified here, but the network will be configured with the same MTU information
96
+
97
+
<!--- The MTU wasn't specified during l2 isolation domain creation so what is "same"
98
+
- The MTU of the network doesn't need to be specified here, but the network will be configured with the MTU information --->
101
99
102
100
```azurecli
103
101
az networkcloud l3network create --name "<YourL3NetworkName>" \
@@ -114,9 +112,9 @@ You'll need:
114
112
115
113
#### Create a trunked network
116
114
117
-
You'll need to create a trunked network if necessary for your VM. You can repeat the instructions for each Trunked network required.
115
+
Create a trunked network, if necessary, for your VM. Repeat the instructions for each trunked network required.
118
116
119
-
You'll need to gather the resourceId(s) of the L2 and L3 isolation-domains you created earlier to configure the VLAN(s) for this network.
117
+
Gather the resourceId(s) of the L2 and L3 isolation-domains you created earlier to configure the VLAN(s) for this network.
120
118
You can include as many L2 and L3 isolation-domains as needed.
121
119
122
120
```azurecli
@@ -137,7 +135,7 @@ You can include as many L2 and L3 isolation-domains as needed.
137
135
138
136
### Create cloud services network
139
137
140
-
Your VM will require one Cloud Services Network. You'll need the egress endpoints you want to add to the proxy for your VM to access.
138
+
Your VM requires at least one Cloud Services Network. You need the egress endpoints you want to add to the proxy for your VM to access.
141
139
142
140
```azurecli
143
141
az networkcloud cloudservicesnetwork create --name "<YourCloudServicesNetworkName>" \
@@ -150,9 +148,9 @@ Your VM will require one Cloud Services Network. You'll need the egress endpoint
150
148
151
149
### Step V3: create a VM
152
150
153
-
Operator Nexus Virtual Machines (VM) can be used for hosting VNF(s) within a Telco network.
154
-
Operator Nexus provides `az networkcloud virtualmachine create` to enable users to create a customized
155
-
VM. For creating a virtual machine on your cluster, have it [Microsoft Azure Arc-enrolled](//azure/azure-arc/servers/overview),
151
+
Operator Nexus Virtual Machines (VM) are used for hosting VNF(s) within a Telco network.
152
+
The Nexus platform provides `az networkcloud virtualmachine create` to create a customized VM.
153
+
For hosting a VNF on your VM, have it [Microsoft Azure Arc-enrolled](//azure/azure-arc/servers/overview),
156
154
and provide a way to ssh to it via Azure CLI.
157
155
158
156
#### Parameters
@@ -167,7 +165,7 @@ and provide a way to ssh to it via Azure CLI.
167
165
-**SERVICE_PRINCIPAL_SECRET**=
168
166
- A tenant ID
169
167
-**TENANT_ID**=
170
-
-If the VM image is hosted in a managed ACR, a generated token for access
168
+
-For a VM image hosted in a managed ACR, a generated token for access
171
169
-**ACR_URL**=
172
170
-**ACR_USERNAME**=
173
171
-**ACR_TOKEN**=
@@ -233,13 +231,16 @@ az deployment group create --resource-group _RESOURCE_GROUP_ --subscription=_SUB
233
231
234
232
#### 3. SSH to the VM
235
233
236
-
It will take a few minutes for the VM to be created and then Arc connected, so should it fail at first, try again after a short wait.
234
+
It takes a few minutes for the VM to be created and then Arc connected. Should your attempt fail at first, try again after a short wait.
237
235
238
236
```azurecli
239
237
az ssh vm -n _VMNAME_ -g _RESOURCE_GROUP_ --subscription _SUBSCRIPTION_ --private-key _SSH_PRIVATE_KEY_ --local-user _ADMINUSER_
240
238
```
241
239
242
-
Here's some information you'll need.
240
+
**Capacity Note:**
241
+
If each server has two CPU chipsets and each CPU chip has 28 cores. Then with hyper-threading enabled (default), the CPU chip supports 56 vCPUs. With 8 vCPUs in each chip reserved for infrastructure (OS, agents), the remaining 48 are available for tenant workloads.
242
+
243
+
Gather this information:
243
244
244
245
- The `resourceId` of the `cloudservicesnetwork`
245
246
- The `resourceId(s)` for each of the L2/L3/Trunked networks
@@ -311,7 +312,8 @@ You should have the following information already:
311
312
- BGP peering and network policies information for your L3 isolation-domain(s)
312
313
- VLANs for all your layer 2 network(s)
313
314
- VLANs for all your trunked network(s)
314
-
- MTU needs to be passed during creation of isolation-domain, due to a known issue. The issue will be fixed with the 11/15 release.
315
+
<!--- The MTU isn't being specified and "11/15"?
316
+
- MTU needs to be passed during creation of isolation-domain, due to a known issue. The issue will be fixed with the 11/15 release. --->
315
317
316
318
#### L2 isolation domain
317
319
@@ -339,7 +341,7 @@ At a minimum, you need to create a "Default CNI network" and a "Cloud Services n
339
341
340
342
##### Create an L2 network for AKS-Hybrid cluster
341
343
342
-
You'll need the resourceId of the [L2 isolation-domain](#l2-isolation-domain-1) you created earlier that configures the VLAN for this network.
344
+
You need the resourceId of the [L2 isolation-domain](#l2-isolation-domain-1) you created earlier that configures the VLAN for this network.
343
345
344
346
For your network, the valid values for
345
347
`hybrid-aks-plugin-type` are `OSDevice`, `SR-IOV`, `DPDK`; the default value is `SR-IOV`.
@@ -356,16 +358,17 @@ For your network, the valid values for
356
358
357
359
##### Create an L3 network for AKS-Hybrid cluster
358
360
359
-
You'll need the following information:
361
+
You need the following information:
360
362
361
363
- The `resourceId` of the [L3 isolation-domain](#l3-isolation-domain) domain you created earlier that configures the VLAN for this network.
362
364
- The `ipv4-connected-prefix` must match the i-pv4-connected-prefix that is in the L3 isolation-domain
363
365
- The `ipv6-connected-prefix` must match the i-pv6-connected-prefix that is in the L3 isolation-domain
364
366
- The `ip-allocation-type` can be either "IPv4", "IPv6", or "DualStack" (default)
365
367
- The VLAN value must match what is in the L3 isolation-domain
366
-
- The MTU of the network doesn't need to be specified here as the network will be configured with the MTU specified during isolation-domain creation
368
+
<!--- The MTU wasn't specified during l2 isolation domain creation so what is "same"
369
+
- The MTU of the network doesn't need to be specified here as the network will be configured with the MTU specified during isolation-domain creation --->
367
370
368
-
You'll also need to configure the following information for your aks-hybrid cluster
371
+
You also need to configure the following information for your aks-hybrid cluster
369
372
370
373
- hybrid-aks-ipam-enabled: If you want IPAM enabled for this network within your AKS-hybrid cluster. Default: True
371
374
- hybrid-aks-plugin-type: valid values are `OSDevice`, `SR-IOV`, `DPDK`. Default: `SR-IOV`
@@ -387,9 +390,9 @@ You'll also need to configure the following information for your aks-hybrid clus
387
390
388
391
##### Create a trunked network for AKS-hybrid cluster
389
392
390
-
You'll need to gather the resourceId(s) of the L2 and L3 isolation-domains you created earlier that configured the VLAN(s) for this network. You're allowed to include as many L2 and L3 isolation-domains as needed.
393
+
Gather the resourceId(s) of the L2 and L3 isolation-domains you created earlier that configured the VLAN(s) for this network. You can include as many L2 and L3 isolation-domains as needed.
391
394
392
-
You'll also need to configure the following information for your network
395
+
You also need to configure the following information for your network
393
396
394
397
- hybrid-aks-plugin-type: valid values are `OSDevice`, `SR-IOV`, `DPDK`. Default: `SR-IOV`
395
398
@@ -412,14 +415,14 @@ You'll also need to configure the following information for your network
412
415
413
416
##### Create default CNI network for AKS-Hybrid cluster
414
417
415
-
You'll need the following information:
418
+
You need the following information:
416
419
417
420
-`resourceId` of the L3 isolation-domain you created earlier that configures the VLAN for this network.
418
421
- The ipv4-connected-prefix must match the i-pv4-connected-prefix that is in the L3 isolation-domain
419
422
- The ipv6-connected-prefix must match the i-pv6-connected-prefix that is in the L3 isolation-domain
420
423
- The ip-allocation-type can be either "IPv4", "IPv6", or "DualStack" (default)
421
424
- The VLAN value must match what is in the L3 isolation-domain
422
-
-The network MTU doesn't need to be specified here, but the network will be configured with the same MTU information
425
+
-You don't need to specify the network MTU here, as the network will be configured with the same MTU information as used previously
423
426
424
427
```azurecli
425
428
az networkcloud defaultcninetwork create --name "<YourDefaultCniNetworkName>" \
@@ -436,9 +439,7 @@ You'll need the following information:
436
439
437
440
##### Create cloud services network for AKS-Hybrid cluster
438
441
439
-
You'll need the following information:
440
-
441
-
- The egress endpoints you want to add to the proxy for your VM to access.
442
+
You need the egress endpoints you want to add to the proxy for your VM to access.
442
443
443
444
```azurecli
444
445
az networkcloud cloudservicesnetwork create --name "<YourCloudServicesNetworkName>" \
@@ -449,7 +450,7 @@ You'll need the following information:
Copy file name to clipboardExpand all lines: articles/operator-nexus/quickstarts-tenant-workload-prerequisites.md
+20-21Lines changed: 20 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,32 +20,31 @@ This guide explains prerequisites for creating VMs for VNF workloads and AKS-Hyb
20
20
21
21
## Preparation
22
22
23
-
You'll need to create various networks based on your workload needs. The following are some
23
+
You need to create various networks based on your workload needs. The following are some
24
24
recommended questions to consider, but this list is by no means exhaustive. Consult with
25
25
the appropriate support team(s) for help:
26
26
27
27
- What type of network(s) would you need to support your workload?
28
28
- A layer 3 network requires a VLAN and subnet assignment
29
29
- Subnet must be large enough to support IP assignment to each of the VM
30
-
- Note the first three usable IP addresses are reserved for internal use by the
31
-
platform. For instance, to support 6 VMs, then the minimum CIDR for
30
+
- Note the platform reserves the first three usable IP addresses for internal use.
31
+
For instance, to support 6 VMs, then the minimum CIDR for
32
32
your subnet is /28 (14 usable address – 3 reserved == 11 addresses available)
33
33
- A layer 2 network requires only a single VLAN assignment
34
34
- A trunked network requires the assignment of multiple VLANs
35
-
- Determine how many networks of each type you'll need
35
+
- Determine how many networks of each type you need
36
36
- Determine the MTU size of each of your networks (maximum is 9000)
37
-
- Determine the BGP peering info for each network, and whether they'll need to talk to
37
+
- Determine the BGP peering info for each network, and whether they need to talk to
38
38
each other. You should group networks that need to talk to each other into the same L3
39
39
isolation-domain, as each L3 isolation-domain can support multiple layer 3 networks.
40
-
- You'll be provided with a proxy to allow your VM to reach other external endpoints.
41
-
You'll be asked later to create a `cloudservicesnetwork` where you'll need to supply the
42
-
endpoints to be proxied, so now will be a good time to gather that list of endpoints
43
-
(you can update the list of endpoints after the network is created)
44
-
- For AKS-Hybrid cluster, you'll also be creating a `defaultcninetwork` to support your
45
-
cluster CNI networking needs, you'll need to come up with another VLAN/subnet
46
-
assignment similar to a layer 3 network.
40
+
- Platform provides a proxy to allow your VM to reach other external endpoints.
41
+
Creating a `cloudservicesnetwork` requires the endpoints to be proxied. So gather the list of endpoints.
42
+
You can modify the list of endpoints after the network creation.
43
+
- For AKS-Hybrid cluster, you need to create a `defaultcninetwork` to support your
44
+
cluster CNI networking needs. You need another VLAN/subnet
45
+
assignment for the `defaultcninetwork` similar to a layer 3 network.
47
46
48
-
You'll need:
47
+
You need:
49
48
50
49
- your Azure account and the subscription ID of Operator Nexus cluster deployment
51
50
- the `custom location` resource ID of your Operator Nexus cluster
@@ -63,18 +62,18 @@ Install latest version of the
63
62
64
63
## Operator Nexus workload images
65
64
66
-
These images will be used when creating your workload VMs. Make sure each is a
67
-
containerized image in either `qcow2` or `raw` disk format and is uploaded to an Azure Container
65
+
Make sure that each image, used for creating your workload VMs, is a
66
+
containerized image in either `qcow2` or `raw` disk format. Upload these images to an Azure Container
68
67
Registry. If your Azure Container Registry is password protected, you can supply this info when creating your VM.
69
68
Refer to [Operator Nexus VM disk image build procedure](#operator-nexus-vm-disk-image-build-procedure) for an example for pulling from an anonymous Azure Container Registry.
70
69
71
70
### Operator Nexus VM disk image build procedure
72
71
73
-
This is a paper-exercise example of an anonymous pull of an image from Azure Container Registry.
74
-
It assumes that you already have an existing VM instance image in `qcow2` format and that the image is set up to boot with cloud-init. A working docker build and runtime environment is required.
72
+
This build procedure is a paper-exercise example of an anonymous pull of an image from Azure Container Registry.
73
+
It assumes that you already have an existing VM instance image in `qcow2` format and that the image can boot with cloud-init. The procedure requires a working docker build and runtime environment.
75
74
76
75
Create a dockerfile that copies the `qcow2` image file into the container's /disk directory. Place in an expected directory with correct permissions.
77
-
For example, a Dockerfile named `workload-vm-img-dockerfile`:
76
+
For example, a Dockerfile named `aods-vm-img-dockerfile`:
78
77
79
78
```bash
80
79
FROM scratch
@@ -85,7 +84,7 @@ Using the docker command, build the image and tag to a Docker registry (such as
85
84
The docker command assumes the `qcow2` file is in the same directory as your Dockerfile.
0 commit comments