Azure Machine Learning-bővítmény üzembe helyezése AKS vagy Arc Kubernetes-fürtön

Ahhoz, hogy az AKS- vagy Arc Kubernetes-fürt betanítási feladatokat vagy következtetési számítási feladatokat futtasson, először üzembe kell helyeznie az Azure Machine Tanulás bővítményt egy AKS- vagy Arc Kubernetes-fürtön. Az Azure Machine Tanulás bővítmény az AKS és a fürtbővítmény vagy az Arc Kubernetes fürtbővítményére épül, életciklusa pedig egyszerűen kezelhető az Azure CLI k8s-bővítményével.

Ebben a cikkben a következőt ismerheti meg:

  • Előfeltételek
  • Korlátozások
  • Azure Machine Learning-bővítmény konfigurációs beállításainak áttekintése
  • Azure Machine Learning-bővítmény üzembe helyezési forgatókönyvei
  • Azure Machine Learning-bővítmény üzembehelyezési hitelesítése
  • Azure Machine Learning-bővítmény összetevőinek áttekintése
  • Azure Machine Learning-bővítmény kezelése

Előfeltételek

  • Egy Azure-ban futó AKS-fürt. Ha korábban nem használt fürtbővítményeket, regisztrálnia kell a KubernetesConfiguration szolgáltatót.
  • Vagy egy Arc Kubernetes-fürt működik. Kövesse a meglévő Kubernetes-fürt Azure Archoz való csatlakoztatására vonatkozó utasításokat.
  • Éles környezetben a Kubernetes-fürtnek legalább 4 vCPU maggal és 14 GB memóriával kell rendelkeznie. Az erőforrás részleteiről és a fürtméretre vonatkozó javaslatokról további információt az Ajánlott erőforrás-tervezés című témakörben talál.
  • A kimenő proxykiszolgáló vagy tűzfal mögött futó fürtnek további hálózati konfigurációkra van szüksége.
  • Telepítse vagy frissítse az Azure CLI-t a 2.24.0-s vagy újabb verzióra.
  • Telepítse vagy frissítse az Azure CLI-bővítményt k8s-extension az 1.2.3-s vagy újabb verzióra.

Korlátozások

Azure Machine Learning-bővítmény konfigurációs beállításainak áttekintése

Az Azure Machine Tanulás CLI-paranccsal k8s-extension create üzembe helyezheti az Azure Machine Tanulás bővítményt. A parancssori k8s-extension create felület lehetővé teszi a konfigurációs beállítások key=value egy készletének megadását a formátum vagy a paraméter használatával --config--config-protected . Az alábbi lista tartalmazza az Azure Machine Tanulás bővítmény üzembe helyezése során megadható konfigurációs beállításokat.

