Skip to content

Commit ba510f3

Browse files
Merge pull request #229354 from pgoyal01/release-preview-operator-nexus
Active voice changes
2 parents bfd7f4b + 133c575 commit ba510f3

File tree

2 files changed

+54
-54
lines changed

2 files changed

+54
-54
lines changed

articles/operator-nexus/quickstarts-tenant-workload-deployment.md

Lines changed: 34 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,12 @@ ms.custom: template-quickstart #Required; leave this attribute/value as-is.
1313

1414
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.
1515

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.
1717

1818
## Before you begin
1919

2020
You should complete the prerequisites specified [here](./quickstarts-tenant-workload-prerequisites.md).
2121

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-
2622
## Section V: how to create VMs for deploying VNF workloads
2723

2824
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:
7167

7268
#### Create an L2 network
7369

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.
7571

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.
7773

7874
Example CLI command:
7975

@@ -88,16 +84,18 @@ Example CLI command:
8884

8985
#### Create an L3 network
9086

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.
9288

93-
You'll need:
89+
You need:
9490

9591
- resource ID of the L3 isolation-domain you [created](#l3-isolation-domain) that configures the VLAN for this network.
9692
- The ipv4-connected-prefix must match the i-pv4-connected-prefix that is in the L3 isolation-domain
9793
- The ipv6-connected-prefix must match the i-pv6-connected-prefix that is in the L3 isolation-domain
9894
- The ip-allocation-type can be either "IPv4", "IPv6", or "DualStack" (default)
9995
- 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 --->
10199

102100
```azurecli
103101
az networkcloud l3network create --name "<YourL3NetworkName>" \
@@ -114,9 +112,9 @@ You'll need:
114112

115113
#### Create a trunked network
116114

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.
118116

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.
120118
You can include as many L2 and L3 isolation-domains as needed.
121119

122120
```azurecli
@@ -137,7 +135,7 @@ You can include as many L2 and L3 isolation-domains as needed.
137135

138136
### Create cloud services network
139137

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.
141139

142140
```azurecli
143141
az networkcloud cloudservicesnetwork create --name "<YourCloudServicesNetworkName>" \
@@ -150,9 +148,9 @@ Your VM will require one Cloud Services Network. You'll need the egress endpoint
150148

151149
### Step V3: create a VM
152150

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),
156154
and provide a way to ssh to it via Azure CLI.
157155

158156
#### Parameters
@@ -167,7 +165,7 @@ and provide a way to ssh to it via Azure CLI.
167165
- **SERVICE_PRINCIPAL_SECRET**=
168166
- A tenant ID
169167
- **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
171169
- **ACR_URL**=
172170
- **ACR_USERNAME**=
173171
- **ACR_TOKEN**=
@@ -233,13 +231,16 @@ az deployment group create --resource-group _RESOURCE_GROUP_ --subscription=_SUB
233231

234232
#### 3. SSH to the VM
235233

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.
237235

238236
```azurecli
239237
az ssh vm -n _VMNAME_ -g _RESOURCE_GROUP_ --subscription _SUBSCRIPTION_ --private-key _SSH_PRIVATE_KEY_ --local-user _ADMINUSER_
240238
```
241239

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:
243244

244245
- The `resourceId` of the `cloudservicesnetwork`
245246
- The `resourceId(s)` for each of the L2/L3/Trunked networks
@@ -311,7 +312,8 @@ You should have the following information already:
311312
- BGP peering and network policies information for your L3 isolation-domain(s)
312313
- VLANs for all your layer 2 network(s)
313314
- 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. --->
315317

316318
#### L2 isolation domain
317319

@@ -339,7 +341,7 @@ At a minimum, you need to create a "Default CNI network" and a "Cloud Services n
339341

340342
##### Create an L2 network for AKS-Hybrid cluster
341343

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.
343345

344346
For your network, the valid values for
345347
`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
356358

357359
##### Create an L3 network for AKS-Hybrid cluster
358360

359-
You'll need the following information:
361+
You need the following information:
360362

361363
- The `resourceId` of the [L3 isolation-domain](#l3-isolation-domain) domain you created earlier that configures the VLAN for this network.
362364
- The `ipv4-connected-prefix` must match the i-pv4-connected-prefix that is in the L3 isolation-domain
363365
- The `ipv6-connected-prefix` must match the i-pv6-connected-prefix that is in the L3 isolation-domain
364366
- The `ip-allocation-type` can be either "IPv4", "IPv6", or "DualStack" (default)
365367
- 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 --->
367370

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
369372

370373
- hybrid-aks-ipam-enabled: If you want IPAM enabled for this network within your AKS-hybrid cluster. Default: True
371374
- 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
387390

388391
##### Create a trunked network for AKS-hybrid cluster
389392

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.
391394

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
393396

394397
- hybrid-aks-plugin-type: valid values are `OSDevice`, `SR-IOV`, `DPDK`. Default: `SR-IOV`
395398

@@ -412,14 +415,14 @@ You'll also need to configure the following information for your network
412415

413416
##### Create default CNI network for AKS-Hybrid cluster
414417

415-
You'll need the following information:
418+
You need the following information:
416419

417420
- `resourceId` of the L3 isolation-domain you created earlier that configures the VLAN for this network.
418421
- The ipv4-connected-prefix must match the i-pv4-connected-prefix that is in the L3 isolation-domain
419422
- The ipv6-connected-prefix must match the i-pv6-connected-prefix that is in the L3 isolation-domain
420423
- The ip-allocation-type can be either "IPv4", "IPv6", or "DualStack" (default)
421424
- 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
423426

424427
```azurecli
425428
az networkcloud defaultcninetwork create --name "<YourDefaultCniNetworkName>" \
@@ -436,9 +439,7 @@ You'll need the following information:
436439

437440
##### Create cloud services network for AKS-Hybrid cluster
438441

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.
442443

443444
```azurecli
444445
az networkcloud cloudservicesnetwork create --name "<YourCloudServicesNetworkName>" \
@@ -449,7 +450,7 @@ You'll need the following information:
449450
--additional-egress-endpoints "[{\"category\":\"< YourCategory >\",\"endpoints\":[{\"< domainName1 >\":\"< endpoint1 >\",\"port\":< portnumber1 >}]}]"
450451
```
451452

452-
#### Step K2b. ceate vNET for the tenant networks of AKS-Hybrid cluster
453+
#### Step K2b. Create vNET for the tenant networks of AKS-Hybrid cluster
453454

454455
For each previously created tenant network, a corresponding AKS-Hybrid vNET network needs to be created
455456

@@ -507,7 +508,7 @@ Now that you've created the cluster, connect to your AKS-Hybrid cluster by runni
507508
running this command. If you have multiple Azure subscriptions, select the appropriate
508509
subscription ID using the `az account set` command.
509510

510-
This command downloads the kubeconfig of your AKS-Hybrid cluster to your local machine
511+
This command downloads the `kubeconfig` of your AKS-Hybrid cluster to your local machine
511512
and opens a proxy connection channel to your on-premises AKS-Hybrid cluster.
512513
The channel is open for as long as this command is running. Let this command run for
513514
as long as you want to access your cluster. If this command times out, close the CLI

articles/operator-nexus/quickstarts-tenant-workload-prerequisites.md

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -20,32 +20,31 @@ This guide explains prerequisites for creating VMs for VNF workloads and AKS-Hyb
2020

2121
## Preparation
2222

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
2424
recommended questions to consider, but this list is by no means exhaustive. Consult with
2525
the appropriate support team(s) for help:
2626

2727
- What type of network(s) would you need to support your workload?
2828
- A layer 3 network requires a VLAN and subnet assignment
2929
- 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
3232
your subnet is /28 (14 usable address – 3 reserved == 11 addresses available)
3333
- A layer 2 network requires only a single VLAN assignment
3434
- 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
3636
- 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
3838
each other. You should group networks that need to talk to each other into the same L3
3939
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.
4746

48-
You'll need:
47+
You need:
4948

5049
- your Azure account and the subscription ID of Operator Nexus cluster deployment
5150
- the `custom location` resource ID of your Operator Nexus cluster
@@ -63,18 +62,18 @@ Install latest version of the
6362

6463
## Operator Nexus workload images
6564

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
6867
Registry. If your Azure Container Registry is password protected, you can supply this info when creating your VM.
6968
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.
7069

7170
### Operator Nexus VM disk image build procedure
7271

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.
7574

7675
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`:
7877

7978
```bash
8079
FROM scratch
@@ -85,7 +84,7 @@ Using the docker command, build the image and tag to a Docker registry (such as
8584
The docker command assumes the `qcow2` file is in the same directory as your Dockerfile.
8685

8786
```bash
88-
docker build -f workload-vm-img-dockerfile -t devtestacr.azurecr.io/your-favorite-image:v1 .
87+
docker build -f aods-vm-img-dockerfile -t devtestacr.azurecr.io/your-favorite-image:v1 .
8988
FROM scratch
9089
ADD --chown=107:107 your-favorite-image.qcow2 /disk/
9190
```
@@ -131,7 +130,7 @@ This VM image build procedure is derived from [kubevirt](https://kubevirt.io/use
131130

132131
## Miscellaneous prerequisites
133132

134-
To deploy your workloads you'll also need:
133+
To deploy your workloads, you need:
135134

136135
- to create resource group or find a resource group to use for your workloads
137-
- the network fabric resource ID, you'll need this ID to create isolation-domains
136+
- the network fabric resource ID to create isolation-domains.

0 commit comments

Comments
 (0)