Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Présentation du gestionnaire de pool d’adresses

Utilisez ce guide pour configurer et gérer le gestionnaire de pool d’adresses.

Présentation du gestionnaire de pool d’adresses

Juniper Address Pool Manager (APM) est une application cloud-native basée sur des conteneurs qui s’exécute sur un cluster Kubernetes et gère les pools d’adresses IPv4 au sein d’un réseau. Il provisionne automatiquement les préfixes d’un pool d’adresses centralisé vers les passerelles de réseau haut débit (BNG) avant que ces derniers n’épuisent leurs pools d’adresses. Les BNG ajoutent les préfixes fournis à partir de l’APM en tant que nouveaux pools à un pool d’adresses lié. Un pool d'adresses lié et les attributs qui lui sont associés (utilisation, seuil, etc.) sont appelés domaine de pool.

BNG surveille en permanence les adresses libres du domaine par rapport aux seuils du domaine comme suit :

  • BNG envoie une alarme à APM pour demander des adresses supplémentaires lorsque le nombre d’adresses libres dans le domaine atteint ou descend en dessous du seuil de répartition du domaine.

  • APM attribue le nombre demandé de préfixes de pool correspondant à la longueur de préfixe demandée et renvoie les adresses dans la réponse d’alarme.

  • Lorsque le nombre d’adresses libres dans le domaine atteint ou dépasse le seuil de récupération du domaine, le BNG sélectionne un préfixe de pool à supprimer. Il déclenche également une alarme auprès de l’APM demandant la remise en état.

  • L’APM répond à l’alarme de récupération en demandant au BNG de placer un drain actif sur la piscine. Une fois que la piscine est complètement vidée (aucune adresse attribuée), le BNG déclenche une alarme de vidange de piscine.

  • L’APM informe le BNG que le préfixe est renvoyé à la partition source du domaine et que le BNG peut supprimer en toute sécurité le préfixe du pool du domaine.

  • Le préfixe récupéré est désormais disponible pour une autre BNG.

Note:

Dans le présent document, le terme BNG s’applique également au contrôleur BNG CUPS.

La figure 1 montre une vue d’ensemble des opérations des APM pour surveiller les BNG et leur fournir les adresses dont ils ont besoin, quand ils en ont besoin.

Figure 1 : opérations Basic APM Operations de base de l’APM

APM est une solution de gestion des adresses qui aide les opérateurs réseau à allouer efficacement les adresses IPv4. Les schémas d’allocation d’adresses classiques sont complexes et ne sont pas aussi efficaces que les opérateurs de réseau le souhaitent. Les fournisseurs pré-provisionnent généralement des adresses sur les périphériques réseau pour gérer la charge la plus défavorable afin d’éviter que les équipements ne manquent d’adresses. Cela signifie que les appareils sont surprovisionnés pendant la majeure partie de leur temps de fonctionnement.

L’APM ne provisionne pas d’adresses à l’avance, car les adresses peuvent ne jamais être nécessaires et peuvent être utilisées ailleurs. Au lieu de procéder au préprovisionnement, l’APM n’alloue des préfixes que lorsque la BNG en a besoin. Les considérations spécifiques au réseau qui peuvent avoir une incidence sur l’attribution rapide et efficace des adresses sont les suivantes :

  • Nombre d’appareils réseau consommant des adresses

  • Présence de VPN

  • Schémas de redondance des systèmes

  • Répartition géographique des éléments du réseau

L’APM récupère les préfixes afin d’ajuster en permanence leur distribution et d’optimiser l’utilisation de l’espace d’adressage. La récupération du préfixe se produit sur l’APM, tandis que la récupération de l’adresse a lieu sur le BNG. La récupération du préfixe se produit lorsque le BNG a un surplus d’adresses IP. Le BNG envoie une alarme de récupération à l’APM avec une suggestion de préfixe de pool à récupérer. APM lance une demande de vidange sur le pool pour s’assurer que le pool est libre de toute allocation d’adresse avant qu’APM ne récupère le préfixe du pool. APM peut ensuite réallouer les préfixes à d’autres pools parmi ses BNG gérés lorsque ces BNG sont proches de l’épuisement du nombre d’adresses et ont besoin de plus d’adresses.

Avantages d’Address Pool Manager

  • Efficiency (Efficacité) : améliore l’efficacité de l’utilisation des adresses. L’APM centralise et automatise l’attribution d’adresses à plusieurs BNG sur le réseau. L’APM utilise l’allocation de préfixes juste-à-temps, de sorte qu’il ne provisionne des préfixes que lorsqu’un BNG a besoin d’adresses IP supplémentaires.

    L’APM ne provisionne qu’autant de préfixes que la BNG en a besoin. Une fois que vous avez partitionné le pool global APM en groupes de préfixes, APM subdivise à nouveau les préfixes pour qu’ils correspondent à la demande du BNG. Cette subdivision permet à APM d’optimiser la taille des préfixes qu’il alloue.

  • Simplicité : évite les frais généraux et la complexité liés à la surveillance manuelle et au provisionnement de BNG individuels.

  • Déployabilité : s’installe et fonctionne sur tout matériel répondant aux exigences.

  • Récupérabilité : récupère les préfixes inutilisés des pools qui utilisent peu d’adresses IP vers un pool central et redistribue ces préfixes aux autres pools qui en ont besoin.

Adressage terminologique

Vous devez avoir une bonne compréhension de l’adressage IP, du routage inter-domaines sans classe (CIDR), des masques de sous-réseau de longueur variable (VLSM) et de la façon de subdiviser les préfixes IP en sous-réseaux (sous-réseaux). Lorsque vous élaborez votre stratégie d’adressage (en dehors du cadre de cette documentation) ou que vous utilisez la récupération manuelle d’adresses, il peut être utile de consulter un calculateur de sous-réseau IP. Vous pouvez trouver de nombreuses calculatrices de ce type en ligne.

Nous utilisons la terminologie suivante dans cette documentation :

  • Préfixe : longueur du préfixe et adresse réseau IPv4 32 bits exprimée à l’aide de la notation CIDR. Par exemple, 198.51.100.0/24. Un préfixe définit la partie réseau d’une adresse IP. Un préfixe représente un sous-réseau.

  • Longueur du préfixe : nombre de bits qui détermine la longueur du préfixe et la taille de la partie réseau d’une adresse IP. Une longueur de préfixe /24 signifie que la partie réseau de l’adresse a une longueur de 24 bits. Les bits restants (sur 32) représentent la partie hôte d’une adresse réseau. Pour un préfixe avec une longueur de préfixe /24, la partie hôte est de 8 bits : 32 – 24 = 8.

  • Taille du réseau : ce terme est parfois utilisé pour désigner différentes choses selon le contexte, ce qui peut conduire à une ambiguïté. Nous décrivons la longueur du préfixe et la façon dont il correspond au nombre d’adresses d’hôte dans les sous-réseaux comme suit :

    • Un préfixe plus long, déterminé par une longueur de préfixe plus longue, correspond à un plus grand nombre de sous-réseaux avec moins d’adresses d’hôte à allouer par sous-réseau.

    • Un préfixe plus court, déterminé par une longueur de préfixe plus courte, correspond à un nombre réduit de sous-réseaux avec plus d’adresses d’hôte à allouer par sous-réseau.

  • Les adresses gratuites sont des adresses IP qui sont disponibles et qui n’ont pas été attribuées aux abonnés.

