Implémenter des groupes de conteneurs

Effectué

La ressource de niveau supérieur dans Azure Container Instances est un groupe de conteneurs. Un groupe de conteneurs est une collection de conteneurs qui sont planifiés sur le même ordinateur hôte. Les conteneurs d’un groupe de conteneurs partagent un cycle de vie, des ressources, un réseau local et les volumes de stockage.

Informations importantes sur les groupes de conteneurs

Examinons certains détails sur les groupes de conteneurs pour Azure Container Instances.

  • Un groupe de conteneurs est similaire à un pod dans Kubernetes. Un pod correspond généralement à un mappage 1:1 avec un conteneur, mais un pod peut contenir plusieurs conteneurs. Les conteneurs d’un pod multiconteneur peuvent partager des ressources associées.

  • Azure Container Instances alloue des ressources à un groupe multiconteneur en ajoutant les demandes de ressources de tous les conteneurs du groupe. Les ressources peuvent inclure des éléments comme des processeurs, de la mémoire et des GPU.

    Imaginons un groupe de conteneurs qui comporte deux conteneurs nécessitant chacun des ressources du processeur. Chaque conteneur nécessite un processeur. Azure Container Instances alloue deux processeurs pour le groupe de conteneurs.

  • Il existe deux méthodes courantes pour déployer un groupe multiconteneur : à l’aide d’un modèle Resource Manager (ARM) ou de fichiers YAML.

    • Modèle ARM. Un modèle ARM est recommandé pour le déploiement d’autres ressources de service Azure quand vous déployez vos instances de conteneur, comme un partage de fichiers Azure Files.

    • Fichier YAML. En raison de la nature concise du format YAML, un fichier YAML est recommandé quand le déploiement comprend uniquement des instances de conteneur.

  • Les groupes de conteneurs peuvent partager une adresse IP externe, un ou plusieurs ports sur l’adresse IP et une étiquette DNS avec un nom de domaine complet (FQDN).

    • Accès client externe. Vous devez exposer le port sur l’adresse IP et à partir du conteneur pour que les clients externes puissent atteindre un conteneur de votre groupe.

    • Mappage de ports. Le mappage de ports n’est pas pris en charge, car les conteneurs d’un groupe partagent un espace de noms de port.

    • Groupes supprimés. Quand un groupe de conteneurs est supprimé, son adresse IP et son nom de domaine complet sont libérés.

Exemple de configuration

Prenons l’exemple suivant d’un groupe multiconteneur comprenant deux conteneurs.

Diagramme illustrant un groupe multiconteneur Azure Container Instances comportant deux conteneurs.

Voici les caractéristiques et la configuration du groupe multiconteneur :

  • Le groupe de conteneurs est planifié sur une machine hôte unique et se voit attribuer une étiquette de nom DNS.
  • Le groupe de conteneurs expose une adresse IP publique unique avec un port exposé.
  • Un conteneur du groupe écoute sur le port 80. L’autre conteneur écoute sur le port 1433.
  • Le groupe comprend deux partages de fichiers Azure Files en tant que montages de volumes. Chaque conteneur du groupe monte l’un des partages de fichiers localement.

Éléments à prendre en compte pour l’utilisation des groupes de conteneurs

Les groupes multiconteneurs s’avèrent utiles quand vous souhaitez diviser une tâche fonctionnelle unique en plusieurs images conteneur. Différentes équipes peuvent fournir les images et celles-ci peuvent avoir des exigences spécifiques aux ressources.

Examinez les scénarios suivants d’utilisation des groupes multiconteneurs. Réfléchissez aux options permettant de prendre en charge vos applications internes pour le détaillant en ligne.

  • Envisagez des mises à jour de l’application web. Prenez en charge les mises à jour de vos applications web en implémentant un groupe multiconteneur. Un conteneur du groupe sert l’application web et un autre conteneur extrait (pull) le contenu le plus récent du contrôle de code source.

  • Envisagez la collecte de données de journal. Utilisez un groupe multiconteneur pour capturer des données de journalisation et de métriques sur votre application. Votre conteneur d’application génère des journaux et des métriques. Un conteneur de journalisation collecte les données de sortie et écrit les données dans un stockage à long terme.

  • Envisagez la supervision des applications. Activez la supervision pour votre application avec un groupe multiconteneur. Un conteneur de supervision envoie régulièrement une demande à votre conteneur d’application pour s’assurer que votre application s’exécute et répond correctement. Le conteneur de supervision déclenche une alerte s’il identifie des problèmes possibles avec votre application.

  • Envisagez la prise en charge front-end et back-end. Créez un groupe multiconteneur pour contenir votre conteneur front-end et votre conteneur back-end. Le conteneur front-end peut servir une application web. Le conteneur back-end peut exécuter un service pour récupérer des données.