Konfigurációs beállítás kulcsának neve Leírás Tanfolyam Következtetés Betanítás és következtetés
enableTraining True vagy Falseaz alapértelmezett False. Az Azure Machine Tanulás bővítmény üzembe helyezéséhez gépi Tanulás modell betanításával és kötegelt pontozási támogatással kell beállítaniTrue. n/a
enableInference True vagy Falseaz alapértelmezett False. Az Azure Machine Tanulás bővítmény üzembe helyezéséhez gépi Tanulás következtetési támogatással kell beállítaniTrue. n/a
allowInsecureConnections True vagy Falseaz alapértelmezett False. Konfigurálható arra, hogy True következtetési HTTP-végpontokat használjon fejlesztési vagy tesztelési célokra. n/a Lehetséges Lehetséges
inferenceRouterServiceType loadBalancerclusterIPvagy nodePort . Kötelező , ha enableInference=True. n/a
internalLoadBalancerProvider Ez a konfiguráció jelenleg csak az Azure Kubernetes Service(AKS) fürtre vonatkozik. Úgy van beállítva, azure hogy engedélyezze a következtetési útválasztót a belső terheléselosztóval. n/a Lehetséges Lehetséges
sslSecret A Kubernetes-titkos kód neve a azureml névtérben. Ez a konfiguráció a (PEM-kódolású TLS/SSL-tanúsítvány) és key.pem a (PEM-kódolású TLS/SSL-kulcs) tárolására cert.pem szolgál, amelyek a HTTPS-végpontok következtetési támogatásához szükségesek, ha allowInsecureConnections be van állítvaFalse. Az sslSecret konfigurálása című témakörben talál egy minta YAML-definíciótsslSecret. Használja ezt a konfigurációt vagy a sslCertPemFile védett konfigurációs sslKeyPemFile beállítások kombinációját. n/a Lehetséges Lehetséges
sslCname A HTTPS-végpont következtetése TLS/SSL CNAME protokollt használ. Kötelező , ha allowInsecureConnections=False n/a Lehetséges Lehetséges
inferenceRouterHA True vagy Falseaz alapértelmezett True. Az Azure Machine Tanulás bővítmény alapértelmezés szerint három következtetési útválasztó-replikát helyez üzembe a magas rendelkezésre állás érdekében, amelyhez legalább három munkavégző csomópont szükséges egy fürtben. False Ha a fürt háromnál kevesebb feldolgozó csomóponttal rendelkezik, ebben az esetben csak egy következtetési útválasztó-szolgáltatás van üzembe helyezve. n/a Lehetséges Lehetséges
nodeSelector Alapértelmezés szerint az üzembe helyezett Kubernetes-erőforrások és a gépi tanulási számítási feladatok véletlenszerűen vannak üzembe helyezve a fürt egy vagy több csomópontján, a DaemonSet-erőforrások pedig minden csomóponton üzembe lesznek helyezve. Ha korlátozni szeretné a bővítmény üzembe helyezését és a betanítási/következtetési számítási feladatokat adott, címkével key1=value1 ellátott csomópontokra, és key2=value2ennek megfelelően használja nodeSelector.key1=value1nodeSelector.key2=value2 azt. Lehetséges Lehetséges Lehetséges
installNvidiaDevicePlugin True vagy Falseaz alapértelmezett False. Az NVIDIA-eszköz beépülő modulra az NVIDIA GPU-hardverek ml-számítási feladataihoz van szükség. Alapértelmezés szerint az Azure Machine Tanulás bővítmény üzembe helyezése nem telepíti az NVIDIA eszköz beépülő modult, függetlenül attól, hogy a Kubernetes-fürt GPU-hardvert használ vagy sem. A felhasználó megadhatja ezt a beállítást a Truetelepítéshez, de mindenképpen teljesítenie kell az előfeltételeket. Lehetséges Lehetséges Lehetséges
installPromOp True vagy Falseaz alapértelmezett True. Az Azure Machine Tanulás bővítménynek prometheus operátorra van szüksége a prometheus kezeléséhez. Állítsa be a False meglévő prometheus operátor újrafelhasználására. A meglévő prometheus operátor újbóli használatával kapcsolatos további információkért lásd a prometheus operátor újbóli használatát Lehetséges Lehetséges Lehetséges
installVolcano True vagy Falseaz alapértelmezett True. Az Azure Machine Tanulás bővítménynek vulkánütemezőre van szüksége a feladat ütemezéséhez. Állítsa be a False meglévő vulkánütemező újrafelhasználására. A meglévő vulkánütemező újrafelhasználásával kapcsolatos további információkért lásd a vulkánütemező újrafelhasználását ismertető témakört . Választható n/a Választható
installDcgmExporter True vagy Falseaz alapértelmezett False. A Dcgm-exportőr elérhetővé teheti az Azure Machine Tanulás számítási feladataihoz tartozó GPU-metrikákat, amelyek az Azure Portalon monitorozhatók. A dcgm-exporter telepítésére True van beállítvainstallDcgmExporter. Ha azonban saját dcgm-exportőrt szeretne használni, tekintse meg a DCGM-exportőrt Lehetséges Lehetséges Lehetséges
Konfigurációval védett beállításkulcs neve Leírás Tanfolyam Következtetés Betanítás és következtetés
sslCertPemFile, sslKeyPemFile Az Azure Machine Tanulás bővítmény üzembe helyezéséhez szükséges TLS/SSL-tanúsítvány és kulcsfájl elérési útja (PEM-kódolású), ha allowInsecureConnections hamis értékre van állítva. Megjegyzés: A védett jelszóval rendelkező PEM-fájl nem támogatott n/a Lehetséges Lehetséges