Fonctionnement de l’APM

L’APM gère une collection centralisée de préfixes IP pour un groupe de BNG dans le réseau. L’interface de ligne de commande APM fait référence aux BNG gérés en tant qu’entités. Le présent document utilise généralement le terme BNG, mais dans certains cas, il utilise le terme entité.

L’APM coordonne la création des domaines de pool avec le BNG. Chaque domaine de pool correspond à un pool d’adresses lié pour une combinaison d’instances de routage donnée sur le BNG. De plus, sur un contrôleur BNG CUPS, un domaine de pool correspond à un pool d’adresses lié pour un groupe d’abonnés et une combinaison d’instances de routage donnés. Au fur et à mesure que les domaines de pool sont créés de manière dynamique, le BNG et l’APM gèrent des profils ou des modèles contenant les attributs nécessaires à l’instanciation d’un domaine de pool. Le profil APM contient des attributs tels que la répartition, les seuils de récupération et le comportement de récupération automatique. Le BNG. Le profil contient des attributs tels que la taille du préfixe et le comportement d’installation de l’itinéraire d’abandon.

APMi version 1 (compatible avec Junos OS version 22.1R1 et ultérieure). Vous pouvez vérifier la version de l’APMi en exécutant la commande show apm entity .

Seuils et alarmes

Le BNG crée le domaine du pool et surveille le nombre d’adresses libres dans le domaine du pool. Lorsque le nombre d’adresses libres dépasse une valeur seuil, le BNG envoie un message d’alarme à l’APM. La BNG surveille le nombre d’adresses libres par rapport aux seuils suivants :

  • Seuil de répartition : lorsque le nombre d’adresses libres atteint ou tombe en dessous de cette valeur, le BNG court le risque de manquer d’adresses. Le BNG envoie une alarme de répartition à l’APM pour demander plus d’adresses. APM sélectionne un préfixe disponible à répartir et alloue le préfixe au BNG, le BNG ajoute un ou plusieurs préfixes en tant que nouveau pool dans le domaine du pool. Si vous ne parvenez pas à allouer un préfixe (par exemple, une partition vide), la réponse est négative. Le délai de nouvelle tentative est défini sur un horodatage de 15 minutes à compter de la réception de la demande. Si le BNG a toujours besoin de préfixes pour le domaine, il réessaie à la valeur d’horodatage fournie.
  • Seuil de récupération : lorsque le nombre d’adresses libres atteint ou dépasse cette valeur, le BNG dispose d’un surplus d’adresses. Le BNG envoie une alarme de récupération à APM avec une suggestion de piscine à vidanger. Selon la configuration, l’APM peut initier une vidange sur la piscine. Un pool drainé n’a pas d’adresse IP dans le pool utilisé par un abonné.

    Pendant le drain, le routeur BNG cesse d’attribuer des adresses du pool et attend que les abonnés se déconnectent pour libérer ces adresses.

    Après avoir vidangé la piscine, le BNG envoie l’alarme de vidange de la piscine à l’APM. L’APM envoie un message au routeur BNG pour supprimer le pool du domaine du pool.

    Note:

    L’APM lance le processus de récupération du pool dans les cas suivants :

    • La récupération automatique est activée pour le domaine du pool.
    • La récupération est autorisée à la période actuelle.

    Si APM ne peut pas traiter l’alarme de récupération parce que la récupération automatique était en dehors de la fenêtre, APM répond avec un ALARM_NACK/NOOP et un temps de nouvelle tentative qui est défini sur la seconde où la fenêtre de récupération automatique commence.

Vous configurez les valeurs de seuil d’allocation et de seuil de récupération dans le profil de domaine du pool. Les seuils déterminent s’il y a suffisamment d’adresses libres pour le BNG et quand l’APM doit allouer ou récupérer des préfixes. Considérez la chronologie fictive suivante dans la figure 2. Le BNG attribue des adresses aux abonnés lorsqu’ils se connectent et récupère les adresses lorsqu’ils se déconnectent. La chronologie indique le nombre d’adresses gratuites suivies par le BNG sur une période donnée. Le Tableau 1 décrit les actions entreprises par le BNG et l’APM pour différents scénarios, car le nombre d’adresses libres franchit différents seuils.

Figure 2 : Adresses libres sur un BNG Free Addresses on a BNG
Alarme
Tableau 1 : Mesures prises par l’APM pour différentes alarmes
temporelle envoyée par BNG Description
t0 Début de la chronologie avec un domaine de pool renseigné.
T1 Alarme Appart Au fur et à mesure que les abonnés se connectent, le nombre d’adresses gratuites sur le BNG tombe en dessous du seuil de répartition. Le BNG envoie une alarme d’attribution. APM reçoit l’alarme d’attribution et attribue des préfixes au domaine du pool. Le BNG alloue des adresses à partir des préfixes de pool du domaine de pool.
T2 Alarme Appart

APM reçoit l’alarme d’attribution, mais la partition n’a pas de préfixes disponibles. L’alarme est NACKed et un horodatage de nouvelle tentative est défini sur 15 minutes plus tard. Le BNG relance l’alarme d’attribution à cet horodatage, sauf s’il n’a plus besoin des adresses.

T3 Alarme Appart Lors de l’horodatage de nouvelle tentative, BNG renvoie l’alarme d’attribution, car le nombre d’adresses libres est toujours inférieur au seuil d’attribution.
T4 Récupérer l’alarme Les abonnés continuent de se déconnecter jusqu’à ce que le nombre d’adresses gratuites dépasse le seuil de récupération. Le BNG envoie l’alarme de récupération avec le pool suggéré à récupérer. L’APM place un drain sur la piscine suggérée et le BNG démarre le processus de vidange sur la piscine.
T5 Alarme de vidange de piscine Lorsque le pool d’adresses n’a aucun abonné, il n’y a pas d’adresses allouées dans le pool. Le BNG envoie l’alarme de vidange de la piscine à APM. APM répond à l’alarme de vidange de la piscine par une demande de suppression. Le BNG supprime le pool de la liste des pools du domaine du pool. APM déplace le préfixe correspondant vers la partition pour la réallocation.

Le nombre d’adresses libres diminue lors de la suppression du pool.

