Udostępnij za pośrednictwem


Dokumentacja dotycząca konfigurowania klastra Kubernetes dla usługi Azure Machine Learning

Ten artykuł zawiera informacje referencyjne dotyczące konfigurowania platformy Kubernetes przy użyciu usługi Azure Machine Learning.

Obsługiwana wersja i region platformy Kubernetes

  • Klastry Kubernetes instalujące rozszerzenie usługi Azure Machine Learning mają okno obsługi wersji "N-2", które jest zgodne z zasadami obsługi wersji usługi Azure Kubernetes Service (AKS), gdzie "N" jest najnowszą wersją pomocniczą usługi Azure Kubernetes Service.

    • Jeśli na przykład usługa AKS wprowadza dzisiaj 1.20.a, wersje 1.20.a, 1.20.b, 1.19.c, 1.19.d, 1.18.e i 1.18.f są obsługiwane.

    • Jeśli klienci korzystają z nieobsługiwanej wersji rozwiązania Kubernetes, są proszeni o uaktualnienie podczas żądania pomocy technicznej dla klastra. Klastry z nieobsługiwaną wersją rozwiązania Kubernetes nie są objęte zasadami obsługi rozszerzeń usługi Azure Machine Learning.

  • Dostępność regionu rozszerzenia usługi Azure Machine Learning:

    • Rozszerzenie Azure Machine Learning można wdrożyć w usłudze AKS lub na platformie Kubernetes z obsługą usługi Azure Arc w obsługiwanych regionach wymienionych w regionie kubernetes z obsługą usługi Azure Arc.

Podczas wdrażania rozszerzenia usługi Azure Machine Learning niektóre powiązane usługi są wdrażane w klastrze Kubernetes na potrzeby usługi Azure Machine Learning. W poniższej tabeli wymieniono powiązane usługi i ich użycie zasobów w klastrze:

Wdrażanie/daemonset Replika # Szkolenia Wnioskowanie Żądanie procesora CPU (m) Limit procesora CPU (m) Żądanie pamięci (Mi) Limit pamięci (Mi)
metrics-controller-manager 1 10 100 20 300
prometheus-operator 1 100 400 128 512
Prometeusz 1 100 1000 512 4096
kube-state-metrics 1 10 100 32 256
brama 1 50 500 256 2048
fluent-bit 1 na węzeł 10 200 100 300
inference-operator-controller-manager 1 Nie dotyczy 100 1000 128 1024
amlarc-identity-controller 1 Nie dotyczy 200 1000 200 1024
amlarc-identity-proxy 1 Nie dotyczy 200 1000 200 1024
azureml-ingress-nginx-controller 1 Nie dotyczy 100 1000 64 512
azureml-fe-v2 1 (do celów testowych)
lub
3 (do celów produkcyjnych)
Nie dotyczy 900 2000 800 1200
wdrażanie w trybie online 1 na wdrożenie Utworzony przez użytkownika Nie dotyczy <definiowanie przez użytkownika> <definiowanie przez użytkownika> <definiowanie przez użytkownika> <definiowanie przez użytkownika>
online-deployment/identity-sidecar 1 na wdrożenie Nie dotyczy 10 50 100 100
aml-operator 1 Nie dotyczy 20 1020 124 2168
wstęp do wulkanu 1 Nie dotyczy 10 100 64 256
kontroler wulkanu 1 Nie dotyczy 50 500 128 512
wulkan-schedular 1 Nie dotyczy 50 500 128 512

Z wyłączeniem własnych wdrożeń/zasobników łączne minimalne wymagania dotyczące zasobów systemowych są następujące:

