Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Pokud chcete cluster Kubernetes s podporou Azure Kubernetes Service (AKS) nebo Azure Arc povolit spouštění trénovacích úloh nebo úloh odvozování, nejprve nasaďte rozšíření Azure Machine Learning. Rozšíření Azure Machine Learning je standardní rozšíření clusteru pro AKS a rozšíření clusteru pro Kubernetes s podporou Azure Arc. Životní cyklus můžete spravovat pomocí Azure CLI k8s-extension.
V tomto článku se dozvíte o:
- Požadavky
- Omezení
- Kontrola nastavení konfigurace rozšíření Azure Machine Learningu
- Scénáře nasazení rozšíření Azure Machine Learning
- Ověření nasazení rozšíření Azure Machine Learning
- Kontrola komponent rozšíření Azure Machine Learning
- Správa rozšíření Azure Machine Learning
Požadavky
- Cluster AKS spuštěný v Azure. Pokud jste dříve nepoužídali rozšíření clusteru, musíte zaregistrovat poskytovatele služby KubernetesConfiguration.
- Nebo cluster Kubernetes s podporou Azure Arc, který je spuštěný. Postupujte podle pokynů v připojení existujícího clusteru Kubernetes ke službě Azure Arc.
- Pokud je clusterem služby Azure RedHat OpenShift (ARO) nebo clusterem OpenShift Container Platform (OCP), musíte splňovat další požadované kroky popsané v referenčních informacích ke konfiguraci článku o clusteru Kubernetes.
- Pro produkční účely musí mít cluster Kubernetes minimálně 4 jádra vCPU a 14 GB paměti. Další informace o podrobnostech o prostředcích a doporučeních velikosti clusteru najdete v tématu Doporučené plánování prostředků.
- Cluster běžící za výstupním proxy serverem nebo firewallem vyžaduje dodatečnou síťovou konfiguraci.
- Nainstalujte nebo upgradujte Azure CLI na verzi 2.51.0 nebo vyšší.
- Nainstalujte nebo upgradujte rozšíření
k8s-extensionAzure CLI na verzi 1.2.3 nebo vyšší.
Omezení
- Azure Machine Learning nepodporujepoužití instančního objektu služby s AKS. Cluster AKS musí místo toho používat spravovanou identitu .
Podporuje se spravovaná identita přiřazená systémem i spravovaná identita přiřazená uživatelem. Další informace najdete v tématu Použití spravované identity ve službě Azure Kubernetes Service.
- Při převodu clusteru AKS z používání instančního objektu služby na spravovanou identitu musíte před instalací rozšíření odstranit a znovu vytvořit všechny fondy uzlů. Pooly uzlů nelze přímo aktualizovat.
- Azure Machine Learning nepodporujezakázání místních účtů pro AKS. Když nasadíte cluster AKS, místní účty se ve výchozím nastavení povolí.
- Pokud má váš cluster AKS povolený Autorizovaný rozsah IP adres pro přístup k serveru rozhraní API, musíte pro cluster AKS povolit rozsahy IP Azure Machine Learning řídicí roviny. Řídicí rovina služby Azure Machine Learning se nasazuje ve spárovaných oblastech. Bez přístupu k API serveru nelze nasadit pody strojového učení. Při povolování rozsahů IP adres v clusteru AKS použijte rozsahy IP adres pro obě spárované oblasti.
- Azure Machine Learning nepodporuje připojení clusteru AKS napříč předplatnými. Pokud máte cluster AKS v jiném předplatném, musíte ho nejprve připojit ke službě Azure Arc a zajistit, že je ve stejném předplatném jako pracovní prostor Azure Machine Learning.
- Azure Machine Learning nezaručuje podporu všech funkcí fáze Preview v AKS. Například identita Microsoft Entra spravovaná pomocí podu (zastaralá) není podporována. Místo toho použijte ID úloh Microsoft Entra.
- Pokud jste postupovali podle kroků v dokumentu Azure Machine Learning AKS verze 1 a vytvořili nebo připojili svůj AKS jako cluster pro odvození, použijte následující odkaz k vyčištění starších prostředků souvisejících s azureml-fe, než budete pokračovat k dalšímu kroku.
Kontrola nastavení konfigurace rozšíření Azure Machine Learningu
K nasazení rozšíření Azure Machine Learning použijte příkaz Azure CLI az k8s-extension create. Příkaz az k8s-extension create přijímá nastavení konfigurace ve formě mezerami oddělených dvojic key=value prostřednictvím parametru --config nebo --config-protected. Následující tabulka uvádí dostupná nastavení konfigurace, která můžete zadat během nasazení.
| Název klíče nastavení konfigurace | Popis | Školení | Odvozování | Školení a odvozování |
|---|---|---|---|---|
enableTraining |
True nebo False, výchozí False.
Musí být nastaveno na True pro nasazení rozšíření Azure Machine Learning s podporou trénování modelů Machine Learning a dávkového skórování. |
✓ | N/A | ✓ |
enableInference |
True nebo False, výchozí False.
Musí být nastaveno na True pro nasazení rozšíření Azure Machine Learning s podporou inferencí Machine Learning. |
N/A | ✓ | ✓ |
allowInsecureConnections |
True nebo False, výchozí False.
Pro účely vývoje nebo testování je možné nastavit použití True koncových bodů HTTP pro odvozování. |
N/A | Volitelné | Volitelné |
inferenceRouterServiceType |
loadBalancer, nodePortnebo clusterIP.
Vyžaduje se , pokud enableInference=True. |
N/A | ✓ | ✓ |
internalLoadBalancerProvider |
Tato konfigurace se dá použít jenom pro cluster Azure Kubernetes Service (AKS). Nastavte na azure, aby směrovač inferencí mohl používat interní nástroj pro vyrovnávání zátěže. |
N/A | Volitelné | Volitelné |
sslSecret |
Název tajného kódu Kubernetes v azureml oboru názvů. Tato konfigurace se používá k ukládání cert.pem (certifikát TLS/SSL s kódováním PEM) a key.pem (klíč TLS/SSL s kódováním PEM), které jsou vyžadovány pro podporu odvozování koncového bodu HTTPS, pokud allowInsecureConnections je nastavená hodnota False. Ukázkovou definici sslSecretYAML naleznete v tématu Konfigurace sslSecret. Použijte tuto konfiguraci nebo kombinaci nastavení chráněné konfigurace sslCertPemFile a sslKeyPemFile. |
N/A | Volitelné | Volitelné |
sslCname |
Koncový bod HTTPS pro inferenci používá TLS/SSL CNAME.
Požadováno v případě, že allowInsecureConnections=False |
N/A | Volitelné | Volitelné |
inferenceRouterHA |
True nebo False, výchozí True. Ve výchozím nastavení nasadí rozšíření Azure Machine Learning tři repliky odvozovacího směrovače pro zajištění vysoké dostupnosti, které vyžadují alespoň tři pracovní uzly v clusteru. Nastavte na False, pokud má váš cluster méně než tři pracovní uzly; v takovém případě je nasazena pouze jedna služba směrovače inferencí. |
N/A | Volitelné | Volitelné |
nodeSelector |
Ve výchozím nastavení se nasazené prostředky Kubernetes a úlohy strojového učení náhodně nasazují do jednoho nebo více uzlů clusteru a prostředky daemonSet se nasazují do všech uzlů. Pokud chcete omezit nasazení rozšíření a úlohy trénování/odvozování na konkrétní uzly se štítkem key1=value1 a key2=value2, použijte odpovídajícím způsobem nodeSelector.key1=value1 a nodeSelector.key2=value2. |
Volitelné | Volitelné | Volitelné |
installNvidiaDevicePlugin |
True nebo False, výchozí False.
NVIDIA Device Plugin je vyžadován pro úlohy strojového učení na grafickém hardwaru NVIDIA GPU. Ve výchozím nastavení nasazení rozšíření Azure Machine Learning nenainstaluje modul plug-in NVIDIA Device Plugin bez ohledu na to, zda cluster Kubernetes obsahuje hardware GPU. Uživatel může toto nastavení nastavit na True, aby jej nainstaloval, ale ujistěte se, že jsou splněny Předpoklady. |
Volitelné | Volitelné | Volitelné |
installPromOp |
True nebo False, výchozí True. Rozšíření Azure Machine Learning potřebuje operátora prometheus pro správu prometheus. Nastavte na False, aby se znovu použil existující Prometheus Operator. Další informace o opětovném nasazení existujícího operátoru prometheus najdete v tématu opětovného nasazení operátoru prometheus. |
Volitelné | Volitelné | Volitelné |
installVolcano |
True nebo False, výchozí True. Rozšíření Azure Machine Learning potřebuje plánovač sopek k naplánování úlohy. Nastavte na False, aby se znovu použil stávající plánovač Volcano Scheduler. Další informace o opětovném nasazení existujícího plánovače sopek naleznete v tématu opětovného nasazení plánovače sopek. |
Volitelné | N/A | Volitelné |
installDcgmExporter |
True nebo False, výchozí False. Exportér Dcgm může zveřejnit metriky GPU pro úlohy Azure Machine Learning, které je možné monitorovat na webu Azure Portal. Nastavte installDcgmExporter na True pro instalaci nástroje dcgm-exporter. Pokud ale chcete využít vlastního vývozce dcgm, podívejte se na vývozce DCGM. |
Volitelné | Volitelné | Volitelné |
| Název klíče chráněného nastavením konfigurace | Popis | Školení | Odvozování | Školení a odvozování |
|---|---|---|---|---|
sslCertPemFile, sslKeyPemFile |
Cesta k certifikátu TLS/SSL a souboru klíče (zakódovaný pomocí PEM) vyžadovaného pro nasazení rozšíření Azure Machine Learning s podporou odvozování koncového bodu HTTPS, pokud allowInsecureConnections je nastavená na False.
Poznámka: Soubor PEM s chráněným heslem není podporovaný. |
N/A | Volitelné | Volitelné |
Jak vidíte v tabulce nastavení konfigurace, kombinace různých nastavení konfigurace umožňují nasadit rozšíření Azure Machine Learning pro různé scénáře úloh ML:
- Pro trénovací úlohu a dávkové odvozování úlohy zadejte
enableTraining=True - Pouze pro odvozování úlohy zadejte
enableInference=True - Pro všechny druhy úloh ML zadejte obojí
enableTraining=TrueaenableInference=True
Pokud plánujete nasadit rozšíření Azure Machine Learning pro úlohu odvozování v reálném čase a chcete určit enableInference=True, věnujte pozornost následujícím nastavením konfigurace souvisejícím s úlohou odvozování v reálném čase:
-
azureml-feSlužba routeru je vyžadována pro podporu inference v reálném čase a je nutné zadat konfigurační nastaveníinferenceRouterServiceTypeproazureml-fe.azureml-felze nasadit jedním z následujícíchinferenceRouterServiceTypezpůsobů:- Zadejte
loadBalancer.azureml-feZveřejňuje externě pomocí nástroje pro vyrovnávání zatížení poskytovatele cloudu. Pokud chcete tuto hodnotu zadat, ujistěte se, že váš cluster podporuje zřizování nástroje pro vyrovnávání zatížení. Všimněte si, že většina místních clusterů Kubernetes nemusí podporovat externí nástroj pro vyrovnávání zatížení. - Zadejte
nodePort.azureml-feZveřejňuje IP adresu každého uzlu na statickém portu.azureml-femůžete kontaktovat zvenčí clusteru vyžádáním<NodeIP>:<NodePort>. PoužitínodePorttaké umožňuje nastavit vlastní řešení vyrovnávání zatížení a ukončení protokolu TLS/SSL proazureml-fe. Další informace o tom, jak nastavit vlastní příchozí přenos dat, najdete v tématu Integrovat další kontroler příchozího přenosu dat s rozšířením Azure Machine Learning přes protokol HTTP nebo HTTPS. - Zadejte
clusterIP.azureml-feZveřejňuje interní IP adresu clusteru a umožňujeazureml-fepřístup pouze z clusteru. Abyazureml-febylo možné poskytovat žádosti o odvozování přicházející mimo cluster, musíte nastavit vlastní řešení vyrovnávání zatížení a ukončení protokolu TLS/SSL proazureml-fe. Další informace o tom, jak nastavit vlastní příchozí přenos dat, najdete v tématu Integrovat další kontroler příchozího přenosu dat s rozšířením Azure Machine Learning přes protokol HTTP nebo HTTPS.
- Zadejte
- Aby byla zajištěna vysoká dostupnost směrovací služby
azureml-fe, nasazení rozšíření Azure Machine Learning ve výchozím nastavení vytvoří tři replikyazureml-feu clusterů se třemi nebo více uzly. Pokud má váš cluster méně než 3 uzly, nastavteinferenceRouterHA=False. - Chcete také zvážit použití protokolu HTTPS k omezení přístupu ke koncovým bodům modelu a zabezpečení dat, která klienti odesílali. Pro tento účel je třeba zadat buď konfigurační nastavení
sslSecret, nebo kombinaci nastavení chráněných konfiguracísslKeyPemFileasslCertPemFile. - Ve výchozím nastavení nasazení rozšíření Azure Machine Learning očekává nastavení konfigurace pro podporu protokolu HTTPS . Pro účely vývoje nebo testování je podpora PROTOKOLU HTTP pohodlně poskytována prostřednictvím nastavení
allowInsecureConnections=Truekonfigurace .
Nasazení rozšíření Azure Machine Learningu – Příklady rozhraní příkazového řádku a Azure Portal
K nasazení rozšíření Azure Machine Learning pomocí rozhraní příkazového řádku použijte příkaz az k8s-extension create a zadejte hodnoty pro povinné parametry.
Následující seznam popisuje čtyři typické scénáře nasazení rozšíření. Pokud chcete nasadit rozšíření pro produkční využití, pečlivě si přečtěte úplný seznam nastavení konfigurace.
Použít cluster AKS ve Azure pro rychlé testování konceptu, aby bylo možné spouštět nejrůznější úlohy ML, například spouštět trénovací úlohy nebo nasazovat modely jako online nebo dávkové koncové body
Pro nasazení rozšíření Azure Machine Learning v clusteru AKS zadejte hodnotu
managedClusterspro parametr--cluster-type. Spuštěním následujícího příkazu Azure CLI nasaďte rozšíření Azure Machine Learning:az k8s-extension create --name <extension-name> --extension-type Microsoft.AzureML.Kubernetes --config enableTraining=True enableInference=True inferenceRouterServiceType=loadBalancer allowInsecureConnections=True inferenceRouterHA=False --cluster-type managedClusters --cluster-name <your-AKS-cluster-name> --resource-group <your-RG-name> --scope clusterPoužití clusteru Kubernetes s podporou Azure Arc mimo Azure k rychlému testování konceptu ke spouštění trénovacích úloh
Pro nasazení rozšíření Azure Machine Learning v clusteru Kubernetes s podporou Azure Arc zadejte hodnotu
connectedClustersparametru--cluster-type. Spuštěním následujícího příkazu Azure CLI nasaďte rozšíření Azure Machine Learning:az k8s-extension create --name <extension-name> --extension-type Microsoft.AzureML.Kubernetes --config enableTraining=True --cluster-type connectedClusters --cluster-name <your-connected-cluster-name> --resource-group <your-RG-name> --scope clusterEnable cluster AKS v Azure pro úlohy trénování a odvozování v produkčním prostředí Pro nasazení rozšíření Azure Machine Learning v AKS zadejte hodnotu
managedClusterspro parametr--cluster-type. Za předpokladu, že má váš cluster více než tři uzly, a pro podporu úloh odvozování použijete veřejný nástroj pro vyrovnávání zatížení Azure a PROTOKOL HTTPS. Spuštěním následujícího příkazu Azure CLI nasaďte rozšíření Azure Machine Learning:az k8s-extension create --name <extension-name> --extension-type Microsoft.AzureML.Kubernetes --config enableTraining=True enableInference=True inferenceRouterServiceType=loadBalancer sslCname=<ssl cname> --config-protected sslCertPemFile=<file-path-to-cert-PEM> sslKeyPemFile=<file-path-to-cert-KEY> --cluster-type managedClusters --cluster-name <your-AKS-cluster-name> --resource-group <your-RG-name> --scope clusterPovolení clusteru Kubernetes s podporou Azure Arc kdekoli pro úlohy trénování a odvozování v produkčním prostředí pomocí grafických procesorů NVIDIA
Pro nasazení rozšíření Azure Machine Learning v clusteru Kubernetes s podporou Azure Arc zadejte hodnotu
connectedClustersparametru--cluster-type. Za předpokladu, že váš cluster má více než tři uzly, použijete pro podporu úloh odvození typ služby NodePort a HTTPS, spuštěním následujícího příkazu Azure CLI nasaďte rozšíření Azure Machine Learning:az k8s-extension create --name <extension-name> --extension-type Microsoft.AzureML.Kubernetes --config enableTraining=True enableInference=True inferenceRouterServiceType=nodePort sslCname=<ssl cname> installNvidiaDevicePlugin=True installDcgmExporter=True --config-protected sslCertPemFile=<file-path-to-cert-PEM> sslKeyPemFile=<file-path-to-cert-KEY> --cluster-type connectedClusters --cluster-name <your-connected-cluster-name> --resource-group <your-RG-name> --scope cluster
Ověření nasazení rozšíření Azure Machine Learning
Spuštěním příslušného příkazu rozhraní příkazového řádku zkontrolujte podrobnosti o rozšíření služby Azure Machine Learning:
AKS
az k8s-extension show --name <extension-name> --cluster-type managedClusters --cluster-name <your-AKS-cluster-name> --resource-group <resource-group>Kubernetes s podporou Azure Arc
az k8s-extension show --name <extension-name> --cluster-type connectedClusters --cluster-name <your-connected-cluster-name> --resource-group <resource-group>V odpovědi vyhledejte
"name"a"provisioningState": "Succeeded". Může se během prvních několika minut zobrazovat"provisioningState": "Pending".Pokud `provisioningState` zobrazuje hodnotu Succeeded, spusťte na svém počítači následující příkaz se souborem kubeconfig ukazujícím na váš cluster a zkontrolujte, že všechny pody v oboru názvů
azuremljsou ve stavuRunning:kubectl get pods -n azureml
Kontrola komponent rozšíření Azure Machine Learning.
Po dokončení nasazení rozšíření Azure Machine Learning pomocí příkazu kubectl get deployments -n azureml zobrazte seznam prostředků vytvořených v clusteru. Seznam se obvykle skládá z podmnožina následujících prostředků v závislosti na zadaných nastaveních konfigurace.
| Název prostředku | Typ prostředku | Školení | Odvozování | Školení a odvozování | Popis | Komunikace s cloudem |
|---|---|---|---|---|---|---|
| relayserver | Nasazení Kubernetes | ✓ | ✓ | ✓ | Nasazení vytvoří server relay pouze pro clustery Kubernetes s podporou Azure Arc, a ne pro clustery AKS. Relay server spolupracuje se službou Azure Relay ke komunikaci s cloudovými službami. | Přijmout žádost o vytvoření úlohy, nasazení modelu z cloudové služby; synchronizujte stav úlohy s cloudovou službou. |
| brána | Nasazení Kubernetes | ✓ | ✓ | ✓ | Brána se používá ke komunikaci a k obousměrnému přenosu dat. | Odesílání informací o uzlech a prostředcích clusteru do cloudových služeb |
| aml-operator | Nasazení Kubernetes | ✓ | N/A | ✓ | Správa životního cyklu trénovacích úloh | Výměna tokenů se službou cloudových tokenů pro ověřování a autorizaci služby Azure Container Registry |
| metrics-controller-manager | Nasazení Kubernetes | ✓ | ✓ | ✓ | Správa konfigurace pro Prometheus | N/A |
| {EXTENSION-NAME}-kube-state-metrics | Nasazení Kubernetes | ✓ | ✓ | ✓ | Exportujte metriky související s clusterem do prometheus. | N/A |
| {EXTENSION-NAME}-prometheus-operator | Nasazení Kubernetes | Volitelné | Volitelné | Volitelné | Poskytuje nativní nasazení a správu Promethea a souvisejících monitorovacích komponent v Kubernetes. | N/A |
| amlarc-identity-controller | Nasazení Kubernetes | N/A | ✓ | ✓ | Vyžádání a obnovení tokenu Azure Blob nebo Azure Container Registry prostřednictvím spravované identity | Výměna tokenů se službou cloudových tokenů pro ověřování a autorizaci služby Azure Container Registry a objektu blob Azure používaného při odvozování nebo nasazení modelu |
| amlarc-identity-proxy | Nasazení Kubernetes | N/A | ✓ | ✓ | Vyžádání a obnovení tokenu Azure Blob nebo Azure Container Registry prostřednictvím spravované identity | Výměna tokenů se službou cloudových tokenů pro ověřování a autorizaci služby Azure Container Registry a objektu blob Azure používaného při odvozování nebo nasazení modelu |
| azureml-fe-v2 | Nasazení Kubernetes | N/A | ✓ | ✓ | Front-endová komponenta, která směruje příchozí požadavky na inferenci k nasazeným službám. | Odešle protokoly služby do azure Blob. |
| inference-operator-controller-manager | Nasazení Kubernetes | N/A | ✓ | ✓ | Správa životního cyklu koncových bodů odvozování | N/A |
| vstup na sopku | Nasazení Kubernetes | Volitelné | N/A | Volitelné | Webhook pro vstup do sopek. | N/A |
| řadiče Volcano | Nasazení Kubernetes | Volitelné | N/A | Volitelné | Spravujte životní cyklus podů trénovacích úloh služby Azure Machine Learning. | N/A |
| Plánovač Volcano | Nasazení Kubernetes | Volitelné | N/A | Volitelné | Slouží k plánování úloh v clusteru. | N/A |
| fluent-bit | Kubernetes DaemonSet | ✓ | ✓ | ✓ | Shromážděte systémový protokol komponent. | Nahrajte systémový protokol komponent do cloudu. |
| {EXTENSION-NAME}-dcgm-exporter | Kubernetes DaemonSet | Volitelné | Volitelné | Volitelné | Dcgm-exportér zveřejňuje metriky GPU pro Prometheus. | N/A |
| nvidia-device-plugin-daemonset | Kubernetes DaemonSet | Volitelné | Volitelné | Volitelné | nvidia-device-plugin-daemonset zveřejňuje gpu na každém uzlu clusteru. | N/A |
| prometheus-prom-prometheus | Stavová sada Kubernetes | ✓ | ✓ | ✓ | Shromážděte a odesílejte metriky úloh do cloudu. | Odesílání metrik úloh, jako je využití procesoru, gpu nebo paměti do cloudu |
Důležité
- Prostředek Azure Relay je ve stejné skupině prostředků jako prostředek clusteru Arc. Používá se ke komunikaci s clusterem Kubernetes. Jeho změna naruší připojené výpočetní cíle.
- Ve výchozím nastavení jsou prostředky typu Deployment náhodně rozmístěny na jeden nebo více uzlů clusteru a prostředky typu DaemonSet jsou nasazeny na všechny uzly. Pokud chcete omezit nasazení rozšíření na konkrétní uzly, použijte
nodeSelectornastavení konfigurace popsané v tabulce nastavení konfigurace.
Poznámka:
-
{EXTENSION-NAME}: je název rozšíření, který zadáte pomocí příkazu rozhraní příkazového řádku
az k8s-extension create --name.
Správa rozšíření Azure Machine Learning
Aktualizace, výpis, zobrazení a odstranění rozšíření Azure Machine Learning
- Informace o clusterech AKS bez připojení Azure Arc najdete v tématu Deploy a správa rozšíření clusteru.
- Informace o Kubernetes s podporou Azure Arc najdete v článku Nasazení a správa rozšíření clusterů Kubernetes s podporou Azure Arc.