T6 Récupérer l’alarme APM reçoit l’alarme de récupération, mais n’entreprend aucune action car l’alarme s’est produite en dehors de la fenêtre de récupération. APM renvoie un NACK d’alarme avec un horodatage de nouvelle tentative défini sur l’heure du début de la fenêtre de récupération. La BNG relance l'alarme de récupération à ce moment-là s'il y a encore un surplus d'adresses libres.

Fonctionnement général de l’APM

Les étapes suivantes expliquent le fonctionnement général de l’APM :

  1. Le BNG et l’APM communiquent à l’aide de l’APMi, le protocole basé sur gRPC défini par Juniper. Google RPC (gRPC) est un cadre commun pour la création de protocoles de communication extensibles et interopérables. Lors de la connexion initiale, le BNG lance la synchronisation du domaine du pool. Le processus de synchronisation des domaines de pool synchronise l’ensemble des domaines de pool actifs. L’APM aligne la liste des domaines de pool actifs avec la liste des domaines de pool du BNG. Après la synchronisation du domaine de pool, la BNG exécute la synchronisation du pool (découverte) pour chaque domaine de pool. L’APM aligne la liste des pools de chaque domaine avec la liste du BNG. Si APM a conservé des pools supplémentaires (qui ne figurent pas dans la liste des pools de BNG pour le domaine), les préfixes de pool sont libérés sur la partition. S’il manque des pools à l’APM, celui-ci tente d’allouer des pools.
  2. L’APM surveille les messages d’alarme envoyés par le BNG.

  3. L’APM évalue l’alarme et agit en conséquence. Par exemple, si un BNG est à court d’adresses, il envoie une alarme d’allocation à APM. APM alloue le nombre demandé de préfixes à partir de la partition source du domaine et les renvoie dans la réponse d'alarme. Le BNG ajoute ces préfixes de pool au domaine du pool.

La figure 1 montre une vue plus détaillée des relations entre les différents composants fonctionnels d’une seule instance d’APM. Chaque bloc de gestionnaire affiche les tables de base de données qu’il utilise.

Figure 3 : composants fonctionnels de l’APM Functional Components of APM
Note:

Vous pouvez exécuter plusieurs instances d’APM simultanément sur plusieurs clusters différents du réseau. Ces instances d’APM sont indépendantes et indépendantes les unes des autres. Les instances ne partagent ni l’état ni la configuration.

Chaque instance APM inclut les microservices suivants en tant que composants fonctionnels de l’application :

  • Gestionnaire d’entités : orchestre les activités de gestion des pools pour les BNG gérées. Ces activités incluent le traitement des alarmes, ainsi que l’allocation et la récupération de préfixes de pool.

  • Gestionnaire d’adresses : organise le pool central d’adresses en partitions et gère les allocations des préfixes racine configurés dans chaque partition. Il subdivise les préfixes racine en préfixes plus petits et alloue les préfixes en fonction des critères configurés pour le BNG.

  • Gestionnaire de provisionnement : interface avec le BNG pour provisionner les domaines de pool et les pools d’adresses qui leur sont associés. Le gestionnaire de provisionnement s’assure que les domaines et les préfixes de pool alloués associés restent synchronisés entre l’APM et le BNG.

    Le gestionnaire de provisionnement de l’APM communique avec les BNG gérés à l’aide de l’APMi. Le gestionnaire de provisionnement envoie des messages gRPC pour provisionner et déprovisionner directement les préfixes sur les BNG en réponse aux alarmes de domaine déclenchées par le BNG.

  • Le microservice MGMT fournit un schéma de configuration textuel et une CLI qui vous permettent de configurer le pool de préfixes global, les BNG gérés et les attributs de domaine de pool qui leur sont associés. Vous pouvez utiliser l’interface de ligne de commande pour afficher les statistiques et l’état de divers composants fonctionnels. La sortie fournit des informations sur la charge, l’efficacité, l’utilisation et les erreurs ou conditions anormales du système.
  • Broadband Edge (BBE) Event Collection and Visualization (utilitaire centralisé basé sur le cloud) : permet de capturer les journaux APM couvrant le cycle de vie des microservices APM. L’utilitaire collecte et stocke les journaux sur les instances de microservices APM.

  • Instance de base de données (DB) : fournit un accès partagé aux tables de base de données utilisées par chaque composant fonctionnel d’APM. La base de données comprend des tables pour les informations d’adresse, de BNG et de domaine de pool. La base de données fournit un stockage persistant pour les informations de configuration et les états opérationnels.

    L’APM utilise une base de données contenant des informations sur l’état des entités, des domaines de pools, des pools, des préfixes, des allocations, de la configuration, etc. Deux instances de base de données, l’une principale et l’autre de secours, sont déployées en mode de veille à chaud. Les instances de base de données sont surveillées par un service Database Sentinel qui détecte une défaillance dans la base de données principale. En cas de défaillance de la base de données primaire, la base de données secondaire assume le rôle de base de données principale pendant qu’une nouvelle base de données de secours est restaurée.

    Note:

    La redondance nécessite un minimum de trois nœuds de travail en plus du nœud principal. Les nœuds de travail doivent tous se trouver sur des serveurs physiques distincts. Toutefois, les nœuds peuvent être des machines physiques ou virtuelles.

Composants fonctionnels de l’APM

CLI et gestion de la configuration

L’interface utilisateur (MGMT) est une version conteneurisée du processus de gestion de Junos OS. Avec cette interface, vous pouvez utiliser la même structure CLI que Junos OS pour la configuration et la surveillance. Le MGMT fournit également une interface qui vous permet de gérer l’APM à distance.

L’APM effectue les tâches suivantes :

  • Charge la configuration APM initiale du service de gestion dans la base de données avant que les autres composants APM puissent passer à leur état d’exécution.

  • Traduit les commandes et les configurations en actions et paramètres que les microservices APM comprennent.

  • Enregistre la configuration initiale et les modifications ultérieures dans la base de données à des fins de persistance. Il informe les composants de l’APM de tout changement.

Gestionnaire d’entité

Le gestionnaire d’entité coordonne les opérations des autres composants fonctionnels qui affectent l’état de l’entité.

Pour chaque BNG sous gestion, le gestionnaire d’entité assure le suivi des informations suivantes :

  • L’adresse BNG, qui est l’adresse de transport du BNG qui héberge les pools gérés.

  • Liste des domaines de pool en cours de gestion.