Scenariusz Włączone wnioskowanie Włączone szkolenie Żądanie procesora CPU (m) Limit procesora CPU (m) Żądanie pamięci (Mi) Limit pamięci (Mi) Liczba węzłów Zalecany minimalny rozmiar maszyny wirtualnej Odpowiadająca jednostka SKU maszyny wirtualnej usługi AKS
Do testowania Nie dotyczy 1780 8300 2440 12296 1 węzeł 2 procesory wirtualne, 7 GiB pamięci, 6400 operacji we/wy na sekundę, 1500 Mb/s BW DS2v2
Do testowania Nie dotyczy 410 4420 1492 10960 1 węzeł 2 procesory wirtualne, 7 GiB pamięci, 6400 operacji we/wy na sekundę, 1500 Mb/s BW DS2v2
Do testowania 1910 10420 2884 15744 1 węzeł 4 procesory wirtualne, 14 GiB pamięci, 12800 operacji we/wy na sekundę, 1500 Mb/s BW DS3v2
Dla środowiska produkcyjnego Nie dotyczy 3600 12700 4240 15296 3 węzły 4 procesory wirtualne, 14 GiB pamięci, 12800 operacji we/wy na sekundę, 1500 Mb/s BW DS3v2
Dla środowiska produkcyjnego Nie dotyczy 410 4420 1492 10960 1 węzły 8 procesorów wirtualnych, 28GiB Memroy, 25600 operacji we/wy, 6000 Mb/s BW DS4v2
Dla środowiska produkcyjnego 3730 14820 4684 18744 3 węzły 4 procesory wirtualne, 14 GiB pamięci, 12800 operacji we/wy na sekundę, 1500 Mb/s BW DS4v2

Uwaga

  • W celu testowania należy odwołać się do żądania zasobu.
  • W celu produkcji należy odwołać się do limitu zasobów.

Ważne

Poniżej przedstawiono kilka innych zagadnień dotyczących dokumentacji:

  • Aby uzyskać większą przepustowość sieci i lepszą wydajność operacji we/wy dysku, zalecamy użycie większej jednostki SKU.
    • Weź na przykład dv2/DSv2 , używając dużej jednostki SKU, można skrócić czas ściągania obrazu, aby uzyskać lepszą wydajność sieci/magazynu.
    • Więcej informacji na temat rezerwacji usługi AKS można znaleźć w rezerwacji usługi AKS.
  • Jeśli używasz klastra usługi AKS, może być konieczne rozważenie limitu rozmiaru obrazu kontenera w usłudze AKS. Więcej informacji można znaleźć w artykule Limit rozmiaru obrazu kontenera usługi AKS.

Wymagania wstępne dotyczące klastrów ARO lub OCP

Wyłączanie zwiększonych zabezpieczeń systemu Linux (SELinux)

Zestaw danych usługi Azure Machine Learning (funkcja zestawu SDK w wersji 1 używana w zadaniach szkoleniowych usługi Azure Machine Learning) nie jest obsługiwana na maszynach z włączonym programem SELinux. W związku z tym należy wyłączyć selinux dla wszystkich procesów roboczych, aby korzystać z zestawu danych usługi Azure Machine Learning.

Konfiguracja uprzywilejowana dla usług ARO i OCP

W przypadku wdrożenia rozszerzenia usługi Azure Machine Learning w klastrze ARO lub OCP przyznaj uprzywilejowany dostęp do kont usługi Azure Machine Learning, uruchom oc edit scc privileged polecenie i dodaj następujące konta usług w obszarze "users:":

  • system:serviceaccount:azure-arc:azure-arc-kube-aad-proxy-sa
  • system:serviceaccount:azureml:{EXTENSION-NAME}-kube-state-metrics
  • system:serviceaccount:azureml:prom-admission
  • system:serviceaccount:azureml:default
  • system:serviceaccount:azureml:prom-operator
  • system:serviceaccount:azureml:load-amlarc-selinux-policy-sa
  • system:serviceaccount:azureml:azureml-fe-v2
  • system:serviceaccount:azureml:prom-prometheus
  • system:serviceaccount:{KUBERNETES-COMPUTE-NAMESPACE}:default
  • system:serviceaccount:azureml:azureml-ingress-nginx
  • system:serviceaccount:azureml:azureml-ingress-nginx-admission