Amint a konfigurációs beállítások táblázatából látható, a különböző konfigurációs beállítások kombinációi lehetővé teszik az Azure Machine Tanulás bővítmény üzembe helyezését különböző ml-számítási feladatokhoz:

  • Betanítási feladathoz és kötegelt következtetési számítási feladathoz adja meg a enableTraining=True
  • Csak következtetési számítási feladatokhoz adja meg a enableInference=True
  • Az ml-számítási feladatok minden típusához adja meg a enableTraining=TrueenableInference=True

Ha az Azure Machine Tanulás bővítményt szeretné üzembe helyezni valós idejű következtetési számítási feladatokhoz, és meg szeretné adnienableInference=True, ügyeljen a valós idejű következtetési számítási feladathoz kapcsolódó alábbi konfigurációs beállításokra:

  • azureml-fe a valós idejű következtetés támogatásához útválasztó-szolgáltatás szükséges, és meg kell adnia inferenceRouterServiceType a konfigurációs beállítást a következőhöz azureml-fe: . azureml-fe az alábbi inferenceRouterServiceTypelehetőségek egyikével telepíthető:
    • Gépelje be: LoadBalancer. azureml-fe Külsőleg teszi elérhetővé egy felhőszolgáltató terheléselosztójával. Ennek az értéknek a megadásához győződjön meg arról, hogy a fürt támogatja a terheléselosztó kiépítését. Vegye figyelembe, hogy a legtöbb helyszíni Kubernetes-fürt nem támogatja a külső terheléselosztót.
    • Gépelje be: NodePort. Az egyes csomópontok azureml-fe IP-címén statikus porton teszi elérhetővé. A fürtön kívülről is kapcsolatba azureml-feléphet a kéréssel <NodeIP>:<NodePort>. A használatával NodePort saját terheléselosztási megoldást és TLS/SSL-végpontot is beállíthat.azureml-fe
    • Gépelje be: ClusterIP. azureml-fe Egy fürt belső IP-címén teszi elérhetővé, és azureml-fe csak a fürtből érhető el. A azureml-fe fürtön kívül érkező következtetési kérelmek kiszolgálásához saját terheléselosztási megoldást és TLS/SSL-végpontot kell beállítania a fürthöz azureml-fe.
  • Az útválasztási szolgáltatás magas rendelkezésre állásának azureml-fe biztosítása érdekében az Azure Machine Tanulás bővítmény üzembe helyezése alapértelmezés szerint három replikát azureml-fe hoz létre a három csomóponttal vagy annál több csomóponttal rendelkező fürtökhöz. Ha a fürt 3-nál kevesebb csomópontból áll, állítsa be a következőtinferenceRouterHA=False:
  • Érdemes megfontolni a HTTPS használatát is a modellvégpontokhoz való hozzáférés korlátozásához és az ügyfelek által beküldött adatok védelméhez. Ehhez meg kell adnia sslSecret a konfigurációs beállítást vagy a sslKeyPemFilesslCertPemFile konfigurációval védett beállítások kombinációját.
  • Alapértelmezés szerint az Azure Machine Tanulás bővítmény üzembe helyezése a HTTPS-támogatás konfigurációs beállításait várja. Fejlesztési vagy tesztelési célokra a HTTP-támogatás kényelmesen elérhető a konfigurációs beállításon allowInsecureConnections=Truekeresztül.

Azure Machine Learning-bővítmény üzembe helyezése – CLI-példák és Azure Portal

Az Azure Machine Tanulás bővítmény parancssori felülettel való üzembe helyezéséhez használja az k8s-extension create a kötelező paraméterek értékeit átadó parancsot.