Un domaine de pool représente un pool d’adresses lié sur le BNG. Pour chaque domaine de pool, le gestionnaire d’entité effectue le suivi des informations suivantes :

  • Nom de domaine du pool : chaîne définie par l’utilisateur qui identifie le pool géré pour le BNG. Chaque nom de domaine de pool doit être unique pour ce BNG. Cela signifie que le nom de domaine du pool agit effectivement comme une clé ; On l’appelle parfois clé de domaine du pool. Chaîne définie par l’utilisateur et construite par l’entité. Pour BNG, la chaîne est constituée du nom du profil de domaine lié au nom de l’instance de routage. Pour le contrôleur BNG CUPS, la chaîne se compose du nom du profil de domaine lié au nom du groupe d’abonnés et au nom de l’instance de routage.

  • APM utilise le format pool-domain-name-sequence-number pour nommer les pools qu’il crée. Le sequence-number est composé d'au moins 4 chiffres ; si la valeur est inférieure à 1 000, le numéro de séquence est complété par des 0 non significatifs. 0001, 0999, 1000 213339 sont donc des numéros de séquence valides. Par exemple, si le nom d’un domaine de pool est test-, APM nomme le premier pool test-. Il nomme les pools suivants test--0000, test--0001, etc.

  • Préfixes : liste ordonnée des préfixes qui composent le domaine du pool.

Le gestionnaire d’entité collecte un certain nombre de statistiques volatiles pour diverses opérations (dernière découverte, dernière allocation, dernière réclamation, etc.) sur le domaine du pool. Les statistiques incluent le nombre d’alarmes, le nombre de pools, leurs préfixes associés et les horodatages. Vous pouvez afficher ces statistiques à l’aide de commandes APM show , telles que show apm entity.

Le gestionnaire d’entités demande un nouveau préfixe pour un domaine de pool au gestionnaire d’adresses lorsque le gestionnaire de provisionnement transmet l’alarme de répartition du BNG au gestionnaire d’entités.

La demande de préfixe comprend les informations suivantes :

  • Famille d’adresses : prend actuellement en charge IPv4

  • Allocation key (Clé d’allocation) : adresse IP et domaine de pool du BNG géré

  • Longueur du préfixe demandé : taille du préfixe que vous souhaitez allouer d’une partition à un domaine de pool.

Le gestionnaire de l’entité tente ensuite de provisionner le ou les préfixes alloués au pool d’adresses du BNG.

Le gestionnaire d’entités entame un processus de découverte et de réconciliation des domaines de pool de BNG (synchronisation) sous gestion lorsque le gestionnaire de provisionnement informe le gestionnaire d’entités qu’un BNG est accessible. Le gestionnaire de provisionnement envoie un rapport d’accessibilité au gestionnaire d’entités chaque fois que l’état d’accessibilité change. Le gestionnaire d’entités demande la découverte de tous les domaines de pool gérés pour ce BNG.

Le processus de découverte utilise l’interface de provisionnement pour rechercher les domaines de pool et les informations de pool associées, telles qu’elles sont connues par le BNG. À la fin du processus de découverte, l’APM et le BNG ont les mêmes domaines de pool et les mêmes préfixes de pool alloués.

Si les informations découvertes ne correspondent pas aux informations existantes, APM met à jour ses bases de données avec les informations de partition pour les domaines de pool (pour correspondre au BNG). Si APM découvre un conflit pendant la mise à jour, il signale le conflit sous forme d’avertissement dans le journal.

Gestionnaire d’adresses

Le gestionnaire d’adresses utilise un algorithme VLSM pour subdiviser les préfixes racine dans les partitions du pool d’adresses en sous-préfixes plus petits jusqu’à la max-prefix-len valeur que vous avez configurée pour chaque préfixe racine. Lors de la répartition, le gestionnaire d’adresses fait correspondre une demande de préfixe de taille appropriée à une partition et à un préfixe racine. APM alloue un sous-préfixe libre à partir du préfixe racine pour satisfaire l’événement de répartition.

Le gestionnaire d’adresses enregistre un message d’avertissement si le pourcentage d’adresses libres au sein d’une partition tombe en dessous free-prefix-utilization du seuil. Le franchissement de ce seuil indique que la partition risque de manquer d’adresses car elle a alloué un grand nombre d’adresses.

Lorsque vous configurez APM, vous affectez des préfixes racine à une partition. Le gestionnaire d’adresses répartit les préfixes à partir d’une seule partition pour un domaine donné. Chaque partition représente un contexte d’allocation. Le gestionnaire d’adresses utilise le biais que vous configurez pour le domaine afin de sélectionner la partition à partir de laquelle il subdivise les préfixes à allouer au domaine.

Lorsque vous ajoutez un préfixe racine à une partition, assurez-vous qu’il respecte les limites de longueur minimale et maximale spécifiées pour cette partition :

  • La min-prefix-lenvaleur est le préfixe racine valide le plus court.

  • La max-prefix-lenvaleur est le préfixe racine valide le plus long.

Ainsi, min-prefix-len <= longueur du préfixe racine <= max-prefix-len.

Par exemple, si min-prefix-len est 20 et max-prefix-len vaut 24, vous pouvez ajouter un préfixe racine avec des longueurs de préfixe de /20, /21, /22, /23 ou /24.

Plus la longueur du préfixe est petite, plus le nombre d’adresses d’hôte individuelles disponibles dans le sous-réseau est élevé. Plus la longueur du préfixe est grande, moins il y a d’adresses d’hôtes individuelles disponibles dans le sous-réseau. Par exemple:

  • Une longueur de préfixe de /20 fournit 4 094 adresses d’hôte utilisables.

  • Une longueur de préfixe de /24 fournit 254 adresses d’hôte utilisables.

Note:

Si vous configurez un préfixe racine qui se trouve en dehors des limites spécifiées, APM ne l’ajoute pas à la partition.

Subdivision de préfixe

Les objectifs de la subdivision de préfixe permettent à APM de partager un préfixe racine entre plusieurs domaines et de permettre aux domaines de croître par incréments plus petits. Le gestionnaire d’adresses utilise un algorithme VLSM pour subdiviser les préfixes racine d’une partition lors de la configuration. Chaque subdivision est un sous-réseau (sous-réseau).

Vous pouvez contrôler la profondeur avec laquelle le gestionnaire d’adresses subdivise un préfixe racine en spécifiant la longueur maximale autorisée du préfixe. La valeur de est le préfixe le max-prefix-length plus long autorisé pour un sous-réseau. Par conséquent, cette configuration détermine le nombre minimal d’adresses d’hôte qu’un préfixe alloué doit fournir.

Attribution de préfixe

Le gestionnaire d’adresses ne peut allouer un préfixe particulier qu’à un seul domaine. L’attribution du préfixe dépend des informations de biais du domaine et de la taille du préfixe demandé.

Le gestionnaire d’adresses s’efforce de faire correspondre la taille de préfixe demandée (preferred-prefix-len) lorsqu’il alloue un préfixe. Il se peut que la partition n’ait plus de préfixes correspondant à la longueur demandée. Par exemple, lorsque le gestionnaire d’adresses alloue un préfixe supérieur à un pool, il alloue également tous ses préfixes subordonnés au pool.

VLSM

VLSM crée une hiérarchie de sous-réseaux à partir d’un préfixe racine. Il subdivise le préfixe racine en ajoutant des bits à la longueur du préfixe. Chaque bit ajouté à la longueur du préfixe crée un autre niveau subordonné de sous-réseaux avec la propriété suivante :

  • Chaque niveau comporte deux fois plus de sous-réseaux que le niveau suivant.

  • Chaque niveau n’a que la moitié du nombre d’adresses d’hôte par sous-réseau que le niveau suivant.

