logo de Cisco

Applications d'hébergement CISCO IOS XR

Applications d'hébergement CISCO IOS XR

Hébergement d'applications sur IOS XR
Cette section explique les différents types d'hébergement d'applications et montre comment une application simple peut être hébergée de manière native ou dans un conteneur tiers sur IOS XR.

  • Hébergement d'applications à l'aide de conteneurs Docker.
  • Hébergement d'applications de conteneur basé sur Docker.

Hébergement d'applications à l'aide de conteneurs Docker
L'hébergement d'applications sur IOS XR prend en charge les conteneurs Docker. Vous pouvez créer votre propre conteneur sur IOS XR à l'aide de Docker et héberger des applications dans le conteneur. Les applications peuvent être développées à l'aide de n'importe quelle distribution Linux. Ceci est bien adapté aux applications qui utilisent des bibliothèques système différentes de celles fournies par la racine IOS XR. file système. Cisco NCS 540 prend uniquement en charge l'hébergement d'applications basé sur Docker.

Hébergement d'applications de conteneur basé sur Docker
Cette section présente le concept d'hébergement d'applications conteneurs et décrit son flux de travail. L'hébergement d'applications conteneurisées permet aux applications d'être hébergées dans leur propre environnement et espace de processus (espace de noms) au sein d'un conteneur Linux sur Cisco IOS XR. Le développeur d'applications a un contrôle total sur l'environnement de développement d'applications et peut utiliser la distribution Linux de son choix. Les applications sont isolées des processus du plan de contrôle IOS XR ; pourtant, ils peuvent se connecter à des réseaux extérieurs à XR via les interfaces XR GigE. Les applications peuvent également accéder facilement aux informations locales file systèmes sur IOS XR.

Utilisation de Docker pour héberger des applications sur Cisco IOS XR
Docker est un conteneur utilisé pour héberger des applications sur Cisco IOS XR. Docker fournit une isolation pour les processus d'application des processus hôtes sous-jacents sur XR en utilisant les espaces de noms réseau Linux.

Besoin de Docker sur Cisco IOS XR
Docker est en train de devenir le modèle de packaging préféré de l'industrie pour les applications dans l'espace de virtualisation. Docker constitue la base de l'automatisation de la gestion du cycle de vie des applications. Docker suit une approche en couches qui consiste en une image de base en bas qui prend en charge les couches d'applications en haut. Les images de base sont disponibles publiquement dans un référentiel, en fonction du type d'application que vous souhaitez installer par-dessus. Vous pouvez manipuler les images Docker à l'aide de l'index et du registre Docker. Docker fournit un flux de travail de type Git pour développer des applications conteneurisées et prend en charge le mécanisme de « mise à jour fine », dans lequel seule la différence dans le code source est mise à jour, ce qui conduit à des mises à niveau plus rapides. Docker fournit également le mécanisme de « téléchargement léger », grâce auquel les applications les plus récentes sont téléchargées plus rapidement en raison du partage de couches Docker de base communes entre plusieurs conteneurs Docker. Le partage des couches Docker entre plusieurs conteneurs Docker entraîne une empreinte moindre des conteneurs Docker sur XR.

Architecture Docker sur Cisco IOS XR
La figure suivante illustre l'architecture Docker sur IOS XR.

Applications d'hébergement CISCO IOS XR 1

Les binaires d'application pour les applications à héberger sont installés dans le conteneur Docker.

Hébergement d'applications dans des conteneurs Docker
La figure suivante illustre le flux de travail pour l'hébergement d'applications dans des conteneurs Docker sur IOS XR.
Applications d'hébergement CISCO IOS XR 2

  1. Le docker file dans le référentiel source est utilisé pour construire le binaire de l'application file sur votre machine hôte (version du moteur Docker).
  2. Le binaire de l'application file est poussé dans le registre d’images Docker.
  3. Le binaire de l'application file est extrait du registre d'images Docker et copié dans le conteneur Docker sur XR (hôte cible du moteur Docker).
  4. L'application est créée et hébergée dans le conteneur Docker sur XR.

