Déployer un conteneur univarié Détecteur d’anomalies sur Azure Container Instances

Important

À compter du 20 septembre 2023, vous ne pourrez plus créer de nouvelles ressources pour Détecteur d’anomalies. Le service Détecteur d’anomalies sera mis hors service le 1er octobre 2026.

Découvrez comment déployer le conteneur détecteur d’anomalies de Azure AI Services sur Azure Container Instances. Cette procédure illustre la création d’une ressource Détecteur d’anomalies. Puis nous aborderons l’extraction de l’image de conteneur associée. Enfin, nous mettrons en avant la possibilité d’exercer l’orchestration des deux à partir d’un navigateur. L’utilisation de conteneurs peut détourner l’attention des développeurs de la gestion de l’infrastructure, au lieu de se concentrer sur le développement d’applications.

Prérequis

  • Utilisez un abonnement Azure. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
  • Installez Azure CLI (az).
  • Moteur docker ; vérifiez que l’interface CLI Docker fonctionne dans une fenêtre de console.

Créer une ressource Détecteur d’anomalies

  1. Connectez-vous au portail Azure.

  2. Sélectionnez la ressource Créer un détecteur d’anomalies.

  3. Entrez tous les paramètres obligatoires :

    Paramètre Valeur
    Nom Nom de votre choix (2-64 caractères)
    Abonnement Sélectionner l’abonnement approprié
    Emplacement Sélectionnez n’importe quel emplacement disponible et proche
    Niveau de tarification F0 - 10 appels par seconde, 20 000 transactions par mois.
    Ou :
    S0 - 80 appels par seconde
    Groupe de ressources Sélectionner un groupe de ressources disponible
  4. Sélectionnez Créer et attendez que la ressource soit créée. Après sa création, accédez à la page de ressources

  5. Collectez le endpoint configuré et une clé d’API :

    Onglet Clés et points de terminaison dans le portail Paramètre Valeur
    Vue d'ensemble Point de terminaison Copiez le point de terminaison. Il ressemble à https://<your-resource-name>.cognitiveservices.azure.com/
    Clés Clé de l’API Copiez 1 des deux clés. Il s’agit d’une chaîne de 32 caractères alphanumériques sans espaces ni tirets, xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.

Créer une ressource d’instance de conteneur Azure depuis Azure CLI

Le YAML ci-dessous définit la ressource Azure Container Instance. Copiez et collez le contenu dans un nouveau fichier nommé my-aci.yaml, et remplacez les valeurs commentés par les vôtres. Reportez-vous au format de modèle pour obtenir du YAML valide. Reportez-vous à Référentiels et images de conteneur pour les noms d’image disponibles et leur référentiel correspondant. Pour plus d’informations sur la référence YAML pour les instances de conteneur, consultez Référence YAML : Azure Container Instances.

apiVersion: 2018-10-01
location: # < Valid location >
name: # < Container Group name >
properties:
  imageRegistryCredentials: # This is only required if you are pulling a non-public image that requires authentication to access. For example Text Analytics for health.
  - server: containerpreview.azurecr.io
    username: # < The username for the preview container registry >
    password: # < The password for the preview container registry >
  containers:
  - name: # < Container name >
    properties:
      image: # < Repository/Image name >
      environmentVariables: # These env vars are required
        - name: eula
          value: accept
        - name: billing
          value: # < Service specific Endpoint URL >
        - name: apikey
          value: # < Service specific API key >
      resources:
        requests:
          cpu: 4 # Always refer to recommended minimal resources
          memoryInGb: 8 # Always refer to recommended minimal resources
      ports:
        - port: 5000
  osType: Linux
  volumes: # This node, is only required for container instances that pull their model in at runtime, such as LUIS.
  - name: aci-file-share
    azureFile:
      shareName: # < File share name >
      storageAccountName: # < Storage account name>
      storageAccountKey: # < Storage account key >
  restartPolicy: OnFailure
  ipAddress:
    type: Public
    ports:
    - protocol: tcp
      port: 5000
tags: null
type: Microsoft.ContainerInstance/containerGroups

Notes

Tous les emplacements n’ont pas les mêmes offres de processeur et de mémoire disponibles. Reportez-vous au tableau Emplacement et ressources pour obtenir la liste des ressources disponibles pour les conteneurs par emplacement et par système d’exploitation.

Nous allons nous reposer sur le fichier YAML que nous avons créé pour la commande az container create. À partir de l’interface CLI, exécutez la commande az container create en remplaçant le <resource-group> par le vôtre. En outre, pour la sécurisation des valeurs au sein d’un déploiement YAML, consultez Valeurs sécurisées.

az container create -g <resource-group> -f my-aci.yaml

La sortie de la commande est Running... si valide. Un peu après, la sortie devient une chaîne JSON représentant la ressource ACI nouvellement créée. L’image de conteneur ne sera probablement pas accessible pendant un certain temps, mais la ressource est maintenant déployée.

Conseil

Prêtez attention aux emplacements des services Azure AI en préversion publique, car le YAML devra être ajusté en conséquence pour correspondre à l’emplacement.

Valider l’exécution d’un conteneur

Il existe plusieurs façons de confirmer que le conteneur s’exécute. Recherchez l’adresse IP externe et le port exposé du conteneur en question, puis ouvrez le navigateur web de votre choix. Utilisez les différentes URL de requête suivantes pour vérifier que le conteneur est en cours d’exécution. Les exemples d’URL de requête listés ici sont http://localhost:5000, mais votre conteneur spécifique peut varier. Veillez à vous fier à l’adresse IP externe de votre conteneur et au port exposé.

URL de la demande Objectif
http://localhost:5000/ Le conteneur fournit une page d’accueil.
http://localhost:5000/ready Demandée avec la fonction d’extraction, cette URL permet de vérifier que le conteneur est prêt à accepter une requête sur le modèle. Cette requête peut être utilisée pour les probes liveness et readiness de Kubernetes.
http://localhost:5000/status Également demandée avec la fonction d’extraction, cette URL permet de vérifier si la clé API servant à démarrer le conteneur est valide sans provoquer de requête de point de terminaison. Cette requête peut être utilisée pour les probes liveness et readiness de Kubernetes.
http://localhost:5000/swagger Le conteneur fournit un ensemble complet de documentation pour les points de terminaison et une fonctionnalité Essayer. Avec cette fonctionnalité, vous pouvez entrer vos paramètres dans un formulaire HTML basé sur le web, et constituer la requête sans avoir à écrire du code. Une fois la requête retournée, un exemple de commande CURL est fourni pour illustrer les en-têtes HTTP, et le format du corps qui est nécessaire.

Container's home page

Étapes suivantes