Chaque préfixe racine et les hiérarchies de sous-réseaux qui lui sont associées constituent une arborescence de préfixes. Une partition est donc constituée d’un ensemble d’arborescences de préfixes. Le gestionnaire d’adresses ne peut allouer qu’un préfixe qui s’insère quelque part dans l’une de ces arborescences de préfixes.

Les préfixes peuvent se trouver dans l’un des états suivants :

  • Disponible : le préfixe peut être alloué à un domaine.

  • Alloué : le préfixe est déjà alloué à un domaine et à une entité.

  • Reserved (Réservé) : le préfixe est réservé administrativement avec l’instruction reserved-prefix . APM ne peut pas attribuer le préfixe à un domaine qui ne correspond pas au domaine demandeur.

Exemple VLSM

La figure 4 montre une hiérarchie pour le préfixe racine 192.0.2.0/24 dans la partition test-1. Vous pouvez voir que le nombre de sous-réseaux double pour chaque bit ajouté à la longueur du préfixe, passant d’un sous-réseau pour /24 à huit sous-réseaux pour /27. Le nombre d’adresses utilisables par sous-réseau est divisé par deux pour chaque bit de longueur de préfixe supplémentaire, passant de 254 adresses pour /24 à 30 adresses pour /27.

Note:

Chaque bloc de préfixe du diagramme affiche les adresses utilisables :

Adresses utilisables = Nombre total d’adresses – 2

Les deux adresses exclues correspondent à l’adresse la plus basse (l’adresse réseau) et à l’adresse la plus élevée (l’adresse multicast).

Figure 4 : exemple VLSM Subnet Hierarchy Example de hiérarchie de sous-réseau VLSM

Considérons le scénario suivant avec cette arborescence de préfixes racine :

  1. Le gestionnaire d’adresses reçoit une demande d’allocation avec une longueur de préfixe préférée de 25.

  2. Le gestionnaire d’adresses recherche un préfixe /25 qui inclut l’adresse. 192.0.2.0/25 correspond et est sélectionné s’il est disponible.

Que se passe-t-il si la version 192.0.2.0/25 n’est pas disponible ? Cela signifie que 192.0.2.0/24 n’est pas non plus disponible. Le gestionnaire d’adresses recherche un autre préfixe /25.

Le gestionnaire d’adresses sélectionne 192.0.2.128/25 s’il est disponible. Si ce préfixe n’est pas disponible, le gestionnaire d’adresses tente d’allouer un préfixe /25 à partir d’un autre préfixe racine.

Gestionnaire de provisionnement

Le gestionnaire de provisionnement est constitué de processus de travail qui gèrent les opérations de provisionnement suivantes :

  • Discovery (Découverte) : synchronise les domaines de pool et les informations de pool associées entre l’APM et un BNG. À la fin du processus de découverte, l’APM et le BNG se mettent d’accord sur la liste des domaines de pool et des préfixes de pool alloués.

    Comportement de l'APM : l'APM réconcilie les domaines de son pool avec la liste du BNG de sorte que la liste APM corresponde à la liste du BNG. Les préfixes de pool des domaines supprimés lors du rapprochement voient leurs préfixes de pool associés renvoyés dans leur partition d’origine.

    Le gestionnaire d’approvisionnement effectue une détection chaque fois que l’APM établit une connexion avec le BNG géré, y compris une connexion rétablie après un échec de connexion. Lorsque la connexion est interrompue, un administrateur peut modifier la configuration du BNG. L’APM s’ajuste en conséquence s’il détecte un changement au cours de la découverte suivante.

  • Provisionnement : provisionne et déprovisionne les préfixes sur une BNG gérée. Pendant que le gestionnaire d’adresses gère l’allocation des préfixes, le gestionnaire de provisionnement communique avec le BNG pour provisionner le pool d’adresses.

Lorsque la connexion est rétablie, le gestionnaire de provisionnement informe le gestionnaire d’entités que le BNG est accessible. Le gestionnaire d’entités demande au gestionnaire de provisionnement de démarrer le processus de synchronisation.

Fonctionnement de la récupération des préfixes

La récupération d’adresses sur le BNG récupère les préfixes provisionnés sous-utilisés des pools d’adresses des appareils et renvoie les préfixes au pool centralisé de l’APM. L’APM peut ensuite réallouer ces préfixes selon les besoins à d’autres pools qui approchent de l’épuisement des adresses. Cela signifie que la distribution des préfixes s’adapte en permanence pour maximiser l’utilisation et l’efficacité de l’espace d’adressage.

La récupération est le processus de récupération des préfixes de pool à partir du domaine de pool d'un BNG lorsque le BNG dispose d'un surplus d'adresses libres. Vous définissez la valeur du seuil de récupération dans la configuration du profil de domaine du pool. Vous référencez ensuite le profil de domaine du pool dans la configuration de l’entité sur APM.

La BNG surveille le nombre d’adresses libres pour chacun de ses domaines de pool. Lorsque le nombre d’adresses libres atteint le seuil de récupération, le BNG est considéré comme ayant un surplus d’adresses. Le BNG envoie une alarme de récupération à APM avec des informations identifiant un pool suggéré à récupérer. L’alarme de récupération entraîne le processus de récupération automatique. Vous pouvez également lancer un processus de récupération manuelle.

La récupération consiste à vider une piscine puis à récupérer les préfixes de la piscine, comme expliqué ici :

  • Lorsque l’APM initie une vidange, il envoie un message à l’appareil pour qu’il commence à vider activement la piscine. Cela signifie qu’aucun nouvel abonné n’est alloué à partir de ce pool. Pour les abonnés du modèle d’accès basé sur la connexion (par exemple, PPP), un drain actif déclenche une déconnexion et une reconnexion immédiates. Pour les abonnés à bail, un drain actif entraîne le rejet du renouvellement du bail. Pour les deux modèles, le résultat net est que l’abonné se reconnecte, mais se voit attribuer une adresse d’un autre pool du domaine.

  • Le pool est complètement vidangé lorsqu’il n’y a pas d’abonnés utilisant une adresse dans le pool. Toutes les adresses de ce pool sont gratuites. Le BNG envoie un message d’alarme à l’APM en cas de vidange de la piscine.

L’APM peut récupérer des adresses de l’une des manières suivantes :

  • Automatic (Automatique) : vous pouvez configurer la récupération pour qu’elle soit un processus entièrement automatique qui se produit lorsque l’APM reçoit une alarme de récupération ou de vidange de piscine. Vous pouvez spécifier que le processus doit commencer immédiatement, ou qu’il n’a lieu que pendant une fenêtre de temps spécifique, ou qu’il doit attendre un certain temps avant d’agir sur l’alarme.

  • Manual (Manuel) : vous utilisez show des commandes pour afficher les alarmes des pools individuels sur le BNG. Vous émettez request apm ensuite des commandes pour drainer les adresses d’un pool, déprovisionner le pool drainé et récupérer ses adresses.