Mise à jour des applications dans les conteneurs Docker
La figure suivante illustre le flux de travail de mise à jour des applications hébergées dans des conteneurs Docker.Applications d'hébergement CISCO IOS XR 3

  1. La mise à jour de l'application est générée en tant que mise à jour des bibliothèques de base file (mise à jour delta file) et poussé vers le registre d'images Docker.
  2. La mise à jour delta file (contenant uniquement la différence dans le code de l'application) est extrait du registre d'images Docker et copié dans les conteneurs Docker sur XR (hôte cible du moteur Docker).
  3. Les conteneurs Docker sont redémarrés avec la mise à jour delta file.

Hébergement de TPA à l'aide d'Application Manager

Tableau 1 : Tableau de l'historique des fonctionnalités

Fonctionnalité Nom Informations sur la version Fonctionnalité Description
Service démon Docker à la demande Version 7.5.1 À partir de cette version, le

Le service démon Docker démarre sur un routeur uniquement si vous configurez une application d'hébergement tierce à l'aide du gestionnaire d'applications commande. Un tel service à la demande optimise les ressources du système d'exploitation telles que le processeur, la mémoire et l'alimentation.

Dans les versions antérieures, le service démon Docker démarrait automatiquement lors du démarrage du routeur.

Dans les versions précédentes, les applications étaient hébergées et contrôlées par les commandes Docker. Ces commandes Docker ont été exécutées dans le shell bash du noyau qui hébergeait également le logiciel Cisco IOS XR. Avec l'introduction d'Application Manager, il est désormais possible de gérer l'hébergement d'applications tierces et leur fonctionnement via les CLI Cisco IOS XR. Grâce à cette fonctionnalité, toutes les applications tierces activées peuvent redémarrer automatiquement après un rechargement de routeur ou un basculement RP. Ce redémarrage automatique des applications assure un fonctionnement transparent des applications hébergées.

Commandes prises en charge sur le gestionnaire d'applications
Pour chaque commande ou configuration du gestionnaire d'applications exécutée, le gestionnaire d'applications effectue l'action demandée en s'interfaçant avec le démon Docker via le socket Docker. Le tableau suivant répertorie les fonctionnalités du conteneur Docker, les commandes Docker génériques utilisées dans les versions précédentes et ses commandes de gestionnaire d'applications équivalentes qui peuvent désormais être utilisées :

Fonctionnalité Commandes Docker génériques Application Directeur Commandes
Installer l'application RPM NA RPM d'installation du paquet Router#appmgr

nom_image-0.1.0-XR_7.3.1.x86_64.rpm

Configurer et activer l'application • Charger l'image – [xr-vm_node0_RP0_CPU0:~]$dockerload -i /tmp/nom_image.goudron

• Vérifiez l'image sur le routeur –

xr-vm_node0_RP0_CPU0:~]$docker images ls

• Créer un conteneur sur l'image –

[xr-vm_node0_RP0_CPU0:~]$docker créer nom_image
Routeur#config

Routeur(config)#appmgr Routeur(config-appmgr)#application

nom_de_l'application

Routeur (config-application) #activer la source du docker de type nom_image docker-run-opts "-net = hôte" docker-run-cmd "iperf3 -s -d"

  • Démarrer le conteneur – [xr-vm_node0_RP0_CPU0:~]$docker start mon_conteneur_id Routeur (config-application)#commit
View la liste, les statistiques, les logs et les détails de l'application

récipient

• Liste des images

-[xr-vm_node0_RP0_CPU0:~]$docker images ls

• Répertorier les conteneurs –

[xr-vm_node0_RP0_CPU0:~]$dockerps

• Statistiques

-[xr-vm_node0_RP0_CPU0:~]Statistiques $docker

Routeur#show appmgr source-table

Routeur#afficher le nom de l'application appmgr nom_de_l'application résumé des informations

Routeur#afficher le nom de l'application appmgr nom_de_l'application détail des informations

Routeur#afficher le nom de l'application appmgr nom_de_l'application statistiques

  • Journaux

-[xr-vm_node0_RP0_CPU0:~]$journaux docker

Routeur#afficher la table d'application appmgr

Routeur#afficher le nom de l'application appmgr nom_de_l'application journaux

