Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Exécution d’applications tierces dans des conteneurs

Pour exécuter vos propres applications sur Junos OS Evolved, vous avez la possibilité de les déployer dans un conteneur Docker. Le conteneur s’exécute sur Junos OS Evolved et les agents s’exécutent à l’intérieur du conteneur, ce qui les isole du système d’exploitation. Les conteneurs sont installés dans une partition séparée montée dans / var/extensions.

Note:

Les conteneurs Docker ne sont pas intégrés dans Junos OS Evolved, ils sont créés et gérés entièrement via Linux à l’aide des commandes Docker. Pour plus d’informations sur les conteneurs et les commandes Docker, consultez la documentation officielle de Docker : https://docs.docker.com/get-started/

Les conteneurs ont des limites par défaut pour les ressources qu’ils peuvent utiliser à partir du système :

  • Storage – La taille de la partition /var /extensions est pilotée par la plate-forme : 8 Go ou 30 % de la taille totale de /var, selon la plus petite des deux.

  • Memory – Les conteneurs ont une limite par défaut de 2 Go ou 10 % de la mémoire physique totale, selon la plus petite des deux.

  • CPU – Les conteneurs ont une limite par défaut de 20 % d’utilisation maximale du processeur sur tous les cœurs.

Note:

Vous pouvez modifier les limites de ressources sur les conteneurs si nécessaire. Reportez-vous à la section Modification des limites de ressources pour les conteneurs.

Déploiement d’un conteneur Docker

Pour déployer un conteneur docker :

  1. Démarrez le service docker à l’aide du socket vrf0 :
  2. Définissez la variable setenv suivante :
  3. Importez l’image.
    Note:

    L’URL de la import commande doit être modifiée pour différents conteneurs.

  4. Assurez-vous que l’image est téléchargée et obtenez l’ID de l’image.
  5. Créez un conteneur à l’aide de l’ID d’image et entrez une session bash dans ce conteneur.
    Note:

    Les conteneurs Docker sont démonisés par défaut, sauf si vous utilisez l’argument -it .

Gestion d’un conteneur Docker

Les conteneurs Docker sont gérés via un workflow Linux. Utilisez les commandes ou top Linux pour indiquer quels conteneurs Docker sont en cours d’exécution, et utilisez les commandes Docker pour gérer les ps conteneurs. Pour plus d’informations sur les commandes Docker, consultez : https://docs.docker.com/engine/reference/commandline/cli/

Note:

Les fonctionnalités de haute disponibilité de Junos OS Evolved ne sont pas prises en charge pour les applications personnalisées dans les conteneurs Docker. Si une application dispose d’une fonctionnalité de haute disponibilité, vous devez exécuter l’application sur chaque RE pour vous assurer qu’elle peut se synchroniser.

Sélection d’un VRF pour un conteneur Docker

Les conteneurs héritent du routage et transfert virtuel (VRF) du démon Docker. Pour exécuter des conteneurs dans un VRF distinct, une instance du démon Docker doit être démarrée dans le VRF correspondant. L’instance docker@vrf.service permet de démarrer un démon dans le VRF correspondant. Si le VRF n’est pas spécifié, la valeur par défaut du VRF est .vrf0

Le docker.service s’exécute par vrf:none défaut.

Le démon docker d’un VRF spécifique écoute le socket correspondant situé dans / run/docker-vrf.sock.

Le client Docker est associé au démon docker spécifique VRF à l’aide des arguments suivants :

Par exemple, pour exécuter un conteneur dans vrf0 , entrez la commande et les arguments Docker suivants :

Note:

Un conteneur ne peut être associé qu’à un seul VRF.

Modification des limites de ressources pour les conteneurs

Les limites de ressources par défaut pour les conteneurs sont contrôlées via un fichier situé dans / etc/extensions/platform_attributes. Vous verrez le texte suivant à l’ouverture de ce fichier :

Pour modifier les limites de ressources pour les conteneurs, ajoutez des EXTENSIONS valeurs aux entrées au bas du fichier :

  • EXTENSIONS_FS_DEVICE_SIZE_MIB= contrôle l’espace de stockage maximal que les conteneurs peuvent utiliser. Entrez la valeur en octets. La valeur par défaut est 8 Go ou 30 % de la taille totale de /var, la valeur la plus petite étant retenue.

  • EXTENSIONS_CPU_QUOTA_PERCENTAGE= contrôle l’utilisation maximale du processeur que les conteneurs peuvent utiliser. Entrez une valeur en pourcentage de l’utilisation du processeur. La valeur par défaut est 20 % d’utilisation maximale du processeur sur tous les cœurs

  • EXTENSIONS_MEMORY_MAX_MIB= Contrôle la quantité maximale de mémoire physique que les conteneurs peuvent utiliser. Entrez la valeur en octets. La valeur par défaut est 2 Go ou 10 % de la mémoire physique totale, la valeur la plus petite étant retenue.

ATTENTION:

Avant de modifier les limites de ressources pour les conteneurs, tenez-vous compte des exigences en matière de CPU et de mémoire pour l’échelle que vous devez prendre en charge dans votre configuration. Soyez prudent lorsque vous augmentez les limites de ressources pour les conteneurs afin d’éviter qu’ils ne mettent votre système à rude épreuve.