Récupération automatique des préfixes

Vous pouvez activer APM pour qu’il gère automatiquement la tâche de récupération. Vous pouvez configurer la récupération automatique dans le pool-domain-profile fichier attribué à l’entité, comme configuré dans l’instruction entity-match .

Lorsque vous activez la récupération automatique, les actions suivantes ont lieu :

  • L’APM répond aux alarmes de récupération de domaine envoyées par l’entité. L’alarme de récupération contient un nom de pool suggéré à récupérer.

  • L’APM répond à l’alarme de récupération en demandant à l’entité de placer un drain actif sur la piscine. Lorsque le pool est complètement vidé (aucune allocation d’adresse en attente du pool), l’entité déclenche une alarme de vidange du pool de domaines.

  • APM répond à l’alarme de vidange de pool en demandant à l’entité de supprimer le pool ; APM renvoie le préfixe du pool à la partition à partir de laquelle il a été alloué.

  • Une fois que le préfixe a été renvoyé à la partition, il est disponible pour les autres entités qui déclenchent des alarmes de répartition de domaine.

La récupération automatique vous permet de limiter le nombre d’adresses inutilisées conservées sur l’entité. Étant donné que le processus de récupération automatique implique un impact potentiel sur le service actif-drain, vous pouvez configurer APM pour qu’il ne lance la récupération automatique que pendant une fenêtre de maintenance configurée.

Libération des préfixes alloués pour une entité

Dans le cas où une entité réseau tombe en panne et ne parvient pas à se reconnecter à APM pour autoriser les préfixes de pool alloués à être récupérés sur leurs partitions sources, vous pouvez utiliser la request apm release entity system-id commande. Cette commande désalloue tous les préfixes et domaines de pool associés à une entité réseau. Vous ne pouvez pas utiliser la request apm release entity system-id commande si l'état APMi de l'entité est reachable.

Procédez comme suit pour libérer des préfixes d’une entité inaccessible.

  1. Utilisez la show apm entity system id commande pour afficher l'état d'accessibilité de l'entité et les préfixes de pool détenus par ses domaines de pool. La sortie indique que l'entité est accessible et qu'elle a alloué 3 préfixes de pool.
  2. La request apm release entity system id commande échoue lorsque l’entité est accessible.

  3. Entrez le show apm entity pour voir si l’entité est inaccessible.

  4. Comme l’entité de l’étape 3 est inaccessible, vous pouvez entrer la commande pour commencer la request apm release entity system-id récupération. APM déprovisionne le pool et renvoie les adresses à la partition source pour réallocation. Tous les préfixes de pool signalés à l’étape 1 sont libérés.

Récupération manuelle des adresses

La récupération manuelle vous offre un contrôle précis. La récupération manuelle vous oblige à surveiller de près les domaines et les pools d’adresses sur vos BNG gérés.

  1. Utilisez la show apm alarms commande pour afficher toutes les alarmes en attente reçues du BNG. La sortie affiche les noms des pools avec l’état d’alarme reclaim .

    L’alarme reclaim signifie que le domaine du pool a un surplus d’adresses. Le Info champ contient le nom d’un pool que le BNG recommande pour la récupération. Une alarme de récupération ne signifie pas que la piscine dispose d’un ensemble de vidange actif. Si un drain n’est pas en place sur la piscine, la piscine peut toujours attribuer des adresses.

  2. Lancez la request apm drain commande pour commencer à vider la piscine.
    Note:

    Vous pouvez retirer un drain que vous avez initié en exécutant la request apm activate commande.

  3. Utilisez la show apm alarms commande pour voir que la piscine a été vidée. L’état de l’alarme affiche l’état pool-drained .
  4. Exécutez la commande pour commencer la request apm reclaim récupération. APM déprovisionne le pool et renvoie les adresses à la partition source pour réallocation.

Lorsque vous choisissez la récupération manuelle, soyez prudent dans le choix de la piscine à récupérer. Voici quelques-uns des éléments à prendre en compte pour choisir une piscine à récupérer.

  • Lorsque vous videz un pool, vous devez tenir compte des abonnés qui utilisent ces adresses dans d’autres pools du domaine du pool. Il doit y avoir suffisamment d’adresses libres dans les autres pools (dans le domaine) pour absorber ces abonnés. Par conséquent, le nombre d’adresses libres dans le domaine du pool doit être supérieur au nombre d’adresses utilisées dans le pool que vous videz :

    (adresses libres du domaine du pool) –(adresses libres du pool de drainage) > (adresses utilisées du pool de drainage)

  • Lorsque vous vidangez une piscine, vous ne devez pas laisser le domaine de la piscine en danger immédiat de manquer d’adresses libres. Si le nombre d’adresses libres dans le domaine tombe en dessous du seuil d’attribution, cela déclenche une alarme d’attribution qui entraîne le provisionnement d’un plus grand nombre d’adresses par l’APM pour le pool. En d’autres termes, essayez de ne pas initier une vidange sur une piscine à moins que l’inégalité suivante ne soit vraie :

    (adresses libres du domaine du pool) – (nombre total d’adresses du pool de drainage) > (seuil de portion)

Timestamps

La commande permet de surveiller les show apm entity opérations de récupération de l’APM. La sortie de la commande affiche les horodatages de la dernière découverte, de la dernière allocation et des derniers événements de récupération lorsque vous affichez les statistiques d’un routeur ou d’un domaine de pool spécifique. Les horodatages sont au format ISO-8601 avec une horloge de 24 heures :

YYYY-MM-DDThh :mm:ssZ

  • T est le délimiteur entre la date et l’heure.

  • Z indique que l’heure est dans le fuseau horaire UTC. Si l’heure du routeur utilise un fuseau horaire différent, le format affiche le décalage par rapport à UTC pour identifier le fuseau horaire.

  • Les fuseaux horaires à l’ouest de UTC ont un décalage négatif, désigné par –hh :mm.

  • Les fuseaux horaires à l’est de UTC ont un décalage positif désigné par +hh :mm.

Par exemple, les horodatages suivants affichent tous la même heure, en supposant l’heure standard :

  • 2020–03–20T15:10:25Z (Londres)

  • 2020–03–20T10:10:25-05:00 (New York)

  • 2020-03-20T16:10:25+01:00 (Paris)

  • 2020–03–20T23:10:25+08:00 (Pékin)

APM et Kubernetes

APM fonctionne dans un environnement de cluster Kubernetes. L’APM est une application conteneurisée, dans laquelle Kubernetes est l’orchestrateur des conteneurs. Il regroupe les conteneurs en unités logiques (pods) qui simplifient la gestion. La commande APM et la CLI simplifient les interactions avec Kubernetes.