Fonctionnalité Commandes Docker génériques Application Directeur Commandes
Exécutez un nouveau • Exécuter – [xr-vm_node0_RP0_CPU0:~]$docker exec -it mon_conteneur_id Exécuteur de l'application Router#appmgr
commande

à l'intérieur d'un

nom nom_de_l'application docker-exec-cmd
en cours d'exécution  
récipient  
Arrêter le conteneur d'application • Arrêter le conteneur – [xr-vm_node0_RP0_CPU0:~]$docker stop mon_conteneur_id Nom de l'arrêt de l'application Router#appmgr nom_de_l'application
Tuez le conteneur d'application • Conteneur de suppression – [xr-vm_node0_RP0_CPU0:~]$docker kill mon_conteneur_id Nom de suppression de l'application Router#appmgr nom_de_l'application
Démarrer le conteneur d'application • Démarrer le conteneur – [xr-vm_node0_RP0_CPU0:~]$docker start mon_conteneur_id Nom de démarrage de l'application Router#appmgr nom_de_l'application
Désactiver l'application • Arrêter le conteneur – [xr-vm_node0_RP0_CPU0:~]$docker stop mon_conteneur_id Routeur#configurer

Routeur (config) #aucune application appmgr nom_de_l'application

  • Supprimer le conteneur – [xr-vm_node0_RP0_CPU0:~]$docker rm mon_conteneur_id Routeur (config)#commit
  • Supprimer l'image – [xr-vm_node0_RP0_CPU0:~]$docker rmi nom_image  
Désinstaller l'image de l'application/RPM • Image de désinstallation – [xr-vm_node0_RP0_CPU0:~]$désinstallation de l'application Docker nom_image Package de désinstallation du package Router#appmgr

nom_image-0.1.0-XR_7.3.1.x86_64

Note: L'utilisation des commandes du gestionnaire d'applications est expliquée dans la section « Hébergement d'iPerf dans des conteneurs Docker pour surveiller les performances du réseau à l'aide d'Application Manager ».

Configuration d'un Docker avec plusieurs VRF

Cette section décrit comment configurer un Docker avec plusieurs VRF sur Cisco IOS XR. Pour plus d’informations sur la configuration de plusieurs VRF, consultez la rubrique Configuration de plusieurs VRF pour l’hébergement d’applications.

Configuration
Utilisez les étapes suivantes pour créer et déployer un Docker multi-VRF sur XR.

  1. Créez un Docker multi-VRF avec les privilèges NET_ADMIN et SYS_ADMIN.
    Dans l'exemple suivantample, un conteneur Docker contenant trois VRF (jaune, bleu et vert) est lancé. Le EXample suppose qu'une précédente image Docker « multivrfimage » a été installée à l'aide de la commande d'installation du package appmgr.Applications d'hébergement CISCO IOS XR 4
    Note: 
    • Le montage de l'intégralité du contenu de /var/run/netns de l'hôte vers Docker n'est pas recommandé, car cela monte le contenu des netns correspondant à XR et au plan d'administration système dans le Docker.
    • Vous ne devez pas supprimer un VRF de Cisco IOS XR lorsqu'il est utilisé dans un Docker. Si un ou plusieurs VRF sont supprimés de XR, le Docker multi-VRF ne peut pas être lancé
  2. Vérifiez si le Docker multi-VRF a été chargé avec succès.Applications d'hébergement CISCO IOS XR 5
  3. Connectez-vous au conteneur Docker multi-VRF en exécutant la commande suivante.
    Routeur # nom d'exécution de l'application appmgr multivrfcontainer1 docker-exec-cmd /bin/bash/
    Par défaut, le Docker est chargé dans l'espace de noms global-vrf sur Cisco IOS XR.
  4. Vérifiez si les plusieurs VRF sont accessibles depuis le Docker.Applications d'hébergement CISCO IOS XR 7
    Applications d'hébergement CISCO IOS XR 8

Vous avez lancé avec succès un Docker multi-VRF sur Cisco IOS XR.

Documents / Ressources

Applications d'hébergement CISCO IOS XR [pdf] Manuel de l'utilisateur
Applications d'hébergement IOS XR, IOS XR, applications d'hébergement, applications

Références

Laisser un commentaire

Votre adresse email ne sera pas publiée. Les champs obligatoires sont marqués *