Uwaga

  • {EXTENSION-NAME}: to nazwa rozszerzenia określona za pomocą polecenia interfejsu az k8s-extension create --name wiersza polecenia.
  • {KUBERNETES-COMPUTE-NAMESPACE}: to przestrzeń nazw obliczeniowych platformy Kubernetes określona podczas dołączania obliczeń do obszaru roboczego usługi Azure Machine Learning. Pomiń konfigurowanie system:serviceaccount:{KUBERNETES-COMPUTE-NAMESPACE}:default , jeśli KUBERNETES-COMPUTE-NAMESPACE ma wartość default.

Zebrane szczegóły dziennika

Niektóre dzienniki dotyczące obciążeń usługi Azure Machine Learning w klastrze będą zbierane za pośrednictwem składników rozszerzeń, takich jak stan, metryki, cykl życia itp. Na poniższej liście przedstawiono wszystkie zebrane szczegóły dziennika, w tym typ zebranych dzienników i miejsce ich wysłania do lub przechowywania.

Zasobnik Opis zasobów Szczegółowe informacje rejestrowania
amlarc-identity-controller Zażądaj i odnów token usługi Azure Blob/Azure Container Registry za pomocą tożsamości zarządzanej. Używane tylko w przypadku enableInference=true ustawienia podczas instalowania rozszerzenia. Zawiera dzienniki śledzenia stanu uzyskiwania tożsamości dla punktów końcowych do uwierzytelniania za pomocą usługi Azure Machine Learning Service.
amlarc-identity-proxy Zażądaj i odnów token usługi Azure Blob/Azure Container Registry za pomocą tożsamości zarządzanej. Używane tylko w przypadku enableInference=true ustawienia podczas instalowania rozszerzenia. Zawiera on dzienniki śledzenia stanu uzyskiwania tożsamości dla klastra do uwierzytelniania za pomocą usługi Azure Machine Learning Service.
aml-operator Zarządzanie cyklem życia zadań szkoleniowych. Dzienniki zawierają stan zasobnika zadania trenowania usługi Azure Machine Learning w klastrze.
azureml-fe-v2 Składnik frontonu, który kieruje przychodzące żądania wnioskowania do wdrożonych usług. Dzienniki dostępu na poziomie żądania, w tym identyfikator żądania, czas rozpoczęcia, kod odpowiedzi, szczegóły błędu i czasy trwania dla opóźnienia żądania. Dzienniki śledzenia zmian metadanych usługi, stan dobrej kondycji usługi itp. na potrzeby debugowania.
brama Brama służy do komunikowania się i wysyłania danych tam i z powrotem. Śledzenie dzienników żądań z usług Azure Machine Learning do klastrów.
sprawdzanie kondycji -- Dzienniki zawierają azureml stan zasobu przestrzeni nazw (rozszerzenie usługi Azure Machine Learning), aby zdiagnozować, co sprawia, że rozszerzenie nie działa.
inference-operator-controller-manager Zarządzanie cyklem życia punktów końcowych wnioskowania. Dzienniki zawierają punkt końcowy wnioskowania usługi Azure Machine Learning i stan zasobnika wdrożenia w klastrze.
metrics-controller-manager Zarządzanie konfiguracją rozwiązania Prometheus. Śledzenie dzienników stanu przekazywania zadania trenowania i metryk wdrażania wnioskowania na temat wykorzystania procesora CPU i wykorzystania pamięci.
serwer przekaźnika Serwer przekaźnika jest wymagany tylko w klastrze połączonym z łukiem i nie zostanie zainstalowany w klastrze usługi AKS. Serwer relay współpracuje z usługą Azure Relay w celu komunikowania się z usługami w chmurze. Dzienniki zawierają informacje o poziomie żądania z usługi Azure Relay.

Zadania usługi Azure Machine Learning nawiązują połączenie z niestandardowym magazynem danych

Trwałe woluminy (PV) i trwałe oświadczenia woluminu (PVC) to koncepcja platformy Kubernetes, umożliwiając użytkownikowi udostępnianie i korzystanie z różnych zasobów magazynu.

  1. Utwórz pv, weź NFS na przykład