Avec Kubernetes, vous pouvez redémarrer automatiquement les microservices APM. Étant donné que Kubernetes déploie les microservices en tant que jeux de réplicas, il peut s’assurer que le pod avec le microservice redémarre en cas de défaillance du pod. Lors du déploiement initial et au redémarrage, le pod de service vérifie que le chargement de la configuration est terminé. Le pod de service vérifie également qu’il peut se connecter à la base de données et au courtier de messages. Une fois la confirmation réussie, le service APM démarre.

Kubernetes fournit une redondance pour la fonctionnalité APM, car il distribue et gère les conteneurs d’applications sur un cluster composé de plusieurs machines à nœuds. Chaque nœud peut jouer un ou plusieurs rôles dans le cluster.

  • Nœuds de plan de contrôle (etcd) : les nœuds de plan de contrôle sont responsables de la planification des charges de travail d’application (pods) sur les nœuds disponibles. Les nœuds du plan de contrôle ont un rôle de travail, l’état d’archivage lié aux charges de travail, la surveillance de la disponibilité des nœuds et l’état de la charge de travail. Les nœuds du plan de contrôle assurent le fonctionnement continu de l’application sur le cluster.

  • Nœud de travail : un nœud de travail est une cible de planification pour les charges de travail applicatives.

Si vous choisissez d’utiliser des machines virtuelles pour construire les nœuds du cluster, les machines virtuelles doivent se trouver sur des nœuds physiques différents. L’utilisation de différents nœuds physiques garantit une disponibilité maximale des nœuds du cluster. En cas de défaillance d’un nœud de travail, le plan de contrôle Kubernetes détecte la défaillance. Il tente de replanifier les charges de travail qui s’exécutaient sur le nœud défaillant vers d’autres nœuds de travail du cluster.

h

Note:

Le service de base de données utilisé par APM nécessite au moins trois nœuds de travail physiques pour assurer la haute disponibilité de l’application.

La réplication assure la redondance des bases de données. L’instance de base de données principale est dupliquée en une seule instance de base de données répliquée. Chaque instance est un pod distinct. Un nombre impair d’instances Database Sentinel surveillent l’instance de base de données principale et l’instance de réplica. Lorsqu’une sentinelle détecte une défaillance de l’instance principale, la majorité des sentinelles doit être d’accord. Ensuite, la majorité des sentinelles doivent choisir l’instance de réplica à promouvoir au rôle principal. Si l’instance principale précédente est récupérée, elle assume le rôle d’instance de réplica.

Objets Kubernetes approvisionnés par APM

APM crée les objets Kubernetes suivants lors du démarrage ou du déploiement. APM utilise ces objets tout au long de son cycle de vie. Les objets sont supprimés sur apm stop.

  • Espace de noms : cluster virtuel de machines de nœud exécutant APM. Tous les objets APM sont isolés dans le fichier jnpr-apm.

  • Services externes : les objets sont créés au moment de l’installation pour obtenir l’adresse IP externe attribuée par l’équilibreur de charge du cluster (contrôleur entrant). Les services externes en dehors du cluster utilisent ces adresses IP externes pour initier la communication avec APM. Si le cluster ne prend pas en charge d’équilibreur de charge réseau, il utilise le nœud principal comme adresse IP externe.

  • ConfigMap : stocke le fichier de configuration du serveur de base de données (redis.conf) et un fichier de configuration initial (juniper.conf) pour MGMT.

  • PersistentVolumeClaims : pour les conteneurs qui ont des exigences de stockage de données dynamiques. Cet objet inclut la gestion et les déploiements de bases de données.

  • Secrets : stocke les clés et les certificats dont vous avez besoin pour sécuriser l’APMi.

Archivage automatique de la configuration de l’APM

L’APM utilise un fichier de configuration initial lors de son premier démarrage et de son déploiement. Le fichier de configuration peut être soit le fichier de configuration d’usine par défaut, soit un fichier de configuration fourni par vous lors de l’installation. Ce fichier de configuration initial est stocké dans le référentiel de cluster de l'hôte de saut. Une fois qu’une modification est validée dans la configuration, le fichier de configuration initial utilisé lors du démarrage et du déploiement peut être mis à jour lorsque vous exécutez une commande de script de l’utilitaire APM save-config .

À l’aide de la fonction d’archivage automatique, APM peut être configuré pour archiver automatiquement une copie d’une configuration validée sur un serveur de fichiers externe. Chaque fois que la configuration est modifiée et validée, APM transfère une copie du fichier de configuration validé au serveur de fichiers externe.

Vous configurez l’archivage automatique de votre fichier de configuration à l’aide de la setup commande. Il s’agit de la même setup commande que celle que vous utilisez lorsque vous configurez APM pour la première fois.

Si vous n’avez pas initialement configuré l’archivage automatique lors de votre configuration et que vous souhaitez enregistrer automatiquement les modifications de configuration dans un fichier de configuration externe, effectuez les opérations suivantes :

  1. Exécutez la commande (pour plus d’informations, consultez le setup Guide d’installation du gestionnaire de pool d’adresses). Au cours du processus d’installation, configurez les éléments suivants :

    • Config Archival copy rollback configs : entrez True pour archiver les fichiers de configuration de restauration.

    • Config Archival retain source filename (Conserver le nom du fichier source) : entrez True pour copier le fichier de configuration à l'aide du nom de fichier stocké dans le système de fichiers du microservice de gestion (par exemple, juniper.conf.gz). Si vous entrez False, le nom du fichier de configuration archivé est précédé du préfixe apm_<date-stamp>_<time-stamp>_.

    • Config Archival secret —Entrez le nom du secret Kubernetes dans l’espace de noms APM qui contient les données de clé privée SSH.

      Si vous ne fournissez pas de secret, vous serez invité à entrer un fichier de clé SSH :

      • Config Archival ssh-key : entrez le nom du fichier de clé privée SSH.

    • Config Archival scp URL : saisissez l’URL SCP (Secure Copy Protocol) du serveur sur lequel le fichier de configuration sera archivé. L’URL doit être au format scp://user-login@server-fqdn:server-port/absolute-file-path.

      Note:

      Le numéro de port du serveur (server-port) est facultatif.

  2. Si APM est déjà en cours d’exécution, exécutez la rollout commande pour mettre à jour le microservice de gestion .

Utiliser l’APM avec une redondance géographique multiple

L’APM peut être configuré pour fonctionner dans un environnement à plusieurs emplacements géographiques et à plusieurs clusters. La configuration de clusters multigéographiques et multiples améliore la disponibilité de l’APM. Dans ce type de configuration, si le datacenter subit une panne totale, l’APM peut conserver son état et reprendre ses activités.