Négy tipikus bővítménytelepítési forgatókönyvet sorolunk fel referenciaként. Az éles használat bővítményének üzembe helyezéséhez gondosan olvassa el a konfigurációs beállítások teljes listáját.

  • Az AKS-fürt használata az Azure-ban a koncepció gyors ellenőrzéséhez az ml-számítási feladatok összes típusának futtatásához, azaz betanítási feladatok futtatásához vagy modellek online/kötegelt végpontként való üzembe helyezéséhez

    Az Azure Machine Tanulás bővítmény üzembe helyezése az AKS-fürtön, mindenképpen adja meg managedClusters a --cluster-type paraméter értékét. Futtassa a következő Azure CLI-parancsot az Azure Machine Tanulás bővítmény üzembe helyezéséhez:

    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 cluster
    
  • Az Azure-on kívüli Arc Kubernetes-fürt használata a rövid megvalósíthatósági vizsgálathoz, csak betanítási feladatok futtatásához

    Az Azure Machine Tanulás bővítmény üzembe helyezéséhez az Arc Kubernetes-fürtön meg kell adnia connectedClusters a --cluster-type paraméter értékét. Futtassa a következő Azure CLI-parancsot az Azure Machine Tanulás bővítmény üzembe helyezéséhez:

    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 cluster
    
  • Engedélyezze az AKS-fürtöt az Azure-ban éles betanítási és következtetési számítási feladatokhoz az Azure Machine Tanulás bővítmény üzembe helyezéséhez az AKS-en, ügyeljen arra, hogy adja meg managedClusters a --cluster-type paraméter értékét. Feltéve, hogy a fürt háromnál több csomóponttal rendelkezik, és a számítási feladatokhoz azure-beli nyilvános terheléselosztót és HTTPS-t használ. Futtassa a következő Azure CLI-parancsot az Azure Machine Tanulás bővítmény üzembe helyezéséhez:

    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 cluster
    
  • Arc Kubernetes-fürt engedélyezése bárhol éles betanításhoz és következtetési számítási feladathoz NVIDIA GPU-k használatával

    Az Azure Machine Tanulás bővítmény üzembe helyezése az Arc Kubernetes-fürtön, mindenképpen adja meg connectedClusters a --cluster-type paraméter értékét. Ha a fürt háromnál több csomóponttal rendelkezik, a NodePort szolgáltatástípust és a HTTPS-t használja a számítási feladatok következtetési támogatásához, futtassa a következő Azure CLI-parancsot az Azure Machine Tanulás bővítmény üzembe helyezéséhez:

    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
    

Azure Machine Learning-bővítmény üzembehelyezési hitelesítése

  1. Futtassa a következő CLI-parancsot az Azure Machine Tanulás bővítmény részleteinek ellenőrzéséhez:

    az k8s-extension show --name <extension-name> --cluster-type connectedClusters --cluster-name <your-connected-cluster-name> --resource-group <resource-group>
    
  2. A válaszban keresse meg a "name" és a "provisioningState" kifejezést: "Sikeres". Vegye figyelembe, hogy a "provisioningState" felirat jelenhet meg: "Függőben" az első néhány percben.

  3. Ha a provisioningState sikeres állapotot mutat, futtassa a következő parancsot a számítógépen a fürtre mutatott kubeconfig fájllal annak ellenőrzéséhez, hogy az "azureml" névtérben lévő összes pod "Fut" állapotban van-e:

     kubectl get pods -n azureml
    

Azure Machine Learning-bővítmény összetevőjének áttekintése

Az Azure Machine Tanulás bővítmény üzembe helyezése után kubectl get deployments -n azureml megtekintheti a fürtben létrehozott erőforrások listáját. Ez általában a következő erőforrások egy részhalmazából áll a megadott konfigurációs beállítások szerint.

