Wdrażanie niewariancyjnego kontenera narzędzia do wykrywania anomalii w Azure Container Instances

Ważne

Od 20 września 2023 r. nie będzie można tworzyć nowych zasobów usługi Anomaly Detector. Usługa narzędzia do wykrywania anomalii jest wycofywana 1 października 2026 r. Zalecamy migrację do Microsoft Fabric, który integruje projekt open-source microsoft/anomaly-detector, lub bezpośrednio do projektu open-source narzędzia do wykrywania anomalii.

Dowiedz się, jak wdrożyć kontener Azure AI services Anomaly Detector w Azure Container Instances. Ta procedura przedstawia tworzenie zasobu usługi Anomaly Detector. Następnie omówimy ściąganie skojarzonego obrazu kontenera. Na koniec podkreślamy możliwość realizacji orkiestracji tych dwóch elementów z przeglądarki. Korzystanie z kontenerów może przenieść uwagę deweloperów z zarządzania infrastrukturą na rozwijanie aplikacji.

Wymagania wstępne

  • Użyj subskrypcji Azure. Jeśli nie masz subskrypcji Azure, przed rozpoczęciem utwórz konto free.
  • Zainstaluj Azure CLI (az).
  • Silnik Dockera i sprawdź, czy Docker CLI działa w oknie konsoli.

Tworzenie zasobu Narzędzie do wykrywania anomalii

  1. Zaloguj się do portalu Azure.

  2. Wybierz zasób Utwórz detektor anomalii.

  3. Wprowadź wszystkie wymagane ustawienia:

    Ustawienie Wartość
    Nazwisko Żądana nazwa (od 2 do 64 znaków)
    Subskrypcja Wybierz odpowiednią subskrypcję
    Lokalizacja Wybierz dowolną lokalizację w pobliżu i dostępną
    Poziom cenowy F0 - 10 wywołań na sekundę, 20 000 transakcji miesięcznie.
    Lub:
    S0 - 80 wywołań na sekundę
    Grupa zasobów Wybierz dostępną grupę zasobów
  4. Wybierz pozycję Utwórz i poczekaj na utworzenie zasobu. Po utworzeniu przejdź do strony zasobu

  5. Zbierz skonfigurowane endpoint i klucz API:

    Zakładka Klucze i punkt końcowy w portalu Ustawienie Wartość
    Omówienie Punkt końcowy Skopiuj punkt końcowy. Wygląda podobnie do https://<your-resource-name>.cognitiveservices.azure.com/
    Klucze Klucz interfejsu API Skopiuj 1 z dwóch kluczy. Jest to ciąg 32 znaków alfanumerycznych bez spacji ani kreski, xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.

Tworzenie zasobu usługi Azure Container Instance na podstawie Azure CLI

Przed uruchomieniem poleceń w tym artykule należy najpierw instalować Azure CLI.

Poniższy kod YAML definiuje zasób Azure Container Instance. Skopiuj i wklej zawartość do nowego pliku o nazwie my-aci.yaml, a następnie zastąp wartości w komentarzach swoimi własnymi. Aby uzyskać prawidłowy kod YAML, zapoznaj się z formatem template. Zapoznaj się z repozytoriami kontenerów i obrazami, aby poznać dostępne nazwy obrazów i ich odpowiednie repozytoria. Aby uzyskać więcej informacji na temat odniesienia YAML dotyczącego wystąpień kontenerów, zobacz YAML reference: 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

Uwaga

Nie we wszystkich lokalizacjach dostępność CPU i pamięci jest taka sama. Zapoznaj się z tabelą lokalizacji i zasobów , aby uzyskać listę dostępnych zasobów dla kontenerów na lokalizację i system operacyjny.

Będziemy polegać na pliku YAML, który stworzyliśmy do polecenia az container create. W Azure CLI wykonaj polecenie az container create zastępując <resource-group> własnym. Ponadto w przypadku zabezpieczania wartości we wdrożeniu YAML należy zapoznać się z bezpiecznymi wartościami.

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

Wynik polecenia jest Running... jeśli prawidłowy, po pewnym czasie wynik zmieni się na ciąg JSON reprezentujący nowo utworzony zasób ACI. Obraz kontenera najprawdopodobniej nie będzie dostępny przez jakiś czas, ale zasób został już wdrożony.

Napiwek

Zwróć szczególną uwagę na lokalizacje narzędzi Foundry Tools w publicznej wersji zapoznawczej, ponieważ kod YAML będzie musiał zostać odpowiednio dostosowany do lokalizacji.

Sprawdzanie, czy kontener jest uruchomiony

Istnieje kilka sposobów sprawdzania, czy kontener jest uruchomiony. Znajdź zewnętrzny adres IP i uwidoczniony port danego kontenera i otwórz ulubioną przeglądarkę internetową. Użyj różnych poniższych adresów URL żądań, aby zweryfikować, czy kontener działa. Przykładowe adresy URL żądań wymienione w tym miejscu to http://localhost:5000, ale określony kontener może się różnić. Upewnij się, że korzystasz z zewnętrznego adresu IP kontenera i uwidocznij port.

Adres URL żądania Przeznaczenie
http://localhost:5000/ Kontener zawiera stronę główną.
http://localhost:5000/ready Żądany przy użyciu polecenia GET ten adres URL zapewnia weryfikację, że kontener jest gotowy do akceptowania zapytania względem modelu. To żądanie może służyć do sond żywotności i gotowości Kubernetes.
http://localhost:5000/status Ten adres URL również przy użyciu GET sprawdza, czy klucz API używany do uruchomienia kontenera jest prawidłowy, bez wywoływania zapytania do punktu końcowego. To żądanie może służyć do sond żywotności i gotowości Kubernetes.
http://localhost:5000/swagger Kontener zawiera pełen zestaw dokumentacji dla punktów końcowych oraz funkcję Wypróbuj. Dzięki tej funkcji możesz wprowadzić ustawienia w formularzu HTML opartym na sieci Web i utworzyć zapytanie bez konieczności pisania kodu. Po powrocie zapytania zostanie udostępnione przykładowe polecenie CURL, aby zademonstrować wymagane nagłówki HTTP i format treści.

Strona główna kontenera

Następne kroki