Skip to content

Commit 327cd20

Browse files
authored
Merge pull request #231860 from dramasamy/dramasamy-zone
Availability Zone and nodepool command addition
2 parents 538f13b + 6190b87 commit 327cd20

File tree

3 files changed

+61
-22
lines changed

3 files changed

+61
-22
lines changed
Lines changed: 38 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
---
22
title: "Azure Operator Nexus: Interact with AKS-Hybrid Cluster"
33
description: Learn how to manage (view, list, update, delete) AKS-Hybrid clusters.
4-
author: pvapheas
5-
ms.author: pvapheas
4+
author: dramasamy
5+
ms.author: dramasamy
66
ms.service: azure
77
ms.topic: how-to
88
ms.date: 02/02/2023
99
ms.custom: template-how-to
1010
---
1111

12-
# How to manage and lifecyle the AKS-Hybrid cluster
12+
# How to manage and lifecycle the AKS-Hybrid cluster
1313

1414
This document shows how to manage an AKS-Hybrid cluster that you use for CNF workloads.
1515

1616
## Before you begin
1717

18-
You'll need:
18+
You need:
1919

2020
1. You should have created an [AKS-Hybrid Cluster](./quickstarts-tenant-workload-deployment.md#section-k-how-to-create-aks-hybrid-cluster-for-deploying-cnf-workloads)
2121
2. <`YourAKS-HybridClusterName`>: the name of your previously created AKS-Hybrid cluster
@@ -31,8 +31,8 @@ To get a list of AKS_Hybrid clusters in your Resource group:
3131

3232
```azurecli
3333
az hybridaks list -o table \
34-
--resource-group "<YourResourceGroupName>" \
35-
--subscription "<YourSubscription>"
34+
--resource-group "<YourResourceGroupName>" \
35+
--subscription "<YourSubscription>"
3636
```
3737

3838
## Show command
@@ -41,8 +41,8 @@ To see the properties of AKS-Hybrid cluster named `YourAKS-HybridClustername`:
4141

4242
```azurecli
4343
az hybridaks show --name "<YourAKS-HybridClusterName>" \
44-
--resource-group "< YourResourceGroupName >" \
45-
--subscription "< YourSubscription >"
44+
--resource-group "<YourResourceGroupName>" \
45+
--subscription "<YourSubscription>"
4646
```
4747

4848
## Update command
@@ -51,9 +51,9 @@ To update the properties of your AKS-Hybrid cluster:
5151

5252
```azurecli
5353
az hybridaks update --name "<YourAKS-HybridClustername>" \
54-
--resource-group "<YourResourceGroupName>" \
55-
--subscription "< YourSubscription>" \
56-
--tags "<YourAKS-HybridClusterTags>"
54+
--resource-group "<YourResourceGroupName>" \
55+
--subscription "<YourSubscription>" \
56+
--tags "<YourAKS-HybridClusterTags>"
5757
```
5858

5959
## Delete command
@@ -62,6 +62,31 @@ To delete the AKS-Hybrid cluster named `YourAKS-HybridClustername`:
6262

6363
```azurecli
6464
az hybridaks delete --name "<YourAKS-HybridClustername>" \
65-
--resource-group "<YourResourceGroupName >" \
66-
--subscription "<YourSubscription>"
65+
--resource-group "<YourResourceGroupName >" \
66+
--subscription "<YourSubscription>"
67+
```
68+
69+
## Add node pool command
70+
71+
To add a node pool to the AKS-Hybrid cluster named `YourAKS-HybridClustername`:
72+
```azurecli
73+
az hybridaks nodepool add \
74+
--name <name of the nodepool> \
75+
--cluster-name "<YourAKS-HybridClustername>" \
76+
--resource-group "<YourResourceGroupName>" \
77+
--location <dc-location> \
78+
--node-count <worker node count> \
79+
--node-vm-size <Operator Nexus SKU> \
80+
--zones <comma separated list of availability zones>
81+
```
82+
83+
## Delete node pool command
84+
85+
To delete a node pool from the AKS-Hybrid cluster named `YourAKS-HybridClustername`:
86+
87+
```azurecli
88+
az hybridaks nodepool delete \
89+
--name <name of the nodepool> \
90+
--cluster-name "<YourAKS-HybridClustername>" \
91+
--resource-group "<YourResourceGroupName>"
6792
```

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: How to deploy tenant workloads
33
description: Learn the steps for creating VMs for VNF workloads and for creating AKS-Hybrid clusters for CNF workloads
4-
author: dramasamymsft #Required; your GitHub user alias, with correct capitalization.
4+
author: dramasamy #Required; your GitHub user alias, with correct capitalization.
55
ms.author: dramasamy #Required; microsoft alias of author; optional team alias.
66
ms.service: azure #Required; service per approved list. slug assigned by ACOM.
77
ms.topic: quickstart #Required; leave this attribute/value as-is.
@@ -42,7 +42,6 @@ You should have the following information already:
4242
- VLAN/subnet info for each of the layer 3 network(s)
4343
- Which network(s) would need to talk to each other (remember to put VLANs/subnets that needs to
4444
talk to each other into the same L3 Isolation Domain)
45-
- VLAN/subnet info for your `defaultcninetwork` for AKS-Hybrid cluster
4645
- BGP peering and network policies information for your L3 Isolation Domain(s)
4746
- VLANs for all your layer 2 network(s)
4847
- VLANs for all your trunked network(s)
@@ -148,7 +147,7 @@ Your VM requires at least one Cloud Services Network. You need the egress endpoi
148147

149148
### Step V3: create a VM
150149

151-
Operator Nexus Virtual Machines (VMs) are used for hosting VNF(s) within a Telco network.
150+
Operator Nexus Virtual Machines (VMs) is used for hosting VNF(s) within a Telco network.
152151
The Nexus platform provides `az networkcloud virtualmachine create` to create a customized VM.
153152
For hosting a VNF on your VM, have it [Microsoft Azure Arc-enrolled](/azure/azure-arc/servers/overview),
154153
and provide a way to ssh to it via Azure CLI.
@@ -244,7 +243,7 @@ Gather this information:
244243

245244
- The `resourceId` of the `cloudservicesnetwork`
246245
- The `resourceId(s)` for each of the L2/L3/Trunked Networks
247-
- Determine which network will serve as your default gateway (can only choose 1)
246+
- Determine which network serves as your default gateway (can only choose 1)
248247
- If you want to specify `networkAttachmentName` (interface name) for any of your networks
249248
- Determine the `ipAllocationMethod` for each of your L3 Network (static/dynamic)
250249
- The dimension of your VM
@@ -456,7 +455,7 @@ You need the egress endpoints you want to add to the proxy for your VM to access
456455

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

459-
You'll need the Azure Resource Manager resource ID for each of the networks you created earlier. You can retrieve the Azure Resource Manager resource IDs as follows:
458+
You need the Azure Resource Manager resource ID for each of the networks you created earlier. You can retrieve the Azure Resource Manager resource IDs as follows:
460459

461460
```azurecli
462461
az networkcloud cloudservicesnetwork show -g "<YourResourceGroupName>" -n "<YourCloudServicesNetworkName>" --subscription "<YourSubscription>" -o tsv --query id
@@ -498,7 +497,8 @@ This section describes how to create an AKS-Hybrid cluster
498497
--control-plane-count <count> \
499498
--location <dc-location> \
500499
--node-count <worker node count> \
501-
--node-vm-size <Operator Nexus SKU>
500+
--node-vm-size <Operator Nexus SKU> \
501+
--zones <comma separated list of availability zones>
502502
```
503503

504504
After a few minutes, the command completes and returns JSON-formatted information about the cluster.

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

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
22
title: How to deploy tenant workloads prerequisites
33
description: Learn the prerequisites for creating VMs for VNF workloads and for creating AKS-Hybrid clusters for CNF workloads
4-
author: jwheeler60 #Required; your GitHub user alias, with correct capitalization.
5-
ms.author: johnwheeler #Required; microsoft alias of author; optional team alias.
4+
author: dramasamy #Required; your GitHub user alias, with correct capitalization.
5+
ms.author: dramasamy #Required; microsoft alias of author; optional team alias.
66
ms.service: azure #Required; service per approved list. slug assigned by ACOM.
77
ms.topic: quickstart #Required; leave this attribute/value as-is.
88
ms.date: 01/25/2023 #Required; mm/dd/yyyy format.
@@ -49,6 +49,20 @@ You need:
4949
- your Azure account and the subscription ID of Operator Nexus cluster deployment
5050
- the `custom location` resource ID of your Operator Nexus cluster
5151

52+
## AKS-Hybrid availability zone
53+
`--zones` option in `az hybridaks create` or `az hybridaks nodepool add` can be used to distribute the AKS-Hybrid clusters across different zones for better fault tolerance and performance. When creating an AKS-Hybrid cluster, you can use the `--zones` option to schedule the cluster onto specific racks or distribute it evenly across multiple racks, improving resource utilization and fault tolerance.
54+
55+
If you do not specify a zone when creating an AKS-Hybrid cluster through the `--zones` option, the Operator Nexus platform automatically implements a default anti-affinity rule. This anti-affinity rule aims to prevent scheduling the cluster VM on a node that already has a VM from the same cluster, but it's a best-effort approach and can't guarantee it.
56+
57+
To obtain the list of available zones in the given Operator Nexus instance, you can use the following command.
58+
59+
```azurecli
60+
az networkcloud cluster show \
61+
--resource-group <Operator Nexus on-prem cluster Resource Group> \
62+
--name <Operator Nexus on-prem cluster name> \
63+
--query computeRackDefinitions[*].availabilityZone
64+
```
65+
5266
### Review Azure container registry
5367

5468
[Azure Container Registry](../container-registry/container-registry-intro.md) is a managed registry service to store and manage your container images and related artifacts.
@@ -133,4 +147,4 @@ This VM image build procedure is derived from [kubevirt](https://kubevirt.io/use
133147
To deploy your workloads, you need:
134148

135149
- to create resource group or find a resource group to use for your workloads
136-
- the network fabric resource ID to create isolation-domains.
150+
- the network fabric resource ID to create isolation-domains.

0 commit comments

Comments
 (0)