Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
ŞUNLAR IÇIN GEÇERLIDIR:
Azure CLI ml uzantısı v2 (geçerli)
Python SDK azure-ai-ml v2 (geçerli)
Bu makalede, herhangi bir kesintiye neden olmadan üretimde makine öğrenmesi modelinin yeni bir sürümünü dağıtmayı öğreneceksiniz. Web hizmetinin yeni bir sürümünü üretime tanıtmak için güvenli dağıtım stratejisi olarak da bilinen mavi-yeşil dağıtım stratejisini kullanın. Bu stratejiyi kullandığınızda, web hizmetinin yeni sürümünü tamamen kullanıma sunmadan önce kullanıcıların veya isteklerin küçük bir alt kümesine dağıtmış olursunuz.
Bu makalede çevrimiçi uç noktaları veya çevrimiçi (gerçek zamanlı) çıkarım için kullanılan uç noktaları kullandığınız varsayılır. İki tür çevrimiçi uç nokta vardır: yönetilen çevrimiçi uç noktalar ve Kubernetes çevrimiçi uç noktaları. Uç noktalar ve uç nokta türleri arasındaki farklar hakkında daha fazla bilgi için bkz . Yönetilen çevrimiçi uç noktalar ve Kubernetes çevrimiçi uç noktaları.
Bu makalede dağıtım için yönetilen çevrimiçi uç noktalar kullanılır. Ancak, yönetilen çevrimiçi uç noktalar yerine Kubernetes uç noktalarının nasıl kullanılacağını açıklayan notlar da içerir.
Bu makalede şunları öğreneceksiniz:
- Bir modelin ilk sürümüne hizmet vermek için adlı
bluebir dağıtımla çevrimiçi uç nokta tanımlayın. -
blueDaha fazla isteği işleyebilmesi için dağıtımı ölçeklendirin. - Modelin
greenolarak adlandırılan ikinci sürümünü uç noktasına dağıtın, ancak canlı trafik göndermeden dağıtımı gerçekleştirin. - Dağıtımı izole ederek
greentest edin. - Canlı trafiğin bir yüzdesini doğrulamak için
greendağıtımına kopyalayın. - Gerçek zamanlı trafiğin küçük bir yüzdesini dağıtıma gönderin
green. - Tüm canlı trafiği dağıtıma
greengönderin. - Kullanılmayan
bluedağıtımı silin.
Önkoşullar
Azure CLI ve
mlAzure CLI uzantısı yüklenir ve yapılandırılır. Daha fazla bilgi için bkz. CLI'yi (v2) yükleme ve ayarlama.Bash kabuğu veya uyumlu bir kabuk, örneğin Linux sistemindeki bir kabuk veya Linux için Windows Alt Sistemi. Bu makaledeki Azure CLI örneklerinde bu tür bir kabuk kullandığınız varsayılır.
Azure Machine Learning çalışma alanı. Çalışma alanı oluşturma yönergeleri için bkz. Ayarlama.
Aşağıdaki Azure rol tabanlı erişim denetimi (Azure RBAC) rollerinden en az birine sahip bir kullanıcı hesabı:
- Azure Machine Learning çalışma alanına yönelik Sahip rolü
- Azure Machine Learning çalışma alanı için Katkıda Bulunan rolü
-
Microsoft.MachineLearningServices/workspaces/onlineEndpoints/*izinleri olan özel bir rol
Daha fazla bilgi için bkz . Azure Machine Learning çalışma alanlarına erişimi yönetme.
İsteğe bağlı olarak Docker Altyapısı yerel olarak yüklenir ve çalışır. Bu önkoşul kesinlikle önerilir. Modeli yerel olarak dağıtmak için buna ihtiyacınız vardır ve hata ayıklama için yararlıdır.
Sisteminizi hazırlama
Ortam değişkenlerini belirleme
Azure CLI ile kullanılacak varsayılan değerleri yapılandırabilirsiniz. Aboneliğiniz, çalışma alanınız ve kaynak grubunuz için değerlerin birden çok kez geçirilmesini önlemek için aşağıdaki kodu çalıştırın:
az account set --subscription <subscription-ID>
az configure --defaults workspace=<Azure-Machine-Learning-workspace-name> group=<resource-group-name>
Örnek deposunu kopyalama
Bu makaleyi takip etmek için önce örnek deposunu (azureml-examples) kopyalayın. Ardından deponun cli/ dizinine gidin:
git clone --depth 1 https://github.com/Azure/azureml-examples
cd azureml-examples
cd cli
İpucu
Yalnızca depoya en son işlemeyi kopyalamak için kullanın --depth 1 ; bu da işlemi tamamlamak için gereken süreyi azaltır.
Bu öğreticideki komutlar deploy-safe-rollout-online-endpoints.sh dizinindeki cli dosyasındadır. YAML yapılandırma dosyaları alt dizindedir endpoints/online/managed/sample/ .
Not
Kubernetes çevrimiçi uç noktaları için YAML yapılandırma dosyaları alt dizindedir endpoints/online/kubernetes/ .
Uç noktayı ve dağıtımı tanımlama
Çevrimiçi (gerçek zamanlı) çıkarım için çevrimiçi uç noktaları kullanın. Çevrimiçi uç noktalar, istemcilerden veri almaya ve yanıtları gerçek zamanlı olarak geri göndermeye hazır dağıtımlar içerir.
Uç nokta tanımlama
Aşağıdaki tabloda, bir uç nokta tanımladığınızda belirtilmesi gereken temel öznitelikler listelemektedir.
| Öznitelik | Gerekli veya isteğe bağlı | Tanım |
|---|---|---|
| Ad | Gerekli | Uç noktanın adı. Azure bölgesinde benzersiz olmalıdır. Adlandırma kuralları hakkında daha fazla bilgi için bkz. Azure Machine Learning çevrimiçi uç noktaları ve toplu iş uç noktaları. |
| Kimlik doğrulaması modu | Opsiyonel | Uç nokta için kimlik doğrulama yöntemi. Anahtar tabanlı kimlik doğrulaması, , keyAzure Machine Learning belirteç tabanlı kimlik doğrulaması aml_tokenve Microsoft Entra belirteç tabanlı kimlik doğrulaması aad_tokenarasında seçim yapın. Anahtarın süresi dolmaz, ancak belirtecin süresi dolmaz. Kimlik doğrulaması hakkında daha fazla bilgi için bkz. Çevrimiçi uç noktalar için istemcilerin kimliğini doğrulama. |
| Tanım | Opsiyonel | Uç noktanın açıklaması. |
| Etiketler | Opsiyonel | Uç nokta için etiket sözlüğü. |
| Trafik | Opsiyonel | Dağıtımlar arasında trafiği yönlendirme kuralları. Trafiği anahtar-değer çiftlerinin sözlüğü olarak temsil eder; burada anahtar dağıtım adını, değer de bu dağıtıma gelen trafiğin yüzdesini temsil eder. Trafiği yalnızca bir uç nokta altında dağıtımları oluşturduktan sonra ayarlayabilirsiniz. Dağıtımlar oluşturulduktan sonra çevrimiçi uç nokta trafiğini de güncelleştirebilirsiniz. Yansıtılmış trafiği kullanma hakkında daha fazla bilgi için bkz. Yeni dağıtıma canlı trafiğin küçük bir yüzdesini ayırma. |
| Yansıtma trafiği | Opsiyonel | Bir dağıtıma yansıtılan canlı trafiğin yüzdesi. Daha fazla bilgi için yansıtılmış trafiği kullanma konusuna bakın: Yansıtılmış trafikle dağıtımı test etme. |
Uç nokta oluştururken belirtebileceğiniz özniteliklerin tam listesini görmek için bkz. CLI (v2) çevrimiçi uç nokta YAML şeması. Python için Azure Machine Learning SDK'sının 2. sürümü için bkz. ManagedOnlineEndpoint Sınıfı.
Bir dağıtımı tanımla
Dağıtım, modeli barındıran ve gerçek çıkarım yapan bir kaynak kümesidir. Aşağıdaki tabloda, bir dağıtım tanımladığınızda belirtilmesi gereken temel öznitelikler açıklanmaktadır.
| Öznitelik | Gerekli veya isteğe bağlı | Tanım |
|---|---|---|
| Ad | Gerekli | Dağıtımın adı. |
| Uç nokta adı | Gerekli | Dağıtımın oluşturulacağı uç noktanın adı. |
| Örnek | Opsiyonel | Dağıtım için kullanılacak model. Bu değer, çalışma alanında var olan sürümleme yapılmış bir modelin referansı veya satır içi model tanımı olabilir. Bu makalenin örneklerinde bir scikit-learn model regresyon yapar. |
| Kod yolu | Opsiyonel | Modeli puanlama için tüm Python kaynak kodunu içeren yerel geliştirme ortamındaki klasörün yolu. İç içe dizinleri ve paketleri kullanabilirsiniz. |
| Puanlama betiği | Opsiyonel | Belirli bir giriş isteğinde modeli yürüten Python kodu. Bu değer, kaynak kod klasöründeki puanlama dosyasının göreli yolu olabilir. Puanlama betiği dağıtılan bir web hizmetine gönderilen verileri alır ve modele geçirir. Betik, modeli çalıştırdıktan sonra yanıtını istemciye gönderir. Puanlama betiği modelinize özgüdür ve modelin giriş olarak beklediği ve çıkış olarak döndürdüğü verileri anlaması gerekir. Bu makaledeki örneklerde score.py dosyası kullanılabilecek. Bu Python kodunun bir init işlevi ve bir run işlevi olmalıdır.
init İşlev, model oluşturulduktan veya güncelleştirildikten sonra çağrılır. Örneğin, modeli bellekte önbelleğe almak için kullanabilirsiniz. İşlev run , gerçek puanlama ve tahmin gerçekleştirmek için uç noktanın her çağrısında çağrılır. |
| Ortam | Gerekli | Modeli ve kodu barındıracak ortam. Bu değer, çalışma alanında mevcut bir sürümlü ortama referans veya yerinde ortam belirtimi olabilir. Ortam, Conda bağımlılıklarına sahip bir Docker görüntüsü, dockerfile veya kayıtlı bir ortam olabilir. |
| Örnek türü | Gerekli | Dağıtım için kullanılacak sanal makine boyutu. Desteklenen boyutların listesi için bkz. Yönetilen çevrimiçi uç noktalar SKU listesi. |
| Örnek sayısı | Gerekli | Dağıtım için kullanılacak örnek sayısı. Değeri beklediğiniz iş yüküne dayandırın. Yüksek kullanılabilirlik için en az üç örnek kullanın. Azure Machine Learning, yükseltmeleri gerçekleştirmek için fazladan yüzde 20 ayırır. Daha fazla bilgi için bkz. Azure Machine Learning çevrimiçi uç noktaları ve toplu iş uç noktaları. |
Dağıtım oluştururken belirtebileceğiniz özniteliklerin tam listesini görmek için bkz. CLI (v2) yönetilen çevrimiçi dağıtım YAML şeması. Python SDK'sının 2. sürümü için bkz. ManagedOnlineDeployment Sınıfı.
Çevrimiçi uç nokta oluşturma
İlk olarak uç nokta adını ayarlayın. Ardından uç noktayı yapılandırın. Bu makalede, uç noktayı yapılandırmak için endpoints/online/managed/sample/endpoint.yml dosyasını kullanırsınız. Bu dosya aşağıdaki satırları içerir:
$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineEndpoint.schema.json
name: my-endpoint
auth_mode: key
Aşağıdaki tabloda YAML uç noktası biçiminin kullandığı anahtarlar açıklanmaktadır. Bu özniteliklerin nasıl belirtileceğini görmek için bkz. CLI (v2) çevrimiçi uç nokta YAML şeması. Yönetilen çevrimiçi uç noktalarla ilgili sınırlar hakkında bilgi için bkz. Azure Machine Learning çevrimiçi uç noktaları ve toplu iş uç noktaları.
| Anahtar | Tanım |
|---|---|
$schema |
(İsteğe bağlı) YAML şeması. YAML dosyasındaki tüm kullanılabilir seçenekleri görmek için, şemayı bir tarayıcıdaki önceki kod bloğunda görüntüleyebilirsiniz. |
name |
Uç noktanın adı. |
auth_mode |
Kimlik doğrulama modu. Anahtar tabanlı kimlik doğrulaması için kullanın key . Azure Machine Learning belirteç tabanlı kimlik doğrulaması için kullanın aml_token . Microsoft Entra belirteç tabanlı kimlik doğrulaması için aad_token kullanın. En son belirteci almak için az ml online-endpoint get-credentials komutunu kullanın. |
Çevrimiçi uç nokta oluşturmak için:
Aşağıdaki Unix komutunu çalıştırarak uç nokta adınızı ayarlayın.
YOUR_ENDPOINT_NAMEyerine benzersiz bir ad yazın.export ENDPOINT_NAME="<YOUR_ENDPOINT_NAME>"Önemli
Uç nokta adları bir Azure bölgesinde benzersiz olmalıdır. Örneğin, Azure
westus2bölgesinde adıylamy-endpointyalnızca bir uç nokta olabilir.Aşağıdaki kodu çalıştırarak uç noktayı bulutta oluşturun. Uç noktayı yapılandırmak için bu kod
endpoint.ymldosyasını kullanır.az ml online-endpoint create --name $ENDPOINT_NAME -f endpoints/online/managed/sample/endpoint.yml
Mavi dağıtımı oluştur
endpoints/online/managed/sample/blue-deployment.yml dosyasını, blue adlı dağıtımın önemli yönlerini konfigüre etmek için kullanabilirsiniz. Bu dosya aşağıdaki satırları içerir:
$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-ubuntu22.04:latest
instance_type: Standard_DS3_v2
instance_count: 1
Uç noktanız için blue dağıtımını oluşturmak üzere blue-deployment.yml dosyasını kullanın ve aşağıdaki komutu çalıştırın.
az ml online-deployment create --name blue --endpoint-name $ENDPOINT_NAME -f endpoints/online/managed/sample/blue-deployment.yml --all-traffic
Önemli
Komuttaki --all-traffic bayrağı, az ml online-deployment create uç nokta trafiğinin yüzde 100'ünü yeni oluşturulan blue dağıtıma ayırır.
blue-deployment.yaml Dosyasında, path satır dosyaların karşıya yüklendiği yeri belirtir. Azure Machine Learning CLI dosyaları karşıya yüklemek ve modeli ve ortamı kaydetmek için bu bilgileri kullanır. Üretim için en iyi yöntem olarak modeli ve ortamı kaydedin ve YAML kodunda kayıtlı adı ve sürümü ayrı olarak belirtin. Modelin biçimini model: azureml:<model-name>:<model-version> kullanın, örneğin, model: azureml:my-model:1. Çevre için biçimi environment: azureml:<environment-name>:<environment-version> kullanın, örneğin environment: azureml:my-env:1.
Kayıt için, model ve environment YAML tanımlarını ayrı YAML dosyalarına ayıklayabilir ve az ml model create ve az ml environment create komutlarını kullanabilirsiniz. Bu komutlar hakkında daha fazla bilgi edinmek için az ml model create -h ve az ml environment create -h komutlarını çalıştırın.
Modelinizi varlık olarak kaydetme hakkında daha fazla bilgi için bkz. Azure CLI veya Python SDK'sını kullanarak model kaydetme. Ortam oluşturma hakkında daha fazla bilgi için bkz. Özel ortam oluşturma.
Mevcut dağıtımınızı onaylayın
Mevcut dağıtımınızı doğrulamanın bir yolu, belirli bir giriş isteği için modelinizi puanlandırmak üzere uç noktanızı çağırmaktır. Uç noktanızı Azure CLI veya Python SDK'sı aracılığıyla çağırdığınızda, gelen trafiği alacak dağıtımın adını belirtmeyi seçebilirsiniz.
Not
Azure CLI veya Python SDK'sının aksine, Azure Machine Learning Stüdyosu bir uç noktayı çağırdığınızda bir dağıtım belirtmenizi gerektirir.
Dağıtım adıyla uç noktayı çağırma
Uç noktayı çağırdığınızda, trafik almak istediğiniz dağıtımın adını belirtebilirsiniz. Bu durumda Azure Machine Learning uç nokta trafiğini doğrudan belirtilen dağıtıma yönlendirir ve çıkışını döndürür.
--deployment-name veya deployment_name seçeneğini kullanabilirsiniz.
Dağıtım belirtmeden uç noktayı çağırma
Trafik almak istediğiniz dağıtımı belirtmeden uç noktayı çağırırsanız Azure Machine Learning, trafik denetimi ayarlarına göre uç noktanın gelen trafiğini uç noktadaki dağıtımlara yönlendirir.
Trafik denetimi ayarları, uç noktadaki her dağıtıma belirtilen gelen trafik yüzdelerini ayırır. Örneğin, trafik kurallarınız uç noktanızdaki belirli bir dağıtımın 40% gelen trafiği alması gerektiğini belirtiyorsa Azure Machine Learning uç nokta trafiğinin 40% bu dağıtıma yönlendirir.
Mevcut uç noktanızın ve dağıtımınızın durumunu görüntülemek için aşağıdaki komutları çalıştırın:
az ml online-endpoint show --name $ENDPOINT_NAME
az ml online-deployment show --name blue --endpoint $ENDPOINT_NAME
Çıkışta uç nokta ve $ENDPOINT_NAME dağıtım hakkındaki blue bilgiler listelenir.
Örnek verileri kullanarak uç noktayı test edin
komutunu kullanarak invoke uç noktayı çağırabilirsiniz. Aşağıdaki komut, örnek bir istek göndermek için sample-request.json JSON dosyasını kullanır:
az ml online-endpoint invoke --name $ENDPOINT_NAME --request-file endpoints/online/model-1/sample-request.json
Daha fazla trafiği işlemek için mevcut dağıtımınızı ölçeklendirme
Çevrimiçi uç nokta kullanarak makine öğrenmesi modelini dağıtma ve puanlandırma bölümünde açıklanan dağıtımda, dağıtım YAML dosyasında instance_count değerini 1 olarak ayarlarsınız.
update komutunu kullanarak ölçeklendirin:
az ml online-deployment update --name blue --endpoint-name $ENDPOINT_NAME --set instance_count=2
Not
Önceki komutta --set seçeneği dağıtım yapılandırmasını geçersiz kılar. Alternatif olarak, YAML dosyasını güncelleştirebilir ve update seçeneğini kullanarak --file komutuna giriş olarak geçirebilirsiniz.
Yeni bir model dağıtın ancak trafik göndermeyin
adlı greenyeni bir dağıtım oluşturun:
az ml online-deployment create --name green --endpoint-name $ENDPOINT_NAME -f endpoints/online/managed/sample/green-deployment.yml
Dağıtıma açıkça herhangi bir trafik ayırmadığınız için, green dağıtımına ayrılan trafik sıfırdır. Aşağıdaki komutu kullanarak bu gerçeği doğrulayabilirsiniz:
az ml online-endpoint show -n $ENDPOINT_NAME --query traffic
Yeni dağıtımı test edin
Dağıtımda trafiğin green yüzde 0'ı ayrılmış olsa da, şu seçeneği kullanarak --deployment doğrudan çağırabilirsiniz:
az ml online-endpoint invoke --name $ENDPOINT_NAME --deployment-name green --request-file endpoints/online/model-2/sample-request.json
Trafik kurallarından geçmeden dağıtımı doğrudan çağırmak için bir REST istemcisi kullanmak istiyorsanız, aşağıdaki HTTP üst bilgisini ayarlayın: azureml-model-deployment: <deployment-name>. Aşağıdaki kod, dağıtımı doğrudan çağırmak için URL için İstemci (cURL) kullanır. Kodu Linux için Unix veya Windows Alt Sistemi (WSL) ortamında çalıştırabilirsiniz. Değeri alma $ENDPOINT_KEY yönergeleri için bkz. Veri düzlemi anahtarı veya belirteci alma.
# 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
Yansıtılmış trafikle dağıtımı test etme
Dağıtımınızı green test ettikten sonra, bu trafik yüzdesini kopyalayıp dağıtıma göndererek canlı trafiğin bir yüzdesini uç noktanıza green.
Gölgelendirme olarak da adlandırılan trafik yansıtma, istemcilere döndürülen sonuçları değiştirmez. Tüm istekler blue dağıtımına hala akıyor. Trafiğin aynalanmış yüzdesi kopyalanır ve ayrıca istemcilerinizi etkilemeden ölçümleri ve günlükleri toplamak için green dağıtıma gönderilir.
Yansıtma, istemcileri etkilemeden yeni bir dağıtımı doğrulamak istediğinizde kullanışlıdır. Örneğin, gecikme süresinin kabul edilebilir sınırlar içinde olup olmadığını denetlemek veya HTTP hatası olup olmadığını denetlemek için yansıtmayı kullanabilirsiniz. Yeni bir dağıtımı test etmek için trafik yansıtma veya gölgeleme kullanımı gölge testi olarak da bilinir. Yansıtılmış trafiği alan dağıtım (bu durumda green dağıtımı) aynı zamanda gölge dağıtım olarak da adlandırılabilir.
Yansıtma aşağıdaki sınırlamalara sahiptir:
- Yansıtma, Azure Machine Learning CLI'nın 2.4.0 ve sonraki sürümleri ile Python SDK'sının 1.0.0 ve sonraki sürümleri için desteklenir. Uç noktayı güncelleştirmek için Azure Machine Learning CLI veya Python SDK'sının eski bir sürümünü kullanıyorsanız yansıtma trafiği ayarını kaybedersiniz.
- Kubernetes çevrimiçi uç noktaları için yansıtma şu anda desteklenmemektedir.
- Trafiği bir uç noktadaki tek bir dağıtıma yansıtabilirsiniz.
- Yansıtabileceğiniz maksimum trafik yüzdesi yüzde 50'dir. Bu üst sınır, varsayılan değeri 5 MB/sn olan uç nokta bant genişliği kotanızdaki etkiyi sınırlar. Ayrılmış kotayı aşarsanız uç nokta bant genişliğiniz kısıtlanır. Bant genişliği azaltmayı izleme hakkında bilgi için bkz . Bant genişliği azaltma.
Ayrıca aşağıdaki davranışa da dikkat edin:
- Bir dağıtımı, her ikisini birden değil yalnızca canlı veya yansıtılmış trafiği alacak şekilde yapılandırabilirsiniz.
- Bir uç noktayı çağırdığınızda, bir gölge dağıtım dahil herhangi bir dağıtımının adını belirterek tahmin döndürmesini sağlayabilirsiniz.
- Bir uç noktayı çağırıp gelen trafiği alacak dağıtımın adını belirttiğinizde, Azure Machine Learning trafiği gölge dağıtıma yansıtmaz. Azure Machine Learning, bir dağıtım belirtmediğinizde uç noktaya gönderilen trafikten gelen trafiği gölge dağıtıma yansıtır.
Dağıtımı yansıtılmış trafiğin yüzde 10'unu alacak şekilde ayarlarsanız, istemciler yine de sadece green dağıtımından tahminler almaya devam eder.
Trafiğin yüzde 10'unu yansıtmak ve dağıtıma göndermek için green aşağıdaki komutu kullanın:
az ml online-endpoint update --name $ENDPOINT_NAME --mirror-traffic "green=10"
Yansıtılmış trafiği test etmek için dağıtım belirtmeden uç noktayı birkaç kez çağırın. Uç nokta gelen trafiği yönlendirir:
for i in {1..20} ; do
az ml online-endpoint invoke --name $ENDPOINT_NAME --request-file endpoints/online/model-1/sample-request.json
done
Dağıtımdaki günlükleri denetleyerek trafiğin belirtilen yüzdesinin green dağıtıma gönderildiğini onaylayabilirsiniz.
az ml online-deployment get-logs --name green --endpoint $ENDPOINT_NAME
Test ettikten sonra yansıtmayı devre dışı bırakmak için yansıtma trafiğini sıfır olarak ayarlayın:
az ml online-endpoint update --name $ENDPOINT_NAME --mirror-traffic "green=0"
Yeni dağıtıma canlı trafiğin küçük bir yüzdesini ayırın
Dağıtımınızı green test ettikten sonra, buna trafiğin küçük bir yüzdesini ayırın:
az ml online-endpoint update --name $ENDPOINT_NAME --traffic "blue=90 green=10"
İpucu
Trafiği devre dışı bırakmak için toplam trafik yüzdesi yüzde 0 veya trafiği etkinleştirmek için yüzde 100 olmalıdır.
Dağıtımınız green artık tüm canlı trafiğin yüzde 10'unu alıyor. İstemciler hem blue hem de green dağıtımlarından tahminler alır.
Tüm trafiği yeni dağıtıma gönderme
green dağıtımınızdan tam olarak memnun olduğunuzda, tüm trafiği ona yönlendirin.
az ml online-endpoint update --name $ENDPOINT_NAME --traffic "blue=0 green=100"
Eski dağıtımı kaldırma
Yönetilen çevrimiçi uç noktadan tek bir dağıtımı silmek için aşağıdaki adımları kullanın. Tek bir dağıtımın silinmesi, yönetilen çevrimiçi uç noktadaki diğer dağıtımları etkilemez:
az ml online-deployment delete --name blue --endpoint $ENDPOINT_NAME --yes --no-wait
Uç noktayı ve dağıtımı silin
Uç noktayı ve dağıtımı kullanmayacaksanız bunları silin. Bir uç birimi sildiğinizde, ona bağlı tüm dağıtımları da silersiniz.
az ml online-endpoint delete --name $ENDPOINT_NAME --yes --no-wait