Mettre à jour et valider des ressources Network Fabric
Actuellement, les ressources Nexus Network Fabric vous obligent à désactiver une ressource parente (comme un domaine L3Isolation), à effectuer une nouvelle opération PUT sur la ressource parente ou enfant avec des valeurs mises à jour, puis à exécuter l’action administrative POST pour activer et configurer les appareils. Le nouveau flux de mise à jour des ressources de Network Fabric vous permet de traiter par lots et de mettre à jour un ensemble de ressources Network Fabric via une action POST commitConfiguration
lorsque les ressources sont activées. Si vous choisissez le flux de travail actuel qui consiste à désactiver le domaine d’isolation L3, à apporter des modifications, puis à activer le domaine d’isolation L3, rien ne change.
Vue d’ensemble de la mise à jour des ressources Network Fabric
Toute opération CUD (création, mise à jour, suppression) effectuée sur une ressource enfant liée à une ressource parente activée existante ou toute mise à jour d’une propriété de ressource parente activée est considérée comme une opération de mise à jour. Par exemple, vous devez ajouter un nouveau réseau interne ou un nouveau sous-réseau à un domaine d’isolation de couche 3 activé existant (le réseau interne est une ressource enfant d’un domaine d’isolation de couche 3). Un autre exemple est celui d’une nouvelle stratégie de routage qui doit être attachée au réseau interne existant. Ces deux scénarios peuvent faire l’objet d’une opération de mise à jour.
Toute opération de mise à jour effectuée sur les ressources Network Fabric prises en charge figurant dans le tableau suivant place la structure fabric dans un état de validation en attente, actuellement Accepted (Accepté) dans l’état de configuration, ce qui signifie que vous devez lancer une action fabric commit-configuration pour appliquer les modifications souhaitées. Toutes les mises à jour des ressources Network Fabric (y compris les ressources enfants) dans la structure fabric suivent le même flux de travail.
L’action de validation/les mises à jour des ressources ne doivent être valides et applicables que lorsque la structure fabric est dans un état approvisionné et que les ressources Network Fabric sont dans un état administratif Enabled (Activé). Les mises à jour des ressources parentes et enfants peuvent être traitées par lots (sur différentes ressources Network Fabric), et une action commitConfiguration
peut être effectuée pour exécuter toutes les modifications en une seule action POST.
La création de ressources parentes et leur activation via une action administrative sont indépendantes du flux de travail de la mise à jour ou de l’action de validation. Par ailleurs, toutes les actions administratives d’activation/désactivation sont indépendantes et ne doivent pas nécessiter le déclencheur d’action commitConfiguration pour l’exécution. L’action CommitConfiguration s’applique uniquement à un scénario dans lequel l’opérateur souhaite mettre à jour les ressources Azure Resource Manager et la structure fabric, la ressource parente se trouvant dans un état activé. Tous les scripts d’automatisation ou modèles bicep utilisés par les opérateurs pour créer et activer une ressource Network Fabric ne nécessitent aucune modification.
Flux de travail utilisateur
Pour exécuter correctement les ressources de mise à jour, la structure fabric doit se trouver dans l’état approvisionné. Les étapes suivantes sont impliquées dans la mise à jour des ressources Network Fabric.
L’opérateur met à jour les ressources Network Fabric requises (plusieurs mises à jour de ressources peuvent être traitées par lots) qui ont déjà été activées (configuration appliquée aux appareils) à l’aide de l’appel de mise à jour sur les ressources Network Fabric via AzCli, Azure Resource Manager ou le portail. (Reportez-vous aux scénarios, ressources et paramètres pris en charge dans le tableau suivant pour obtenir des détails).
Dans l’exemple suivant, un nouveau
internalnetwork
est ajouté à un domaine L3Isolation l3domain101523-sm existant.az networkfabric internalnetwork create --subscription 5ffad143-8f31-4e1e-b171-fa1738b14748 --resource-group "Fab3Lab-4-1-PROD" --l3-isolation-domain-name "l3domain101523-sm" --resource-name "internalnetwork101523" --vlan-id 789 --mtu 1432 --connected-ipv4-subnets "[{prefix:'10.252.11.0/24'},{prefix:'10.252.12.0/24'}]
Une fois l’appel de mise à jour Azure Resource Manager réussi, le
ConfigurationState
de la ressource spécifique est défini sur Accepted. En cas d’échec, il est défini sur Rejected (Rejeté). LeConfigurationState
de Fabric est défini sur Accepted, quel que soit l’état de réussite/d’échec de l’appel PATCH.Si une ressource Azure Resource Manager sur la structure fabric (par exemple, le réseau interne ou
RoutePolicy
) est dans un état Rejected, l’opérateur doit corriger la configuration et vérifier que le ConfigurationState de la ressource spécifique est défini sur Accepted avant de continuer.L’opérateur exécute l’action commitConfiguration POST sur la ressource Fabric.
az networkfabric fabric commit-configuration --subscription 5ffad143-8f31-4e1e-b171-fa1738b14748 --resource-group "FabLAB-4-1-PROD" --resource-name "nffab3-4-1-prod"
Le service valide si toutes les mises à jour de ressources ont réussi et valide les entrées. Il valide également les ressources logiques connectées pour garantir un comportement et une configuration cohérents. Une fois toutes les validations réussies, la nouvelle configuration est générée et envoyée (push) aux appareils.
Le
configurationState
de la ressource spécifique est réinitialisé sur Succeeded (Réussi) et leconfigurationState
de Fabric est défini sur Provisioned (Approvisionné).Si l’action
commitConfiguration
échoue, le service affiche le message d’erreur approprié et avertit l’opérateur de l’échec potentiel de la mise à jour des ressources Network Fabric.
State | Définition | Avant la mise à jour des ressources Azure Resource Manager | Avant CommitConfiguration et après la mise à jour Azure Resource Manager | Après CommitConfiguration |
---|---|---|---|---|
État administratif | État représentant l’action administrative effectuée sur la ressource | Enabled (seul l’état activé est pris en charge) | Enabled (seul l’état activé est pris en charge) | Enabled (l’utilisateur peut désactiver) |
État de configuration | État représentant des actions d’opérateur/configurations pilotées par le service | État de la ressource – Succeeded, État de Fabric Provisioned |
État de la ressource – Accepted (réussite) – Rejected (échec) État de Fabric – Accepted |
État de la ressource – Accepted (échec), – Succeeded (réussite) État de Fabric – Provisioned |
État d’approvisionnement | État représentant l’état d’approvisionnement Azure Resource Manager des ressources | approvisionné | approvisionné | approvisionné |
Ressources et scénarios Network Fabric pris en charge
Prise en charge de la mise à jour des ressources Network Fabric (Network Fabric 4.1, Nexus 2310.1)
Ressource Service Fabric | Type | Scénarios pris en charge | Scénarios non pris en charge. | Notes |
---|---|---|---|---|
Domaine d’isolation de couche 2 | Parent | – Mise à jour des propriétés – MTU – Ajout/mise à jour de balises |
Nouvelle opération PUT sur la ressource | |
Domaine d’isolation de couche 3 | Parent | Mise à jour des propriétés – Redistribuer les éléments connectés. – Redistribuer les routes statiques. – Agréger la configuration des routes – Stratégie de routage de sous-réseau connecté. Ajout/mise à jour de balises |
Nouvelle opération PUT sur la ressource | |
Réseau interne | Enfant (de ISD L3) | Ajout d’un nouveau réseau interne Mise à jour des propriétés – MTU – Ajout/mise à jour des sous-réseaux IPv4/IPv6 connectés – Ajout/mise à jour de la stratégie de routage IPv4/IPv6 – Ajout/mise à jour de la liste de contrôle d’accès (ACL, Access Control List) d’entrée/de sortie – Mise à jour de l’indicateur isMonitoringEnabled – Ajout/mise à jour des routes statiques – Configuration BGP Ajout/mise à jour de balises |
- Nouvelle opération PUT sur la ressource. – Suppression d’un réseau interne lorsque le domaine d’isolation de couche 3 parent est activé. |
Pour supprimer la ressource, la ressource parente doit être désactivée. |
Réseau externe | Enfant (de ISD L3) | Mise à jour des propriétés – Ajout/mise à jour de la stratégie de routage IPv4/IPv6 – Propriétés de l’option A MTU, ajout/mise à jour des ACL d’entrée et de sortie, – Propriétés de l’option A – Configuration BFD – Propriétés de l’option B – Cibles de routage Ajout/mise à jour de balises |
- Nouvelle opération PUT sur la ressource. – Création d’un réseau externe – Suppression d’un réseau externe lorsque le domaine d’isolation de couche 3 parent est activé. |
Pour supprimer la ressource, la ressource parente doit être désactivée. REMARQUE : Un seul réseau externe est pris en charge par ISD. |
Stratégie de routage | Parent | – Mise à jour de l’intégralité de l’instruction, notamment le numéro seq, la condition, l’action. – Ajout/mise à jour de balises |
- Nouvelle opération PUT sur la ressource. – Mise à jour de la stratégie de routage liée à une ressource d’interconnexion réseau à réseau. |
Pour supprimer la ressource, connectedResource (IsolationDomain ou interconnexion réseau à réseau) ne doit contenir aucune référence. |
IPCommunity | Parent | – Mise à jour de l’intégralité de la règle ipCommunity, notamment le numéro seq, l’action, les membres de la communauté, les communautés connues. | Nouvelle opération PUT sur la ressource | Pour supprimer la ressource, la ressource RoutePolicy connectée ne doit contenir aucune référence. |
IPPrefixes | Parent | – Mise à jour de l’intégralité de la règle IPPrefix, notamment le numéro seq, networkPrefix, la condition, la longueur de subnetMask. – Ajout/mise à jour de balises |
Nouvelle opération PUT sur la ressource | Pour supprimer la ressource, la ressource RoutePolicy connectée ne doit contenir aucune référence. |
IPExtendedCommunity | Parent | – Mise à jour de l’intégralité de la règle de la communauté IPExtended, notamment le numéro seq, l’action, les cibles de routage. – Ajout/mise à jour de balises |
Nouvelle opération PUT sur la ressource | Pour supprimer la ressource, la ressource RoutePolicy connectée ne doit contenir aucune référence. |
ACL | Parent | – Ajout/mise à jour pour faire correspondre les configurations et les configurations de correspondance dynamique. – Mise à jour du type de configuration – Ajout/mise à jour d’URL pour les ACL – Ajout/mise à jour de balises |
- Nouvelle opération PUT sur la ressource. – Mise à jour des ACL liées à une ressource d’interconnexion réseau à réseau. |
Pour supprimer la ressource, connectedResource (comme IsolationDomain ou interconnexion réseau à réseau) ne doit contenir aucune référence. |
Remarques et contraintes liées au comportement
Si une ressource parente est dans un état administratif Disabled (Désactivé) et que des modifications sont apportées à la ressource parent ou aux ressources enfants, l’action
commitConfiguration
n’est pas applicable. L’activation de la ressource envoie (push) la configuration. Le chemin d’accès de validation de ces ressources est déclenché uniquement lorsque la ressource parente se trouve dans l’état administratif Enabled.Si
commitConfiguration
échoue, la structure fabric reste dans l’état de configuration Accepted jusqu’à ce que l’utilisateur résolve les problèmes et exécute uncommitConfiguration
réussi. Actuellement, seuls des mécanismes de restauration par progression sont fournis en cas d’échec.Si la configuration de Fabric se trouve dans un état Accepted et que les mises à jour des ressources Azure Resource Manager n’ont pas encore été validées, aucune action administrative n’est autorisée sur les ressources.
Si la configuration de Fabric se trouve dans un état Accepted et que les mises à jour des ressources Azure Resource Manager n’ont pas encore été validées, l’opération de suppression sur les ressources prises en charge ne peut pas être déclenchée.
La création de ressources parentes est indépendante de
commitConfiguration
et du flux de mise à jour. Une nouvelle opération PUT n’est prise en charge sur aucune ressource.La mise à jour des ressources Network Fabric est prise en charge pour les déploiements Greenfield et Brownfield, mais avec certaines contraintes.
Dans le déploiement Greenfield, l’état de configuration de Fabric est Accepted une fois que des mises à jour ont été apportées aux ressources Network Fabric. Une fois l’action
commitConfiguration
déclenchée, elle passe à l’état Provisioned ou Accepted en fonction de la réussite ou de l’échec de l’action.Dans le déploiement Brownfield, l’action
commitConfiguration
est prise en charge, mais les ressources Network Fabric prises en charge (comme les domaines d’isolation, les réseaux internes, la stratégie de routage et les ACL) doivent être créées à l’aide de la version en disponibilité générale de l’API (2023-06-15). Cette restriction temporaire est assouplie après la migration de toutes les ressources vers la dernière version.Dans le déploiement Brownfield, l’état de configuration de Fabric reste dans un état Provisioned lorsque des modifications sont apportées aux ressources Network Fabric prises en charge ou que l’action commitConfiguration est déclenchée. Ce comportement est temporaire jusqu’à la migration de toutes les structures vers la dernière version.
Les mises à jour de la stratégie de routage et d’autres ressources associées (communauté IP, communauté étendue IP, liste de préfixes IP) sont considérées comme une opération de remplacement de liste. Toutes les instructions existantes sont supprimées et seules les nouvelles instructions mises à jour sont configurées.
La mise à jour ou la suppression de sous-réseaux, routes, configurations BGP et autres paramètres réseau pertinents dans la configuration du réseau interne ou des réseaux externes peut entraîner une interruption du trafic et doit être effectuée à la discrétion des opérateurs.
La mise à jour de nouvelles stratégies de routage et listes de contrôle d’accès peut entraîner une interruption du trafic en fonction des règles appliquées.
Utilisez une commande list sur le type de ressource spécifique (lister toutes les ressources d’un type de réseau interne) pour vérifier les ressources qui sont mises à jour et qui ne sont pas validées sur l’appareil. Il est possible de filtrer les ressources dont l’état de configuration est Accepted ou Rejected et de les identifier comme des ressources qui n’ont pas encore été validées ou pour lesquelles la validation sur l’appareil a échoué.
Par exemple :
az networkfabric internalnetwork list --resource-group "example-rg" --l3domain "example-l3domain"