Déployer et exécuter un conteneur sur Azure Container Instances

Les étapes suivantes permettent de mettre facilement à l’échelle des applications Azure Cognitive Services dans le cloud avec Azure Container Instances. La conteneurisation vous aide à vous concentrer sur la création de vos applications au lieu de gérer l’infrastructure. Pour plus d’informations sur l’utilisation de conteneurs, voir Fonctionnalités et avantages.

Prérequis

Cette recette fonctionne avec n’importe quel conteneur Cognitive Services. Vous devez créer la ressource Cognitive Services avant d’utiliser cette recette. Chaque service cognitif qui prend en charge les conteneurs dispose d’un article « Procédure d’installation » qui vous explique comment installer et configurer le service pour un conteneur. Certains services nécessitant un fichier ou un ensemble de fichiers en entrée pour le conteneur, avant d’utiliser cette solution, il est important d’avoir compris le fonctionnement du conteneur et de l’avoir déjà utilisé avec succès.

  • Une ressource Azure pour le service cognitif Azure que vous utilisez.

  • Une URL de point de terminaison de service cognitif : examinez la procédure d’installation du conteneur propre à votre service de façon à trouver l’emplacement de l’URL du point de terminaison sur le portail Azure ainsi qu’un exemple approprié de présentation de l’URL. Le format exact peut changer d’un service à l’autre.

  • Clé du service cognitif : les clés se trouvent dans la page Clés de la ressource Azure. Vous avez seulement besoin d’une des deux clés. La clé est une chaîne de 32 caractères alphanumériques.

  • Un seul conteneur Cognitive Services sur votre hôte local (votre ordinateur). Vérifiez que vous pouvez :

    • Extraire l’image à l’aide d’une commande docker pull.
    • Exécuter correctement le conteneur local avec tous les paramètres de configuration nécessaires à l’aide d’une commande docker run.
    • Appeler le point de terminaison du conteneur, pour obtenir une réponse de HTTP 2xx et une réponse JSON en retour.

Toutes les variables entre chevrons, <>, doivent être remplacées par vos propres valeurs. Ce remplacement inclut les chevrons.

Important

Le conteneur LUIS requiert un fichier de modèle .gz extrait au moment du runtime. Le conteneur doit être en mesure d’accéder à ce fichier de modèle via un montage de volume à partir de l’instance de conteneur. Pour charger un fichier de modèle, procédez comme suit :

  1. Créez un partage de fichiers Azure. Notez le nom du compte de stockage Azure, la clé et le nom du partage de fichiers, car vous en aurez besoin plus tard.
  2. Exportez votre modèle LUIS (application empaquetée) à partir du portail LUIS.
  3. Dans le portail Azure, accédez à la page Vue d’ensemble de la ressource de votre compte de stockage et sélectionnez Partages de fichiers.
  4. Sélectionnez le nom du partage de fichiers que vous avez créé récemment, puis sélectionnez Charger. Chargez ensuite votre application empaquetée.

Création d’une ressource Azure Container Instances avec le Portail Azure

  1. Accédez à la page Créer de Container Instances.

  2. Sous l’onglet De base, entrez les informations suivantes :

    Paramètre Valeur
    Abonnement Sélectionnez votre abonnement.
    Resource group Sélectionnez le groupe de ressources disponible ou créez-en un tel que cognitive-services.
    Nom du conteneur Entrez un nom tel que cognitive-container-instance. Ce nom doit être en minuscules.
    Emplacement Sélectionnez une région pour le déploiement.
    Type d’image Si votre image de conteneur est stockée dans un registre de conteneurs qui ne nécessite pas d’informations d’identification, sélectionnez Public. Si l’accès à votre image conteneur nécessite des informations d’identification, choisissez Private. Reportez-vous aux référentiels de conteneurs et aux images conteneur pour savoir si l’image conteneur est Public ou Private (« Préversion publique »).
    Nom de l’image Entrez l’emplacement du conteneur Cognitive Services. L’emplacement est utilisé comme argument de la commande docker pull. Reportez-vous à Référentiels et images de conteneur pour les noms d’image disponibles et leur référentiel correspondant.

    Le nom d’image doit être complet, c’est-à-dire se composer de trois parties. Tout d’abord, le registre de conteneurs, puis le référentiel et enfin le nom de l’image : <container-registry>/<repository>/<image-name>.

    Voici un exemple, mcr.microsoft.com/azure-cognitive-services/keyphrase représenterait l’image Extraction de phrases clés dans le registre de conteneurs Microsoft sous le référentiel Azure Cognitive Services. Un autre exemple est containerpreview.azurecr.io/microsoft/cognitive-services-speech-to-text qui représenterait l’image Reconnaissance vocale dans le référentiel Microsoft du registre des conteneurs en préversion.
    Type de système d’exploitation Linux
    Taille Appliquez les suggestions de taille pour votre conteneur Cognitive Services :
    2 cœurs de processeur
    4 Go
  3. Sur l’onglet Mise en réseau, entrez les informations suivantes :

    Paramètre Valeur
    Ports Définissez le port TCP sur 5000. Expose le conteneur sur le port 5000.
  4. Sous l’onglet Avancé, entrez les Variables d’environnement exigées pour les paramètres de facturation du conteneur de la ressource Azure Container Instance :

    Clé Valeur
    ApiKey Copiée sur la page Clés et point de terminaison de la ressource. Il s’agit d’une chaîne de 32 caractères alphanumériques sans espaces ni tirets, xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
    Billing URL du point de terminaison copiée sur la page Clés et point de terminaison de la ressource.
    Eula accept
  5. Cliquez sur Examiner et créer

  6. Une fois la validation réussie, cliquez sur Créer pour terminer le processus de création

  7. Lorsque la ressource est déployée avec succès, elle est prête

Utiliser l’instance de conteneur

  1. Sélectionnez Vue d’ensemble et copiez l’adresse IP. Il s’agit d’une adresse IP numérique telle que 55.55.55.55.

  2. Ouvrez un nouvel onglet de navigateur et utilisez l’adresse IP, par exemple, http://<IP-address>:5000 (http://55.55.55.55:5000). La page d’accueil du conteneur s’affiche en vous informant que le conteneur est en cours d’exécution.

    Page d’accueil du conteneur

  3. Sélectionnez Description de l’API de service pour afficher la page swagger pour le conteneur.

  4. Sélectionnez une des API POST, puis choisissez Essayer. Les paramètres s’affichent, y compris l’entrée. Complétez les paramètres.

  5. Sélectionnez Exécuter pour envoyer la demande à votre instance de conteneur.

    Vous êtes parvenu à créer et utiliser des conteneurs Cognitive Services dans une instance de conteneur Azure.