apiVersion: v1
kind: PersistentVolume
metadata:
  name: nfs-pv 
spec:
  capacity:
    storage: 1Gi 
  accessModes:
    - ReadWriteMany 
  persistentVolumeReclaimPolicy: Retain
  storageClassName: ""
  nfs: 
    path: /share/nfs
    server: 20.98.110.84 
    readOnly: false
  1. Utwórz plik PVC w tej samej przestrzeni nazw platformy Kubernetes z obciążeniami uczenia maszynowego. W metadataprogramie należy dodać etykietę ml.azure.com/pvc: "true" do rozpoznawania przez usługę Azure Machine Learning i dodać adnotacjęml.azure.com/mountpath: <mount path>, aby ustawić ścieżkę instalacji.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: nfs-pvc  
  namespace: default
  labels:
    ml.azure.com/pvc: "true"
  annotations:
    ml.azure.com/mountpath: "/mnt/nfs"
spec:
  storageClassName: ""
  accessModes:
  - ReadWriteMany      
  resources:
     requests:
       storage: 1Gi

Ważne

  • Tylko zadanie/składnik polecenia, zadanie/składnik funkcji hyperdrive i wdrożenie wsadowe obsługują niestandardowy magazyn danych z pvc(s). > * Punkt końcowy online w czasie rzeczywistym, zadanie rozwiązania AutoML i zadanie PRS nie obsługują niestandardowego magazynu danych z pvc(s).
  • Ponadto tylko zasobniki w tej samej przestrzeni nazw Platformy Kubernetes z woluminami PVC zostaną zainstalowane. Analityk danych może uzyskać dostęp do określonego mount path w adnotacji PVC w zadaniu. Zadanie automatycznego uczenia maszynowego i zadanie prs nie będą miały dostępu do elementów PVC.

Obsługiwane defekty i tolerancje usługi Azure Machine Learning

Taint i Toleration to pojęcia związane z platformą Kubernetes, które współpracują ze sobą, aby upewnić się, że zasobniki nie są zaplanowane na nieodpowiednie węzły.

Klastry Kubernetes zintegrowane z usługą Azure Machine Learning (w tym klastrami AKS i Arc Kubernetes) obsługują teraz określone defekty i tolerancje usługi Azure Machine Learning, umożliwiając użytkownikom dodawanie określonych defektów usługi Azure Machine Learning w dedykowanych węzłach usługi Azure Machine Learning, aby zapobiec zaplanowaniu obciążeń spoza usługi Azure Machine Learning na tych dedykowanych węzłach.

Obsługujemy tylko umieszczanie defektów specyficznych dla amlarc w węzłach, które są zdefiniowane w następujący sposób:

Barwy Key Wartość Efekt opis
ogólne amlarc ml.azure.com/amlarc prawda NoSchedulelub NoExecutePreferNoSchedule Wszystkie obciążenia usługi Azure Machine Learning, w tym zasobniki usługi systemu rozszerzeń i zasobniki obciążenia uczenia maszynowego, będą tolerować tę amlarc overall defekt.
system amlarc ml.azure.com/amlarc-system prawda NoSchedulelub NoExecutePreferNoSchedule Tylko zasobniki usług systemu rozszerzeń usługi Azure Machine Learning będą tolerować tę amlarc system defekt.
obciążenie amlarc ml.azure.com/amlarc-workload prawda NoSchedulelub NoExecutePreferNoSchedule Tylko zasobniki obciążeń uczenia maszynowego będą tolerować tę amlarc workload defekt.
grupa zasobów amlarc ml.azure.com/resource-group <nazwa grupy zasobów> NoSchedulelub NoExecutePreferNoSchedule Tylko zasobniki obciążeń uczenia maszynowego utworzone na podstawie określonej grupy zasobów będą tolerować tę amlarc resource group defekt.
obszar roboczy amlarc ml.azure.com/workspace <nazwa obszaru roboczego> NoSchedulelub NoExecutePreferNoSchedule Tylko zasobniki obciążeń uczenia maszynowego utworzone na podstawie określonego obszaru roboczego będą tolerować tę amlarc workspace defekt.
obliczenia amlarc ml.azure.com/compute <nazwa obliczeniowa> NoSchedulelub NoExecutePreferNoSchedule Tylko zasobniki obciążeń uczenia maszynowego utworzone przy użyciu określonego celu obliczeniowego będą tolerować tę amlarc compute defekt.