Kubernetes augmente l’évolutivité, l’efficacité opérationnelle et la fiabilité de la solution. La modularité d’un cloud Kubernetes permet aux architectures de clusters de bénéficier d’une redondance inégalée. Même les architectures de cluster les plus redondantes sont vulnérables aux événements tels que les catastrophes naturelles ou les cyberattaques qui peuvent cibler un emplacement ou une zone géographique spécifique. Une configuration géographique et de clusters multiples atténue ces susceptibilités.

La figure 5 montre un exemple de configuration de plusieurs zones géographiques et de plusieurs clusters.

Figure 5 : configuration de plusieurs zones géographiques avec plusieurs clusters Multiple Geographies with Multiple Clusters Setup

Dans une configuration à plusieurs zones géographiques et à plusieurs clusters, le cluster de gestion conserve un contexte distinct pour l’exécution de plusieurs fonctions de planification et de surveillance de clusters et est connecté aux deux clusters de charges de travail. Le contexte de clusters multiples est piloté par un moteur de stratégie qui informe le planificateur de la répartition de l’application sur les clusters de charges de travail. Les applications qui utilisent la configuration de clusters multiples pour une redondance géographique multiple disposent de règles de stratégie qui distribuent les microservices d’application impliqués dans la réplication d’état aux deux clusters de charges de travail. Les autres microservices d’application sont distribués à un cluster de charges de travail choisi comme cluster de charges de travail principal.

Les clusters de charges de travail acceptent le travail du cluster de gestion via l’API REST Kubernetes. Les clusters de charges de travail sont des clusters Kubernetes standard. Un tunnel L3 sécurisé est maintenu entre les clusters de charges de travail. Le tunnel facilite l’échange d’états d’applications et la communication générale entre les deux clusters de charges de travail. En tant que cluster Kubernetes standard, un cluster de charges de travail surveille les pods et les déploiements, et effectue des tâches de planification pour les nœuds de travail du cluster, tout en assurant la maintenance des composants applicatifs déployés. Le cluster de charges de travail n’a pas besoin de la présence du cluster d’administration pour maintenir ses charges de travail applicatives. Lorsque des applications sont déployées, le cluster de charges de travail est chargé de maintenir le déploiement des applications.

Si le cluster de gestion détecte qu'un cluster de charges de travail est défaillant ou que le microservice d'une application ne peut pas être planifié de manière satisfaisante sur un cluster de charges de travail, il déclenche un événement de basculement. L’action de basculement est contrôlée par les stratégies définies pour l’application. Lors d'un basculement, les microservices d'une application qui existent uniquement sur le cluster de charge de travail défaillant sont redéployés sur l'autre cluster de charge de travail.

L’APM peut être déployée dans un environnement à plusieurs emplacements et clusters. Les graphiques Helm de l'APM incluent des règles de stratégie de propagation qui indiquent au contexte de clusters multiples du cluster de gestion de déployer une instance du microservice dbSync sur les deux clusters de charges de travail. Les deux instances dbSync communiquent via le tunnel sécurisé pour refléter l’état de la partition stockée dans la base de données entre les deux zones géographiques. Le microservice de base de données et le microservice dbSync sont déployés sur les deux clusters de charges de travail. Le microservice dbSync s’assure que la base de données est synchronisée entre les deux zones géographiques. La majeure partie des charges de travail et des microservices d'APM s'exécutent sur un cluster de charges de travail et basculent vers l'autre cluster de charges de travail si nécessaire.

La figure 6 illustre l’APM dans une configuration à plusieurs zones géographiques et à plusieurs clusters.

Figure 6 : APM dans une configuration à plusieurs zones géographiques et à plusieurs clusters APM in a Multiple Geographic and Multiple Cluster Setup

En cas de défaillance du cluster de charges de travail, le cluster d’administration replanifie l’APM sur l’autre cluster de charges de travail. Lorsque l’APM s’initialise sur le deuxième cluster de charges de travail, il récupère sa configuration à partir d’un cache de configuration répliqué géré par le microservice configserver. APM récupère également l’état de sa partition à partir de l’instance de base de données locale, comme il le ferait au redémarrage d’un microservice. Étant donné que la base de données locale a reçu des informations sur l’état de réplication du cluster de charges de travail précédent, tous les états de partition sont récupérés. D’autres états, tels que le domaine du pool et l’état du pool, sont récupérés directement à partir des entités lorsqu’elles se reconnectent et suivent leur procédure de synchronisation normale.

L’APM déploie également un microservice sur le cluster de gestion, appelé observateur. L’observateur s’exécute dans le contexte normal du cluster de gestion et observe les événements de planification APM dans le contexte de cluster multiple (associé au cluster de gestion). Dans les situations de basculement où l’APM peut exister temporairement dans les deux clusters de charges de travail, l’observateur permet à l’APM de résoudre toute ambiguïté sur l’APM qui doit être exécuté.

Par exemple, si le cluster d’administration ne peut plus atteindre ou surveiller un cluster de charges de travail, le cluster d’administration déclare que le cluster de charges de travail a échoué. Le cluster de gestion initie un basculement des charges de travail du cluster de charges de travail défaillant vers l’autre cluster de charges de travail.

Un scénario dans lequel le cluster de charges de travail défaillant est opérationnel, mais inaccessible à partir du cluster d’administration, crée un déploiement ambigu. Il existe plusieurs instances de charges de travail d’application sur les deux clusters de charges de travail. Étant donné que le cluster de gestion est l’arbitre final quant à l’emplacement d’exécution des charges de travail dans un déploiement à plusieurs clusters, un mécanisme est nécessaire pour forcer les charges de travail dupliquées sur le cluster de charges de travail perçues comme ayant échoué à entrer dans un état inactif ou dormant, par respect pour leurs homologues commutés.

Comme mentionné précédemment, le microservice observateur s’exécute sur le cluster de gestion. L’observateur surveille les événements de planification pour les charges de travail des applications. Chaque fois qu’une charge de travail d’application est planifiée sur un cluster de charges de travail, l’observateur attribue un numéro de génération unique à cette charge de travail. Lorsqu’une même charge de travail est basculée vers l’autre cluster de charges de travail, le numéro de génération est incrémenté. Au fur et à mesure que les charges de travail des applications s’initialisent, elles demandent leur numéro de génération à l’observateur. Le numéro de génération passe entre les clusters de charges de travail. Les charges de travail d’application sur le cluster de charges de travail défaillant notent que les mêmes charges de travail ont un numéro de génération plus élevé sur l’autre cluster de charges de travail et font passer le cluster de charges de travail à un état dormant (toutes les connexions sont abandonnées, aucun état n’est généré ou consommé).

Le numéro de génération permet de corriger le déploiement ambigu causé par l'incapacité du cluster de gestion à visualiser l'état réel du cluster de charges de travail défaillant. Lorsque l’accessibilité est rétablie sur le cluster de charges de travail défaillant, le cluster d’administration supprime les charges de travail d’application dormantes.