Implementación de un contenedor univariante de Anomaly Detector en Azure Container Instances

Importante

A partir del 20 de septiembre de 2023, no podrá crear nuevos recursos de Anomaly Detector. El servicio Anomaly Detector se retira el 1 de octubre de 2026.

Aprenda a implementar el contenedor de Anomaly Detector de los servicios de Azure AI en una instancia de Azure Container Instances. Este procedimiento muestra la creación de un recurso de Anomaly Detector. Luego se trata la extracción de la imagen de contenedor asociada. Por último, se resalta la posibilidad de aprovechar la orquestación de los dos desde un explorador. El uso de contenedores puede desviar la atención de los desarrolladores de la administración de la infraestructura y centrarla en el desarrollo de aplicaciones.

Requisitos previos

  • Use una suscripción de Azure. Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
  • Instale la CLI de Azure (az).
  • Motor de docker y se asegura de que la CLI de Docker funciona en una ventana de consola.

Creación de un recurso de Anomaly Detector

  1. Inicie sesión en Azure Portal.

  2. Haga clic en Creación de un recurso de Anomaly Detector.

  3. Establezca todas las opciones de configuración necesarias:

    Configuración Value
    Nombre Nombre que quiera (2-64 caracteres).
    Subscription Seleccione una suscripción adecuada.
    Location Seleccione cualquier ubicación disponible cercana.
    Nivel de precios F0: 10 llamadas por segundo, 20 000 transacciones al mes.
    O:
    S0: 80 llamadas por segundo.
    Grupo de recursos Seleccione un grupo de recursos disponible.
  4. Seleccione Crear y espere a que el recurso se cree. Una vez creado, vaya a la página de recursos.

  5. Recopile el elemento endpoint configurado y una clave de API:

    Pestaña de claves y punto de conexión en el portal Configuración Value
    Información general Punto de conexión Copie el punto de conexión. Tiene un aspecto similar a https://<your-resource-name>.cognitiveservices.azure.com/.
    Claves Clave de API Copie una de las dos claves. Es una cadena de 32 caracteres alfanuméricos sin espacios ni guiones, xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.

Creación de un recurso de instancia de contenedor de Azure con la CLI de Azure

El siguiente código YAML define el recurso de instancia de contenedor de Azure. Copie y pegue el contenido en un nuevo archivo llamado my-aci.yaml y reemplace los valores comentados por los suyos propios. Consulte el formato de plantilla para ver el código YAML válido. Consulte las imágenes y los repositorios de contenedor para ver los nombres de imagen disponibles y su repositorio correspondiente. Para más información sobre la referencia de YAML para las instancias de contenedor, consulte Referencia de 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

Nota

No todas las ubicaciones tienen la misma disponibilidad de CPU y memoria. Consulte la tabla ubicación y recursos para obtener una lista de los recursos disponibles para los contenedores por ubicación y sistema operativo.

Nos basaremos en el archivo YAML que hemos creado para el comando az container create. En la CLI de Azure, ejecute el comando az container create reemplazando <resource-group> por el suyo propio. Además, para proteger los valores dentro de una implementación de YAML, consulte cómo proteger los valores.

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

La salida del comando es Running... si es válido. Después de unos minutos, la salida cambia a una cadena JSON que representa el recurso ACI recién creado. Es muy probable que la imagen de contenedor no esté disponible durante un tiempo, pero el recurso ya está implementado.

Sugerencia

Preste mucha atención a las ubicaciones de las ofertas de la versión preliminar pública de los servicios de Azure AI, ya que el YAML tendrá que ajustarse según la ubicación.

Comprobación de que un contenedor está en ejecución

Hay varias maneras de comprobar que el contenedor está en ejecución. Busque la dirección IP externa y el puerto expuesto del contenedor en cuestión y abra el explorador web que prefiera. Use las distintas direcciones URL de solicitud que se indican a continuación para validar que el contenedor se está ejecutando. Las direcciones URL de solicitud de ejemplo que se enumeran aquí son http://localhost:5000, pero el contenedor específico puede variar. Asegúrese de confiar en la dirección IP externa y el puerto expuesto del contenedor.

URL de la solicitud Propósito
http://localhost:5000/ El contenedor ofrece una página principal.
http://localhost:5000/ready Esta URL, solicitada con GET, proporciona una comprobación de que el contenedor está listo para aceptar una consulta para el modelo. Esta solicitud se puede usar con los sondeos de ejecución y preparación de Kubernetes.
http://localhost:5000/status Esta URL, también solicitada con GET, comprueba si el valor de api-key usado para iniciar el contenedor es válido sin generar una consulta de punto de conexión. Esta solicitud se puede usar con los sondeos de ejecución y preparación de Kubernetes.
http://localhost:5000/swagger El contenedor cuenta con un completo conjunto de documentación sobre los puntos de conexión y una característica de prueba. Esta característica le permite especificar la configuración en un formulario HTML basado en web y realizar la consulta sin necesidad de escribir código. Una vez que la consulta devuelve resultados, se proporciona un ejemplo del comando CURL para mostrar los encabezados HTTP y el formato de cuerpo requeridos.

Container's home page

Pasos siguientes