Napiwek

  1. W przypadku usługi Azure Kubernetes Service (AKS) możesz postępować zgodnie z przykładem w artykule Najlepsze rozwiązania dotyczące zaawansowanych funkcji harmonogramu w usłudze Azure Kubernetes Service (AKS), aby zastosować defekty do pul węzłów.
  2. W przypadku klastrów Usługi Arc Kubernetes, takich jak lokalne klastry Kubernetes, można użyć kubectl taint polecenia , aby dodać defekty do węzłów. Aby uzyskać więcej przykładów, zobacz dokumentację platformy Kubernetes.

Najlepsze rozwiązania

Zgodnie z wymaganiami dotyczącymi planowania dedykowanych węzłów usługi Azure Machine Learning można dodać wiele ograniczeń specyficznych dla amlarc, aby ograniczyć obciążenia usługi Azure Machine Learning, które mogą być uruchamiane w węzłach. Wymieniono najlepsze rozwiązania dotyczące używania defektów amlarc:

  • Aby zapobiec uruchamianiu obciążeń spoza usługi Azure Machine Learning w dedykowanych węzłach/pulach węzłów usługi Azure Machine Learning, wystarczy dodać aml overall te węzły do tych węzłów.
  • Aby zapobiec uruchamianiu zasobników niesystemowych w dedykowanych węzłach/pulach węzłów usługi Azure Machine Learning, należy dodać następujące właściwości:
    • amlarc overall Barwy
    • amlarc system Barwy
  • Aby zapobiec uruchamianiu obciążeń innych niż ml w dedykowanych węzłach/pulach węzłów usługi Azure Machine Learning, należy dodać następujące wartości:
    • amlarc overall Barwy
    • amlarc workloads Barwy
  • Aby zapobiec uruchamianiu obciążeń z obszaru roboczego X w dedykowanych węzłach/pulach węzłów usługi Azure Machine Learning, należy dodać następujące defekty:
    • amlarc overall Barwy
    • amlarc resource group (has this <workspace X>) Barwy
    • amlarc <workspace X> Barwy
  • Aby zapobiec uruchamianiu obciążeń przez docelowy obiekt obliczeniowy X w dedykowanych węzłach/pulach węzłów usługi Azure Machine Learning, należy dodać następujące wartości:
    • amlarc overall Barwy
    • amlarc resource group (has this <workspace X>) Barwy
    • amlarc workspace (has this <compute X>) Barwy
    • amlarc <compute X> Barwy

Integrowanie innego kontrolera ruchu przychodzącego z rozszerzeniem usługi Azure Machine Learning za pośrednictwem protokołu HTTP lub HTTPS

Oprócz domyślnego modułu równoważenia obciążenia azureml-fe usługi Azure Machine Learning można również zintegrować inne moduły równoważenia obciążenia z rozszerzeniem Azure Machine Learning za pośrednictwem protokołu HTTP lub HTTPS.

W tym samouczku pokazano, jak zintegrować kontroler ruchu przychodzącego Nginx lub bramę aplikacja systemu Azure.

