Skip to content

Commit cb344b5

Browse files
authored
Merge pull request #261505 from lnyswonger/nexus-docs-NFC-patch-1
Adding new topic for Network Fabric Controller
2 parents 007fe16 + 495c8bd commit cb344b5

9 files changed

+204
-2
lines changed

articles/operator-nexus/TOC.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,13 @@
1313
href: concepts-compute.md
1414
- name: Storage overview
1515
href: concepts-storage.md
16-
- name: Network Fabric overview
17-
href: concepts-network-fabric.md
16+
- name: Network Fabric
17+
expanded: false
18+
items:
19+
- name: Network Fabric overview
20+
href: concepts-network-fabric.md
21+
- name: Network Fabric Controller
22+
href: concepts-network-fabric-controller.md
1823
- name: Nexus Kubernetes
1924
href: concepts-nexus-kubernetes-cluster.md
2025
- name: Observability
Lines changed: 193 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,193 @@
1+
---
2+
title: Azure Operator Nexus Network Fabric Controller
3+
description: Overview of Network Fabric Controller for Azure Operator Nexus.
4+
author: lnyswonger
5+
ms.author: lnyswonger
6+
ms.reviewer: jdasari
7+
ms.date: 12/18/2023
8+
ms.service: azure-operator-nexus
9+
ms.topic: conceptual
10+
---
11+
12+
# Network Fabric Controller overview
13+
14+
The Network Fabric Controller (NFC) is an Azure resource that allows customers to establish on-premises network infrastructure and workloads using Azure within an Azure region. The NFC acts as a conduit, connecting the Azure control plane to your on-site network hardware, such as routers, switches, and storage appliances. It enables network functions like virtualization, firewall, and gateway, while also facilitating seamless management and configuration of your network infrastructure. Its main role is to manage multiple Network Fabric (NF) instances connected to Nexus on-premises instances. This setup allows for structured grouping of NF instances within a designated Azure region. Additionally, NFC can be used to establish and modify configurations for Network Fabrics, Isolation Domains, Network Racks, and Network Devices within each Azure Operator Nexus instance.
15+
16+
The NFC is responsible for bootstrapping and managing network fabric instances. These NF instances are connected to the NFC through redundant ExpressRoute circuits. These circuits are linked to the management VPN, which is exclusively provided by the operator for management purposes. You can manage the lifecycle of a Network Fabric Controller through Azure using supported interfaces like Azure CLI and REST API. For example, you can create an NFC using Azure Command Line Interface (AzureCLI) and also check its status or delete it.
17+
18+
An NFC is a crucial component of the Azure Operator Nexus solution, a service that enables the connection between Azure and on-premises environments. With an NFC, you can:
19+
- Establish a secure and private connection between your on-premises network and Azure using ExpressRoute, bypassing the public internet.
20+
- Manage the network fabric, which comprises physical network devices like CE routers, Top of the Rack switches, Management Switches, Network Packet Broker devices, Terminal Servers, and storage appliances.
21+
- Enable essential network functions, including virtualization, firewall, and gateway, which provide services and security at the logical layer of the network.
22+
23+
## Key capabilities of Network Fabric Controller
24+
25+
The Network Fabric Controller (NFC) plays a critical role in managing network fabric instances in the following ways:
26+
27+
- **Centralized Management:** The NFC provides a centralized platform for managing multiple network fabric (NF) instances. This allows for efficient control and monitoring of these instances.
28+
- **Bootstrapping:** All bootstrapping operations for network fabric instances are performed through the NFC. This ensures a standardized and streamlined process for initiating these instances.
29+
- **Connectivity:** The NFC ensures reliable and continuous connectivity by establishing connections to NF instances using redundant ExpressRoute circuits.
30+
- **VPN Management:** The ExpressRoute circuits connected to the NF instances are linked to an operator-provided management VPN, exclusively used for management purposes, enhancing control over the NF instances.
31+
- **Operations and Management Network:** The NFC connects each NF instance's Operations and Management network (O&M) to the management VPN, enabling efficient operations and management of the network fabric instances.
32+
33+
In summary, the NFC plays a pivotal role in overseeing on-site network devices and their settings, as well as establishing segregated infrastructure and workload networks.
34+
35+
## Resources
36+
To create an NFC, you must provide the following attributes:
37+
38+
| Attribute | Description |
39+
|------------------------------------------|-------------|
40+
| **Resource Group** | The Resource Group attribute specifies the name of the group that encompasses the NFC. As a critical and mandatory parameter, this attribute requires definition at the point of creation and is immutable thereafter. It necessitates the existence of a corresponding resource group in the Command Line Interface (CLI) equipped with the requisite parameters. |
41+
| **Location** | The Location attribute determines the geographical positioning of the NFC. It is a compulsory parameter that must be set during the initial creation process. Post-creation modifications to this attribute are not permissible. This attribute must correspond to a predefined location available in the CLI, complete with all necessary parameters. |
42+
| **Resource Name** | The Resource Name attribute uniquely identifies the NFC. This mandatory attribute, which cannot be altered post-creation, must adhere to specific formatting rules: it should be alphanumeric, devoid of special characters, and conform to length restrictions as per Azure Resource Manager (ARM) standards. |
43+
| **Ipv4AddressSpace** | The Ipv4AddressSpace attribute, though optional, is a crucial parameter for defining the IPv4 address space allocated to the NFC. It is immutable and cannot be reset once set. The default configuration for this attribute is a 10.0.0.0/19 address space, with an allowable range extending from /19 to /16. The assigned address must be a valid IPv4 address and cannot be null. |
44+
| **Ipv6AddressSpace** | The Ipv6AddressSpace attribute, also optional, specifies the IPv6 address space for the NFC. This mandatory and immutable parameter defaults to FC00::/59, with the permissible range being /59. It requires a valid IPv6 address, which can be of types such as site local, unique local, or global unicast, and cannot be null. |
45+
| **InfrastructureExpressRouteConnections**| This attribute outlines the express route connections essential for infrastructure services. It is a mutable attribute that allows for modifications and reconfigurations. For NFC creation and provisioning, this attribute is necessary. It encompasses two mandatory sub-attributes: expressRouteCircuitId (the Azure resource ID for the express route circuit, required to be of type Microsoft.Network/expressRouteCircuits/circuitName) and expressRouteAuthorizationKey (the authorization key for the circuit, mandated to be of type Microsoft.Network/expressRouteCircuits/authorizations). |
46+
| **WorkloadExpressRouteConnections** | Pertaining to workload services, this attribute details the express route connections. It is a flexible attribute, allowing for updates and reapplications. It includes two critical sub-attributes: expressRouteCircuitId (the Azure resource ID of the express route circuit, which must align with the type Microsoft.Network/expressRouteCircuits/circuitName) and expressRouteAuthorizationKey (the authorization key for the circuit, required to be of type Microsoft.Network/expressRouteCircuits/authorizations). Both sub-attributes are mandatory for the attribute's functionality. |
47+
48+
## Call flow
49+
50+
1. When a user initiates a request to create a Network Fabric Controller (NFC), the Azure Resource Manager (ARM) receives the request. Subsequently, the request is forwarded to the Nexus Network Fabric Resource Provider.
51+
2. The Network Fabric Controller resource is created based on the request. It consists of several internal resources at a high level, including:
52+
53+
* NFC cluster
54+
* Infrastructure cluster
55+
* Tenant cluster
56+
* ExpressRoute connections for both infrastructure and tenant networks
57+
* Azure ARC resources
58+
* Virtual Networks
59+
60+
:::image type="content" source="media/network-fabric-controller-call-flow.png" alt-text="A four-step flowchart for creating a Network Fabric Controller in Azure, detailing the progression from user request to successful creation with associated Azure resources.":::
61+
62+
:::image type="content" source="media/network-fabric-controller-architecture.png" alt-text="A flowchart for creating a Network Fabric Controller in Azure, detailing the progression from user request to the associated Azure resources.":::
63+
64+
## Payload examples
65+
Create a Network Fabric Controller:
66+
67+
```azurecli
68+
az networkfabric controller create \
69+
--resource-group "NFCResourceGroupName" \
70+
--location "eastus" \
71+
--resource-name "nfcname" \
72+
--ipv4-address-space "10.0.0.0/19" \
73+
--infra-er-connections '[{"expressRouteCircuitId": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-01", "expressRouteAuthorizationKey": "<auth-key>"}]' \
74+
--workload-er-connections '[{"expressRouteCircuitId": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-02"", "expressRouteAuthorizationKey": "<auth-key>"}]'
75+
76+
```
77+
Update Network Fabric Controller with two new ExR:
78+
```azurecli
79+
az networkfabric controller create \
80+
--resource-group "NFCResourceGroupName" \
81+
--location "eastus" \
82+
--resource-name "nfcname" \
83+
--ipv4-address-space "10.0.0.0/19" \
84+
--infra-er-connections '[{"expressRouteCircuitId": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-01", "expressRouteAuthorizationKey": "<auth-key>"}]' \
85+
--infra-er-connections '[{"expressRouteCircuitId": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-02", "expressRouteAuthorizationKey": "<auth-key>"}]' \
86+
--workload-er-connections '[{"expressRouteCircuitId": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-03"", "expressRouteAuthorizationKey": "<auth-key>"}]'
87+
--workload-er-connections '[{"expressRouteCircuitId": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-04"", "expressRouteAuthorizationKey": "<auth-key>"}]'
88+
--mrg name=<ManagedResourceGroupName> location=eastus
89+
```
90+
91+
>[!NOTE]
92+
>There is no support for Patch yet.
93+
94+
Delete a Network Fabric Controller:
95+
```azurecli
96+
az networkfabric controller delete --resource-group "NFCResourceGroupName" --resource-name "nfcname"
97+
```
98+
## Portal examples
99+
100+
:::image type="content" source="media/network-fabric-controller-portal-1.png" alt-text="A screenshot of the Azure portal interface showing the overview of a Network Fabric Controller.":::
101+
102+
Network Fabrics that are associated with Network Fabric Controller:
103+
104+
:::image type="content" source="media/network-fabric-controller-portal-2.png" alt-text="A screenshot of the Azure portal interface highlighting the 'Network Fabrics' section of a Network Fabric Controller's properties page.":::
105+
106+
Managed Resource Group:
107+
108+
:::image type="content" source="media/network-fabric-controller-portal-3.png" alt-text="A screenshot from the Azure portal showing a successful deployment in the East US location.":::
109+
110+
## Provisioned NFC's JSON
111+
```json
112+
{
113+
"id": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/NFCResourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfcname",
114+
"name": "NFCName",
115+
"type": "microsoft.managednetworkfabric/networkfabriccontrollers",
116+
"location": "eastus",
117+
"systemData": {
118+
"createdBy": "[email protected]",
119+
"createdByType": "User",
120+
"createdAt": "2023-XX-XXT09:38:34.8310058Z",
121+
"lastModifiedBy": "d1bd24c7-b27f-477e-86dd-939e107873d7",
122+
"lastModifiedByType": "Application",
123+
"lastModifiedAt": "2023-XX-XXT09T11:48:34.3748593Z"
124+
},
125+
"properties": {
126+
"infrastructureExpressRouteConnections": [
127+
{
128+
"expressRouteCircuitId": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-02"
129+
}
130+
],
131+
"workloadExpressRouteConnections": [
132+
{
133+
"expressRouteCircuitId": "/subscriptions/b256be71-d296-4e0e-99a1-408d9edc8718/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-03"
134+
}
135+
],
136+
"ipv4AddressSpace": "10.245.224.0/19",
137+
"managedResourceGroupConfiguration": {
138+
"location": "eastus",
139+
"name": "nfc01-HostedResources-106DF6AD"
140+
},
141+
"provisioningState": "Succeeded",
142+
"workloadManagementNetwork": true,
143+
"infrastructureServices": {
144+
"ipv4AddressSpaces": [
145+
"10.245.224.0/21"
146+
],
147+
"ipv6AddressSpaces": []
148+
},
149+
"workloadServices": {
150+
"ipv4AddressSpaces": [
151+
"10.245.252.0/22"
152+
],
153+
"ipv6AddressSpaces": []
154+
},
155+
"ipv6AddressSpace": "FC00::/59",
156+
"isWorkloadManagementNetworkEnabled": "True",
157+
"nfcSku": "Standard"
158+
}
159+
}
160+
161+
```
162+
Activity log:
163+
164+
:::image type="content" source="media/network-fabric-controller-activity-log.png" alt-text="A screenshot of the Azure portal displaying the 'Activity log' for the resource group.":::
165+
166+
## FAQs on Network Fabric Controller (NFC) Setup and Management
167+
168+
**How many Express Routes are required by default to initialize a Network Fabric Controller?**
169+
170+
To successfully set up a Network Fabric Controller, at least two Express Routes are necessary: one for the Infrastructure Network and another for the Tenant Network.
171+
172+
**What are the recommended Express Route Circuits for the Infrastructure Network and Tenant Network?**
173+
174+
For optimal performance and redundancy, it is recommended to utilize two Express Route Circuits for both the Infrastructure and Tenant Networks.
175+
176+
**What types of NFC SKUs are available?**
177+
178+
NFC supports various SKUs including Basic, Standard, and High Performance options.
179+
180+
**Is it possible to update the NFC with a new Express Route Circuit?**
181+
182+
Yes, once the NFC is successfully provisioned, it can be updated with a new Express Route Circuit.
183+
184+
**What is the typical time frame for NFC creation?**
185+
186+
The creation process of an NFC typically ranges from 45 to 60 minutes.
187+
188+
**How long does it take to delete an NFC?**
189+
Similar to the creation process, deleting an NFC usually takes between 45 and 60 minutes.
190+
191+
**What steps should be taken if the NFC fails to initialize on the first attempt?**
192+
193+
If the NFC does not provision successfully on the first try, the recommended course of action is to clean up and recreate the NFC. This is due to the lack of support for updating the NFC during intermediate failures.

articles/operator-nexus/concepts-network-fabric.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,7 @@ Key capabilities offered in Azure Operator Nexus Network Fabric:
3636
* **Network Policy Automation** - Automating the management of consistent network policies across the fabric to ensure security, performance, and access controls are enforced uniformly.
3737

3838
* **Networking features built for Operators** - Support for unique features like multicast, SCTP, and jumbo frames.
39+
40+
## Next steps
41+
42+
- [Network Fabric Controller overview](concepts-network-fabric-controller.md)
259 KB
Loading
42.1 KB
Loading
21.8 KB
Loading
467 KB
Loading
478 KB
Loading
793 KB
Loading

0 commit comments

Comments
 (0)