Wykonywanie bezpiecznego wdrażania nowych wdrożeń na potrzeby wnioskowania w czasie rzeczywistym
DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure w wersji 2 (current)Zestaw PYTHON SDK azure-ai-ml v2 (bieżąca)
W tym artykule dowiesz się, jak wdrożyć nową wersję modelu uczenia maszynowego w środowisku produkcyjnym bez powodowania zakłóceń. W celu wprowadzenia nowej wersji usługi internetowej do produkcji użyjesz strategii wdrażania niebieskiego zielonego (znanej również jako strategia bezpiecznego wdrażania). Ta strategia umożliwi wdrożenie nowej wersji usługi internetowej w małym podzestawie użytkowników lub żądań przed całkowitym wdrożeniem tej wersji.
W tym artykule założono, że używasz punktów końcowych online, czyli punktów końcowych używanych do wnioskowania online (w czasie rzeczywistym). Istnieją dwa typy punktów końcowych online: zarządzane punkty końcowe online i punkty końcowe online platformy Kubernetes. Aby uzyskać więcej informacji na temat punktów końcowych i różnic między zarządzanymi punktami końcowymi online i punktami końcowymi online platformy Kubernetes, zobacz Co to są punkty końcowe usługi Azure Machine Learning?.
Główny przykład w tym artykule używa zarządzanych punktów końcowych online do wdrożenia. Aby zamiast tego użyć punktów końcowych platformy Kubernetes, zapoznaj się z uwagami w tym dokumencie, które są wbudowane z dyskusją na temat zarządzanego punktu końcowego online.
Z tego artykułu dowiesz się, jak wykonywać następujące elementy:
- Definiowanie punktu końcowego online przy użyciu wdrożenia o nazwie "niebieski" w celu obsługi wersji 1 modelu
- Skalowanie niebieskiego wdrożenia w celu obsługi większej liczby żądań
- Wdróż wersję 2 modelu (nazywane wdrożeniem zielonym) w punkcie końcowym, ale wyślij wdrożenie bez ruchu na żywo
- Testowanie zielonego wdrożenia w izolacji
- Dublowanie procentowego ruchu na żywo do zielonego wdrożenia w celu zweryfikowania go
- Wysyłanie małego procentu ruchu na żywo do zielonego wdrożenia
- Wysyłanie całego ruchu na żywo do zielonego wdrożenia
- Usuwanie nieużywanego teraz wdrożenia w wersji 1 niebieskiego
Wymagania wstępne
Przed wykonaniem kroków opisanych w tym artykule upewnij się, że masz następujące wymagania wstępne:
Interfejs wiersza polecenia platformy
ml
Azure i rozszerzenie interfejsu wiersza polecenia platformy Azure. Aby uzyskać więcej informacji, zobacz Instalowanie, konfigurowanie i używanie interfejsu wiersza polecenia (wersja 2).Ważne
W przykładach interfejsu wiersza polecenia w tym artykule założono, że używasz powłoki Bash (lub zgodnej). Na przykład z systemu Linux lub Podsystem Windows dla systemu Linux.
Obszar roboczy usługi Azure Machine Learning. Jeśli go nie masz, wykonaj kroki opisane w temacie Instalowanie, konfigurowanie i używanie interfejsu wiersza polecenia (wersja 2), aby go utworzyć.
Kontrola dostępu na podstawie ról platformy Azure (Azure RBAC): jest używana do udzielania dostępu do operacji w usłudze Azure Machine Learning. Aby wykonać kroki opisane w tym artykule, konto użytkownika musi mieć przypisaną rolę właściciela lub współautora dla obszaru roboczego usługi Azure Machine Learning lub rolę niestandardową zezwalającą na
Microsoft.MachineLearningServices/workspaces/onlineEndpoints/*
korzystanie z usługi . Aby uzyskać więcej informacji, zobacz Zarządzanie dostępem do obszaru roboczego usługi Azure Machine Learning.(Opcjonalnie) Aby wdrożyć lokalnie, należy zainstalować aparat platformy Docker na komputerze lokalnym. Zdecydowanie zalecamy tę opcję, więc łatwiej jest debugować problemy.
Przygotowywanie systemu
Ustawianie zmiennych środowiskowych
Jeśli nie ustawiono jeszcze ustawień domyślnych dla interfejsu wiersza polecenia platformy Azure, zapisz ustawienia domyślne. Aby uniknąć wielokrotnego przekazywania wartości dla subskrypcji, obszaru roboczego i grupy zasobów, uruchom następujący kod:
az account set --subscription <subscription id>
az configure --defaults workspace=<Azure Machine Learning workspace name> group=<resource group>
Klonowanie repozytorium przykładów
Aby skorzystać z tego artykułu, najpierw sklonuj repozytorium przykładów (azureml-examples). Następnie przejdź do katalogu repozytorium cli/
:
git clone --depth 1 https://github.com/Azure/azureml-examples
cd azureml-examples
cd cli
Napiwek
Użyj polecenia --depth 1
, aby sklonować tylko najnowsze zatwierdzenie do repozytorium. Skraca to czas na ukończenie operacji.
Polecenia w tym samouczku znajdują się w pliku deploy-safe-rollout-online-endpoints.sh
w cli
katalogu, a pliki konfiguracji YAML znajdują się w podkatalogu endpoints/online/managed/sample/
.
Uwaga
Pliki konfiguracji YAML dla punktów końcowych online platformy Kubernetes znajdują się w podkatalogu endpoints/online/kubernetes/
.
Definiowanie punktu końcowego i wdrożenia
Punkty końcowe online są używane do wnioskowania w trybie online (w czasie rzeczywistym). Punkty końcowe online zawierają wdrożenia, które są gotowe do odbierania danych od klientów i wysyłają odpowiedzi z powrotem w czasie rzeczywistym.
Definiowanie punktu końcowego
W poniższej tabeli wymieniono atrybuty klucza do określenia podczas definiowania punktu końcowego.
Atrybut | Opis |
---|---|
Nazwa/nazwisko | Wymagany. Nazwa punktu końcowego. Musi być unikatowa w regionie świadczenia usługi Azure. Aby uzyskać więcej informacji na temat reguł nazewnictwa, zobacz Limity punktów końcowych. |
Tryb uwierzytelniania | Metoda uwierzytelniania punktu końcowego. Wybierz uwierzytelnianie oparte na kluczach i uwierzytelnianie key aml_token oparte na tokenach usługi Azure Machine Learning. Klucz nie wygasa, ale token wygasa. Aby uzyskać więcej informacji na temat uwierzytelniania, zobacz Uwierzytelnianie w punkcie końcowym online. |
opis | Opis punktu końcowego. |
Tagi | Słownik tagów dla punktu końcowego. |
Ruch | Reguły dotyczące kierowania ruchu między wdrożeniami. Reprezentuje ruch jako słownik par klucz-wartość, gdzie klucz reprezentuje nazwę wdrożenia i wartość reprezentuje procent ruchu do tego wdrożenia. Ruch można ustawić tylko wtedy, gdy wdrożenia w punkcie końcowym zostały utworzone. Możesz również zaktualizować ruch dla punktu końcowego online po utworzeniu wdrożeń. Aby uzyskać więcej informacji na temat korzystania z dublowanego ruchu, zobacz Przydziel niewielki procent ruchu na żywo do nowego wdrożenia. |
Ruch dublowania | Procent ruchu na żywo do dublowania do wdrożenia. Aby uzyskać więcej informacji na temat korzystania z dublowanego ruchu, zobacz Testowanie wdrożenia za pomocą dublowanego ruchu. |
Aby wyświetlić pełną listę atrybutów, które można określić podczas tworzenia punktu końcowego, zobacz Interfejs wiersza polecenia (wersja 2) online schemat YAML lub zestaw SDK (wersja 2) ManagedOnlineEndpoint Class ( Klasa ManagedOnlineEndpoint).
Definiowanie wdrożenia
Wdrożenie to zestaw zasobów wymaganych do hostowania modelu, który wykonuje rzeczywiste wnioskowanie. W poniższej tabeli opisano kluczowe atrybuty, które należy określić podczas definiowania wdrożenia.
Atrybut | Opis |
---|---|
Nazwa/nazwisko | Wymagany. Nazwa wdrożenia. |
Nazwa punktu końcowego | Wymagany. Nazwa punktu końcowego do utworzenia wdrożenia w obszarze. |
Model | Model do użycia na potrzeby wdrożenia. Ta wartość może być odwołaniem do istniejącego modelu w wersji w obszarze roboczym lub specyfikacji wbudowanego modelu. W tym przykładzie mamy model scikit-learn, który wykonuje regresję. |
Ścieżka kodu | Ścieżka do katalogu w lokalnym środowisku projektowym zawierającym cały kod źródłowy języka Python do oceniania modelu. Można użyć katalogów i pakietów zagnieżdżonych. |
Skrypt oceniania | Kod języka Python, który wykonuje model na danym żądaniu wejściowym. Ta wartość może być ścieżką względną do pliku oceniania w katalogu kodu źródłowego. Skrypt oceniania odbiera dane przesłane do wdrożonej usługi internetowej i przekazuje je do modelu. Następnie skrypt wykonuje model i zwraca jego odpowiedź na klienta. Skrypt oceniania jest specyficzny dla modelu i musi zrozumieć dane oczekiwane przez model jako dane wejściowe i zwracane jako dane wyjściowe. W tym przykładzie mamy plik score.py . Ten kod w języku Python musi mieć init() funkcję i run() funkcję. Funkcja init() zostanie wywołana po utworzeniu lub zaktualizowaniu modelu (można jej użyć do buforowania modelu w pamięci, na przykład). Funkcja run() jest wywoływana przy każdym wywołaniu punktu końcowego w celu wykonania rzeczywistego oceniania i przewidywania. |
Środowisko | Wymagany. Środowisko do hostowania modelu i kodu. Ta wartość może być odwołaniem do istniejącego środowiska w wersji w obszarze roboczym lub specyfikacji środowiska wbudowanego. Środowisko może być obrazem platformy Docker z zależnościami Conda, plikiem Dockerfile lub zarejestrowanym środowiskiem. |
Typ wystąpienia | Wymagany. Rozmiar maszyny wirtualnej do użycia na potrzeby wdrożenia. Aby uzyskać listę obsługiwanych rozmiarów, zobacz Lista jednostek SKU zarządzanych punktów końcowych online. |
Liczba wystąpień | Wymagany. Liczba wystąpień do użycia na potrzeby wdrożenia. W oparciu o oczekiwaną wartość obciążenia. W przypadku wysokiej dostępności zalecamy ustawienie wartości na wartość co najmniej 3 . Firma Microsoft zastrzega sobie dodatkowe 20% na potrzeby przeprowadzania uaktualnień. Aby uzyskać więcej informacji, zobacz limity punktów końcowych online. |
Aby wyświetlić pełną listę atrybutów, które można określić podczas tworzenia wdrożenia, zobacz Interfejs wiersza polecenia (wersja 2) zarządzanego wdrożenia w trybie online schematu YAML lub zestawu SDK (wersja 2) ManagedOnlineDeployment Class ( Klasa managedOnlineDeployment).
Tworzenie punktu końcowego online
Najpierw ustaw nazwę punktu końcowego, a następnie skonfiguruj go. W tym artykule użyjesz pliku endpoints/online/managed/sample/endpoint.yml , aby skonfigurować punkt końcowy. Poniższy fragment kodu przedstawia zawartość pliku:
$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineEndpoint.schema.json
name: my-endpoint
auth_mode: key
Dokumentacja formatu YAML punktu końcowego została opisana w poniższej tabeli. Aby dowiedzieć się, jak określić te atrybuty, zobacz dokumentację YAML punktu końcowego online. Aby uzyskać informacje o limitach związanych z zarządzanymi punktami końcowymi online, zobacz limity dla punktów końcowych online.
Key | opis |
---|---|
$schema |
(Opcjonalnie) Schemat YAML. Aby wyświetlić wszystkie dostępne opcje w pliku YAML, możesz wyświetlić schemat w poprzednim fragmencie kodu w przeglądarce. |
name |
Nazwa punktu końcowego. |
auth_mode |
Służy key do uwierzytelniania opartego na kluczach. Służy aml_token do uwierzytelniania opartego na tokenach usługi Azure Machine Learning. Aby uzyskać najnowszy token, użyj az ml online-endpoint get-credentials polecenia . |
Aby utworzyć punkt końcowy online:
Ustaw nazwę punktu końcowego:
W przypadku systemu Unix uruchom to polecenie (zastąp
YOUR_ENDPOINT_NAME
element unikatową nazwą):export ENDPOINT_NAME="<YOUR_ENDPOINT_NAME>"
Ważne
Nazwy punktów końcowych muszą być unikatowe w regionie świadczenia usługi Azure. Na przykład w regionie świadczenia usługi Azure
westus2
może istnieć tylko jeden punkt końcowy o nazwiemy-endpoint
.Utwórz punkt końcowy w chmurze:
Uruchom następujący kod, aby użyć
endpoint.yml
pliku do skonfigurowania punktu końcowego:az ml online-endpoint create --name $ENDPOINT_NAME -f endpoints/online/managed/sample/endpoint.yml
Tworzenie wdrożenia "niebieskiego"
W tym artykule użyjesz pliku endpoints/online/managed/sample/blue-deployment.yml , aby skonfigurować kluczowe aspekty wdrożenia. Poniższy fragment kodu przedstawia zawartość pliku:
$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineDeployment.schema.json
name: blue
endpoint_name: my-endpoint
model:
path: ../../model-1/model/
code_configuration:
code: ../../model-1/onlinescoring/
scoring_script: score.py
environment:
conda_file: ../../model-1/environment/conda.yaml
image: mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04:latest
instance_type: Standard_DS3_v2
instance_count: 1
Aby utworzyć wdrożenie o nazwie blue
dla punktu końcowego, uruchom następujące polecenie, aby użyć pliku do skonfigurowania blue-deployment.yml
az ml online-deployment create --name blue --endpoint-name $ENDPOINT_NAME -f endpoints/online/managed/sample/blue-deployment.yml --all-traffic
Ważne
Flaga --all-traffic
w obiekcie az ml online-deployment create
przydziela 100% ruchu punktu końcowego do nowo utworzonego niebieskiego wdrożenia.
blue-deployment.yaml
W pliku określamy path
wbudowany element (gdzie mają być przekazywane pliki). Interfejs wiersza polecenia automatycznie przekazuje pliki i rejestruje model i środowisko. Najlepszym rozwiązaniem dla środowiska produkcyjnego jest zarejestrowanie modelu i środowiska oraz określenie zarejestrowanej nazwy i wersji oddzielnie w języku YAML. Użyj formularza model: azureml:my-model:1
lub environment: azureml:my-env:1
.
W celu rejestracji można wyodrębnić definicje YAML plików model
YAML i environment
do oddzielnych plików YAML oraz użyć poleceń az ml model create
i az ml environment create
. Aby dowiedzieć się więcej o tych poleceniach, uruchom az ml model create -h
polecenie i az ml environment create -h
.
Aby uzyskać więcej informacji na temat rejestrowania modelu jako zasobu, zobacz Rejestrowanie modelu jako zasobu w usłudze Machine Learning przy użyciu interfejsu wiersza polecenia. Aby uzyskać więcej informacji na temat tworzenia środowiska, zobacz Zarządzanie środowiskami usługi Azure Machine Learning przy użyciu interfejsu wiersza polecenia i zestawu SDK (wersja 2).
Potwierdzanie istniejącego wdrożenia
Jednym ze sposobów potwierdzenia istniejącego wdrożenia jest wywołanie punktu końcowego, aby mógł ocenić model dla danego żądania wejściowego. Podczas wywoływania punktu końcowego za pośrednictwem interfejsu wiersza polecenia lub zestawu SDK języka Python możesz określić nazwę wdrożenia, które będzie odbierać ruch przychodzący.
Uwaga
W przeciwieństwie do interfejsu wiersza polecenia lub zestawu SDK języka Python program Azure Machine Learning Studio wymaga określenia wdrożenia podczas wywoływania punktu końcowego.
Wywoływanie punktu końcowego z nazwą wdrożenia
Jeśli wywołasz punkt końcowy z nazwą wdrożenia, które będzie odbierać ruch, usługa Azure Machine Learning będzie kierować ruch punktu końcowego bezpośrednio do określonego wdrożenia i zwracać jego dane wyjściowe. Możesz użyć opcji interfejsu --deployment-name
wiersza polecenia w wersji 2 lub deployment_name
opcji zestawu SDK w wersji 2, aby określić wdrożenie.
Wywoływanie punktu końcowego bez określania wdrożenia
Jeśli wywołasz punkt końcowy bez określenia wdrożenia, które będzie odbierać ruch, usługa Azure Machine Learning będzie kierować ruch przychodzący punktu końcowego do wdrożeń w punkcie końcowym na podstawie ustawień kontroli ruchu.
Ustawienia kontroli ruchu przydzielają określone wartości procentowe ruchu przychodzącego do każdego wdrożenia w punkcie końcowym. Jeśli na przykład reguły ruchu określają, że określone wdrożenie w punkcie końcowym będzie odbierać ruch przychodzący 40% czasu, usługa Azure Machine Learning będzie kierować 40% ruchu punktu końcowego do tego wdrożenia.
Stan istniejącego punktu końcowego i wdrożenia można wyświetlić, uruchamiając polecenie:
az ml online-endpoint show --name $ENDPOINT_NAME
az ml online-deployment show --name blue --endpoint $ENDPOINT_NAME
Powinien zostać wyświetlony punkt końcowy zidentyfikowany przez $ENDPOINT_NAME
element i wdrożenie o nazwie blue
.
Testowanie punktu końcowego przy użyciu przykładowych danych
Punkt końcowy można wywołać za pomocą invoke
polecenia . Wyślemy przykładowe żądanie przy użyciu pliku json .
az ml online-endpoint invoke --name $ENDPOINT_NAME --request-file endpoints/online/model-1/sample-request.json
Skalowanie istniejącego wdrożenia w celu obsługi większej liczby ruchu
We wdrożeniu opisanym w artykule Wdrażanie i ocenianie modelu uczenia maszynowego przy użyciu punktu końcowego online należy ustawić instance_count
wartość na wartość 1
w pliku yaml wdrożenia. Skalowanie w poziomie można skalować w update
poziomie przy użyciu polecenia :
az ml online-deployment update --name blue --endpoint-name $ENDPOINT_NAME --set instance_count=2
Uwaga
Zwróć uwagę, że w powyższym poleceniu użyjemy --set
polecenia , aby zastąpić konfigurację wdrożenia. Alternatywnie możesz zaktualizować plik yaml i przekazać go jako dane wejściowe do update
polecenia przy użyciu danych wejściowych --file
.
Wdrażanie nowego modelu, ale wysyłanie go jeszcze nie ma ruchu
Utwórz nowe wdrożenie o nazwie green
:
az ml online-deployment create --name green --endpoint-name $ENDPOINT_NAME -f endpoints/online/managed/sample/green-deployment.yml
Ponieważ nie przydzieliliśmy jawnie żadnego ruchu do green
usługi , ma on przydzielony zerowy ruch. Możesz sprawdzić, czy używasz polecenia :
az ml online-endpoint show -n $ENDPOINT_NAME --query traffic
Testowanie nowego wdrożenia
Mimo że green
przydzielono 0% ruchu, można wywołać go bezpośrednio, określając --deployment
nazwę:
az ml online-endpoint invoke --name $ENDPOINT_NAME --deployment-name green --request-file endpoints/online/model-2/sample-request.json
Jeśli chcesz używać klienta REST do bezpośredniego wywoływania wdrożenia bez przechodzenia przez reguły ruchu, ustaw następujący nagłówek HTTP: azureml-model-deployment: <deployment-name>
. Poniższy fragment kodu używa metody curl
do bezpośredniego wywoływania wdrożenia. Fragment kodu powinien działać w środowiskach unix/WSL:
# get the scoring uri
SCORING_URI=$(az ml online-endpoint show -n $ENDPOINT_NAME -o tsv --query scoring_uri)
# use curl to invoke the endpoint
curl --request POST "$SCORING_URI" --header "Authorization: Bearer $ENDPOINT_KEY" --header 'Content-Type: application/json' --header "azureml-model-deployment: green" --data @endpoints/online/model-2/sample-request.json
Testowanie wdrożenia przy użyciu ruchu dublowanego
Po przetestowaniu green
wdrożenia można zdublować (lub skopiować) procent ruchu na żywo. Dublowanie ruchu (nazywane również cieniowaniem) nie zmienia wyników zwracanych do klientów — żądania nadal przepływają 100% do blue
wdrożenia. Zdublowany procent ruchu jest kopiowany i przesyłany do green
wdrożenia, dzięki czemu można zbierać metryki i rejestrowanie bez wpływu na klientów. Dublowanie jest przydatne, gdy chcesz zweryfikować nowe wdrożenie bez wpływu na klientów. Na przykład można użyć dublowania, aby sprawdzić, czy opóźnienie mieści się w dopuszczalnych granicach lub czy nie ma żadnych błędów HTTP. Testowanie nowego wdrożenia przy użyciu funkcji dublowania ruchu/cieniowania jest również nazywane testowaniem w tle. Wdrożenie odbierające ruch dublowany (w tym przypadku green
wdrożenie) może być również nazywane wdrożeniem w tle.
Dublowanie ma następujące ograniczenia:
- Dublowanie jest obsługiwane w przypadku interfejsu wiersza polecenia (wersja 2.4.0 lub nowsza) oraz zestawu SDK języka Python (wersja 2) (wersja 1.0.0 lub nowsza). Jeśli używasz starszej wersji interfejsu wiersza polecenia/zestawu SDK do aktualizowania punktu końcowego, utracisz ustawienie ruchu dublowanego.
- Dublowanie nie jest obecnie obsługiwane w przypadku punktów końcowych online platformy Kubernetes.
- Ruch można dublować tylko do jednego wdrożenia w punkcie końcowym.
- Maksymalny procent ruchu, który można dublować, wynosi 50%. Ten limit polega na zmniejszeniu wpływu na limit przydziału przepustowości punktu końcowego (domyślnie 5 MB/s) — przepustowość punktu końcowego jest ograniczana w przypadku przekroczenia przydzielonego limitu przydziału. Aby uzyskać informacje na temat monitorowania ograniczania przepustowości, zobacz Monitorowanie zarządzanych punktów końcowych online.
Zwróć również uwagę na następujące zachowania:
- Wdrożenie można skonfigurować tak, aby odbierało tylko ruch na żywo lub ruch dublowany, a nie oba.
- Podczas wywoływania punktu końcowego można określić nazwę dowolnego z jego wdrożeń — nawet wdrożenia w tle — aby zwrócić przewidywanie.
- Po wywołaniu punktu końcowego z nazwą wdrożenia, które będzie odbierać ruch przychodzący, usługa Azure Machine Learning nie będzie dublować ruchu do wdrożenia w tle. Usługa Azure Machine Learning dubluje ruch do wdrożenia w tle z ruchu wysyłanego do punktu końcowego, gdy nie określisz wdrożenia.
Teraz ustawmy zielone wdrożenie tak, aby odbierało 10% ruchu dublowanego. Klienci nadal będą otrzymywać przewidywania tylko z niebieskiego wdrożenia.
Następujące polecenie dubluje 10% ruchu do green
wdrożenia:
az ml online-endpoint update --name $ENDPOINT_NAME --mirror-traffic "green=10"
Ruch dublowany można przetestować, wywołując punkt końcowy kilka razy bez określania wdrożenia w celu odbierania ruchu przychodzącego:
for i in {1..20} ; do
az ml online-endpoint invoke --name $ENDPOINT_NAME --request-file endpoints/online/model-1/sample-request.json
done
Możesz potwierdzić, że określony procent ruchu został wysłany do green
wdrożenia, wyświetlając dzienniki z wdrożenia:
az ml online-deployment get-logs --name blue --endpoint $ENDPOINT_NAME
Po przetestowaniu można ustawić ruch dublowania na zero, aby wyłączyć dublowanie:
az ml online-endpoint update --name $ENDPOINT_NAME --mirror-traffic "green=0"
Przydzielanie niewielkiego procentu ruchu na żywo do nowego wdrożenia
Po przetestowaniu green
wdrożenia przydziel do niego niewielki procent ruchu:
az ml online-endpoint update --name $ENDPOINT_NAME --traffic "blue=90 green=10"
Napiwek
Łączna wartość procentowa ruchu musi wynosić 0% (aby wyłączyć ruch) lub 100% (aby włączyć ruch).
green
Teraz wdrożenie odbiera 10% całego ruchu na żywo. Klienci otrzymają przewidywania zarówno z wdrożeń, jak blue
i green
.
Wysyłanie całego ruchu do nowego wdrożenia
Po pełnym zadowoleniu green
z wdrożenia przełącz cały ruch do niego.
az ml online-endpoint update --name $ENDPOINT_NAME --traffic "blue=0 green=100"
Usuwanie starego wdrożenia
Wykonaj poniższe kroki, aby usunąć pojedyncze wdrożenie z zarządzanego punktu końcowego online. Usunięcie pojedynczego wdrożenia ma wpływ na inne wdrożenia w zarządzanym punkcie końcowym online:
az ml online-deployment delete --name blue --endpoint $ENDPOINT_NAME --yes --no-wait
Usuwanie punktu końcowego i wdrożenia
Jeśli nie zamierzasz używać punktu końcowego i wdrożenia, usuń je. Usunięcie punktu końcowego spowoduje również usunięcie wszystkich jego podstawowych wdrożeń.
az ml online-endpoint delete --name $ENDPOINT_NAME --yes --no-wait
Powiązana zawartość
- Eksplorowanie przykładów punktów końcowych online
- Wdrażanie modeli za pomocą interfejsu REST
- Używanie izolacji sieci z zarządzanymi punktami końcowymi online
- Uzyskiwanie dostępu do zasobów platformy Azure przy użyciu punktu końcowego online i tożsamości zarządzanej
- Monitorowanie zarządzanych punktów końcowych online
- Zwiększanie limitów przydziału zasobów i zarządzanie nimi przy użyciu usługi Azure Machine Learning
- Wyświetlanie kosztów zarządzanego punktu końcowego online usługi Azure Machine Learning
- Lista jednostek SKU zarządzanych punktów końcowych online
- Rozwiązywanie problemów z wdrażaniem i ocenianiem punktów końcowych online
- Dokumentacja YAML punktu końcowego online