Wymagania wstępne

  • Wdróż rozszerzenie usługi Azure Machine Learning za pomocą poleceń inferenceRouterServiceType=ClusterIP i allowInsecureConnections=True, aby kontroler ruchu przychodzącego Nginx mógł obsługiwać kończenie żądań TLS zamiast przekazywania go do usługi azureml-fe , gdy usługa jest uwidoczniona za pośrednictwem protokołu HTTPS.
  • Do integracji z kontrolerem ruchu przychodzącego Nginx potrzebna jest konfiguracja klastra Kubernetes z kontrolerem ruchu przychodzącego Nginx.
  • Do integracji z usługą aplikacja systemu Azure Gateway potrzebna jest konfiguracja klastra Kubernetes z kontrolerem ruchu przychodzącego bramy aplikacja systemu Azure.
    • Wdrożenie greenfield: jeśli zaczynasz od podstaw, zapoznaj się z tymi instrukcjami.
    • Wdrożenie rozwiązania Brownfield: jeśli masz istniejący klaster usługi AKS i usługę Application Gateway, zapoznaj się z tymi instrukcjami.
  • Jeśli chcesz używać protokołu HTTPS w tej aplikacji, potrzebujesz certyfikatu x509 i jego klucza prywatnego.

Uwidacznianie usług za pośrednictwem protokołu HTTP

Aby uwidocznić plik azureml-fe, użyjemy następującego zasobu ruchu przychodzącego:

# Nginx Ingress Controller example
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: azureml-fe
  namespace: azureml
spec:
  ingressClassName: nginx
  rules:
  - http:
      paths:
      - path: /
        backend:
          service:
            name: azureml-fe
            port:
              number: 80
        pathType: Prefix

Ten ruch przychodzący uwidacznia usługę azureml-fe i wybrane wdrożenie jako domyślne zaplecze kontrolera ruchu przychodzącego Nginx.

# Azure Application Gateway example
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: azureml-fe
  namespace: azureml
spec:
  ingressClassName: azure-application-gateway
  rules:
  - http:
      paths:
      - path: /
        backend:
          service:
            name: azureml-fe
            port:
              number: 80
        pathType: Prefix

Ten ruch przychodzący uwidacznia usługę azureml-fe i wybrane wdrożenie jako domyślne zaplecze usługi Application Gateway.

Zapisz powyższy zasób ruchu przychodzącego jako ing-azureml-fe.yaml.

  1. Wdróż ing-azureml-fe.yaml , uruchamiając polecenie:

    kubectl apply -f ing-azureml-fe.yaml
    
  2. Sprawdź dziennik kontrolera ruchu przychodzącego pod kątem stanu wdrożenia.

  3. azureml-fe Teraz aplikacja powinna być dostępna. Możesz to sprawdzić, odwiedzając:

    • Kontroler ruchu przychodzącego Nginx: publiczny adres modułu równoważenia obciążenia kontrolera ruchu przychodzącego Nginx
    • aplikacja systemu Azure Gateway: publiczny adres usługi Application Gateway.
  4. Utwórz zadanie wnioskowania i wywołaj.

    Uwaga

    Zastąp adres IP w scoring_uri publicznym adresem LoadBalancer kontrolera ruchu przychodzącego Nginx przed wywołaniem.

Uwidacznianie usług za pośrednictwem protokołu HTTPS

  1. Przed wdrożeniem ruchu przychodzącego należy utworzyć wpis tajny kubernetes do hostowania certyfikatu i klucza prywatnego. Wpis tajny kubernetes można utworzyć, uruchamiając polecenie

    kubectl create secret tls <ingress-secret-name> -n azureml --key <path-to-key> --cert <path-to-cert>
    
  2. Zdefiniuj następujący ruch przychodzący. W ruchu przychodzącym określ nazwę wpisu tajnego secretName w sekcji .

    # Nginx Ingress Controller example
    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: azureml-fe
      namespace: azureml
    spec:
      ingressClassName: nginx
      tls:
      - hosts:
        - <domain>
        secretName: <ingress-secret-name>
      rules:
      - host: <domain>
        http:
          paths:
          - path: /
            backend:
              service:
                name: azureml-fe
                port:
                  number: 80
            pathType: Prefix
    
    # Azure Application Gateway example
    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: azureml-fe
      namespace: azureml
    spec:
      ingressClassName: azure-application-gateway
      tls:
      - hosts:
        - <domain>
        secretName: <ingress-secret-name>
      rules:
      - host: <domain>
        http:
          paths:
          - path: /
            backend:
              service:
                name: azureml-fe
                port:
                  number: 80
            pathType: Prefix
    

    Uwaga

    Zastąp <domain> wartości i <ingress-secret-name> w powyższym zasobie ruchu przychodzącego domeną wskazującą moduł LoadBalancer kontrolera ruchu przychodzącego Nginx/application Gateway i nazwę wpisu tajnego. Zapisz powyższy zasób ruchu przychodzącego w nazwie ing-azureml-fe-tls.yamlpliku .

  3. Wdrażanie pliku ing-azureml-fe-tls.yaml przez uruchomienie polecenia

    kubectl apply -f ing-azureml-fe-tls.yaml
    
  4. Sprawdź dziennik kontrolera ruchu przychodzącego pod kątem stanu wdrożenia.

  5. azureml-fe Teraz aplikacja jest dostępna w protokole HTTPS. Możesz to sprawdzić, odwiedzając publiczny adres modułu LoadBalancer kontrolera ruchu przychodzącego Nginx.

  6. Utwórz zadanie wnioskowania i wywołaj.

    Uwaga

    Przed wywołaniem zastąp protokół i adres IP w scoring_uri ciągiem https i domeną wskazującą moduł LoadBalancer kontrolera ruchu przychodzącego Nginx lub bramę Application Gateway.