Erőforrás neve Erőforrás típusa Tanfolyam Következtetés Betanítás és következtetés Leírás Kommunikáció a felhővel
relayserver Kubernetes üzembe helyezése A Relay-kiszolgáló csak az Arc Kubernetes-fürthöz jön létre, az AKS-fürtben nem . A Relay-kiszolgáló az Azure Relayrel együttműködve kommunikál a felhőszolgáltatásokkal. A feladatlétrehozás és a modell üzembe helyezésének kérése a felhőszolgáltatástól; szinkronizálja a feladat állapotát a felhőszolgáltatással.
átjáró Kubernetes üzembe helyezése Az átjáróval kommunikálhat, és adatokat küldhet oda-vissza. Csomópontok és fürterőforrás-információk küldése a felhőszolgáltatásoknak.
aml-operátor Kubernetes üzembe helyezése n/a A betanítási feladatok életciklusának kezelése. Jogkivonatok cseréje a felhőalapú jogkivonat-szolgáltatással az Azure Container Registry hitelesítéséhez és engedélyezéséhez.
metrics-controller-manager Kubernetes üzembe helyezése A Prometheus konfigurációjának kezelése n/a
{EXTENSION-NAME}-kube-state-metrics Kubernetes üzembe helyezése Exportálja a fürthöz kapcsolódó metrikákat a Prometheusba. n/a
{EXTENSION-NAME}-prometheus-operátor Kubernetes üzembe helyezése Lehetséges Lehetséges Lehetséges A Kubernetes natív üzembe helyezésének és felügyeletének biztosítása a Prometheus és a kapcsolódó monitorozási összetevők számára. n/a
amlarc-identity-controller Kubernetes üzembe helyezése n/a Azure Blob/Azure Container Registry-jogkivonat kérése és megújítása felügyelt identitáson keresztül. Jogkivonatok cseréje a felhőalapú jogkivonat-szolgáltatással az Azure Container Registry és a következtetés/modell üzembe helyezése által használt Azure Blob hitelesítéséhez és engedélyezéséhez.
amlarc-identity-proxy Kubernetes üzembe helyezése n/a Azure Blob/Azure Container Registry-jogkivonat kérése és megújítása felügyelt identitáson keresztül. Jogkivonatok cseréje a felhőalapú jogkivonat-szolgáltatással az Azure Container Registry és a következtetés/modell üzembe helyezése által használt Azure Blob hitelesítéséhez és engedélyezéséhez.
azureml-fe-v2 Kubernetes üzembe helyezése n/a Az előtérbeli összetevő, amely a bejövő következtetési kérelmeket az üzembe helyezett szolgáltatásokhoz irányítja. Szolgáltatásnaplók küldése az Azure Blobba.
következtetés-operátor-controller-manager Kubernetes üzembe helyezése n/a A következtetési végpontok életciklusának kezelése. n/a
vulkán-belépés Kubernetes üzembe helyezése Választható n/a Választható Vulkán belépési webhook. n/a
vulkánvezérlők Kubernetes üzembe helyezése Választható n/a Választható Az Azure Machine Tanulás betanítási feladat podjainak életciklusának kezelése. n/a
volcano-scheduler Kubernetes üzembe helyezése Választható n/a Választható Fürtön belüli feladatütemezés végrehajtására szolgál. n/a
fluent-bit Kubernetes démonkészlet Gyűjtse össze az összetevők rendszernaplóját. Töltse fel az összetevők rendszernaplóját a felhőbe.
{EXTENSION-NAME}-dcgm-exporter Kubernetes démonkészlet Lehetséges Lehetséges Lehetséges A dcgm-exporter gpu-metrikákat tesz elérhetővé a Prometheushoz. n/a
nvidia-device-plugin-daemonset Kubernetes démonkészlet Lehetséges Lehetséges Lehetséges Az nvidia-device-plugin-daemonset gpu-kat tesz elérhetővé a fürt minden csomópontján n/a
prometheus-prom-prometheus Kubernetes statefulset Feladatmetrikák összegyűjtése és küldése a felhőbe. Feladatmetrikák, például processzor-/gpu-/memóriakihasználtság küldése a felhőbe.

Fontos

  • Az Azure Relay-erőforrás ugyanabban az erőforráscsoportban található, mint az Arc-fürterőforrás. A Kubernetes-fürttel való kommunikációra szolgál, és a módosításuk megszakítja a csatolt számítási célokat.
  • Alapértelmezés szerint a kubernetes üzembehelyezési erőforrásai véletlenszerűen vannak üzembe helyezve a fürt 1 vagy több csomópontján, és a démonkészlet-erőforrások minden csomóponton üzembe lesznek helyezve. Ha a bővítmény üzembe helyezését adott csomópontokra szeretné korlátozni, használja nodeSelector a konfigurációs beállítások táblázatában leírt konfigurációs beállítást.

Feljegyzés

  • {EXTENSION-NAME}: a CLI-paranccsal megadott az k8s-extension create --name bővítménynév.

Azure Machine Learning-bővítmény kezelése

Azure Machine-Tanulás bővítmény frissítése, listázása, megjelenítése és törlése.

  • Azure Arc-kapcsolat nélküli AKS-fürtök esetén tekintse meg a fürtbővítmények üzembe helyezését és kezelését.
  • Az Azure Arc-kompatibilis Kubernetes esetében tekintse meg az Azure Arc-kompatibilis Kubernetes-fürtbővítmények üzembe helyezését és kezelését.

Következő lépések