Wdrażanie rozszerzenia za pomocą szablonu usługi ARM

Rozszerzenie w klastrze zarządzanym można wdrożyć za pomocą szablonu usługi ARM. Przykładowy szablon można znaleźć w deployextension.json z plikiem demo parametrów deployextension.parameters.json

Aby użyć przykładowego szablonu wdrożenia, zmodyfikuj plik parametrów z poprawną wartością, a następnie uruchom następujące polecenie:

az deployment group create --name <ARM deployment name> --resource-group <resource group name> --template-file deployextension.json --parameters deployextension.parameters.json

Więcej informacji na temat korzystania z szablonu usługi ARM można znaleźć w dokumentacji szablonu usługi ARM

Informacje o wersji rozszerzenia AzuremML

Uwaga

Nowe funkcje są wydawane w dwutygowym kalendarzu.

Date Wersja Opis wersji
26 września 2024 r. 1.1.64 Naprawiono luki w zabezpieczeniach.
21 listopada 2023 r. 1.1.39 Naprawiono luki w zabezpieczeniach. Ulepszony komunikat o błędzie. Zwiększona stabilność interfejsu API relayserver.
1 listopada 2023 r. 1.1.37 Zaktualizuj wersję wysłaną płaszczyzny danych.
11 października 2023 r. 1.1.35 Napraw obraz podatny na zagrożenia. Poprawki.
25 sierpnia 2023 r. 1.1.34 Napraw obraz podatny na zagrożenia. Zwróć bardziej szczegółowy błąd tożsamości. Poprawki.
18 lipca 2023 roku 1.1.29 Dodaj nowe błędy operatora tożsamości. Poprawki.
4 czerwca 2023 r. 1.1.28 Ulepszanie automatycznego skalowania w celu obsługi wielu puli węzłów. Poprawki.
18 kwietnia 2023 r. 1.1.26 Poprawki błędów i poprawki luk w zabezpieczeniach.
27 marca 2023 r. 1.1.25 Dodaj ograniczenie zadania usługi Azure Machine Learning. Szybkie niepowodzenie zadania trenowania, gdy instalacja protokołu SSH nie powiodła się. Zmniejsz interwał złomowania Prometheus do 30s. Ulepszanie komunikatów o błędach na potrzeby wnioskowania. Napraw obraz podatny na zagrożenia.
7 marca 2023 r. 1.1.23 Zmień domyślny typ wystąpienia, aby używać pamięci 2Gi. Zaktualizuj konfiguracje metryk dla funkcji scoring-fe, które dodają 15s scrape_interval. Dodaj specyfikację zasobu dla przyczepki mdc. Napraw obraz podatny na zagrożenia. Poprawki.
14 lutego 2023 r. 1.1.21 Poprawki.
7 lutego 2023 r. 1.1.19 Popraw komunikat zwracany o błędzie dla wnioskowania. Zaktualizuj domyślny typ wystąpienia, aby użyć limitu pamięci 2Gi. Sprawdź kondycję klastra pod healthiness, resource quota, Kubernetes version and extension version (Sprawdzanie kondycji klastra pod kątem kondycji zasobników, przydziału zasobów, wersji platformy Kubernetes i wersji rozszerzenia). Poprawki błędów
27 grudnia 2022 r. 1.1.17 Przenieś element Fluent-bit z elementu DaemonSet do przyczepek. Dodaj obsługę rozwiązania MDC. Uściślij komunikaty o błędach. Obsługa zadań trybu klastra (windows, linux). Poprawki błędów
29 listopada 2022 r. 1.1.16 Dodaj walidację typu wystąpienia przez nowy identyfikator CRD. Tolerancja obsługi. Skróć nazwę SVC. Godzina rdzenia obciążenia. Wiele poprawek błędów i ulepszeń.
13 września 2022 r. 1.1.10 Poprawki.
29 sierpnia 2022 r. 1.1.9 Ulepszona logika sprawdzania kondycji. Poprawki.
23 czerwca 2022 r. 1.1.6 Poprawki.
15 czerwca 2022 r. 1.1.5 Zaktualizowano szkolenie w celu używania nowego wspólnego środowiska uruchomieniowego do uruchamiania zadań. Usunięto użycie usługi Azure Relay dla rozszerzenia usługi AKS. Usunięto użycie usługi Service Bus z rozszerzenia. Zaktualizowano użycie kontekstu zabezpieczeń. Zaktualizowano wnioskowanie azureml-fe do wersji 2. Zaktualizowano, aby używać wulkanu jako harmonogramu zadań szkoleniowych. Poprawki.
14 października 2021 r. 1.0.37 Obsługa instalacji woluminów PV/PVC w zadaniu trenowania AMLArc.
16 września 2021 r. 1.0.29 Dostępne są nowe regiony, WestUS, CentralUS, NorthCentralUS, KoreaCentral. Możliwość rozszerzania kolejki zadań. Zobacz szczegóły kolejki zadań w usłudze Azure Machine Learning Workspace Studio. Zasady automatycznego zabijania. Obsługa max_run_duration_seconds w skrycie ScriptRunConfig. System próbuje automatycznie anulować przebieg, jeśli trwał dłużej niż wartość ustawienia. Poprawa wydajności obsługi automatycznego skalowania klastra. Wdrażanie agenta usługi Arc i rozszerzenia uczenia maszynowego z lokalnego rejestru kontenerów.
24 sierpnia 2021 r. 1.0.28 Typ wystąpienia obliczeniowego jest obsługiwany w pliku YAML zadania. Przypisz tożsamość zarządzaną do zasobów obliczeniowych AMLArc.
10 sierpnia 2021 r. 1.0.20 Nowa obsługa dystrybucji kubernetes, K3S — lightweight Kubernetes. Wdróż rozszerzenie usługi Azure Machine Learning w klastrze usługi AKS bez nawiązywania połączenia za pośrednictwem usługi Azure Arc. Zautomatyzowane uczenie maszynowe (AutoML) za pomocą zestawu SDK języka Python. Użyj interfejsu wiersza polecenia 2.0, aby dołączyć klaster Kubernetes do obszaru roboczego usługi Azure Machine Learning. Zoptymalizuj wykorzystanie zasobów procesora CPU/pamięci w usłudze Azure Machine Learning.
2 lipca 2021 r. 1.0.13 Obsługa nowych dystrybucji Kubernetes, OpenShift Kubernetes i GKE (Google Kubernetes Engine). Obsługa automatycznego skalowania. Jeśli klaster Kubernetes zarządzany przez użytkownika umożliwia automatyczne skalowanie, klaster jest automatycznie skalowany w poziomie lub skalowany zgodnie z ilością aktywnych przebiegów i wdrożeń. Poprawa wydajności uruchamiania zadań, która skraca czas wykonywania zadania do dużej ilości.