Erstellen und Anfügen eines Azure Kubernetes Service-Clusters mit v1

GILT FÜR:Python SDK azureml v1

GILT FÜR:Azure CLI-ML-Erweiterung v1

Wichtig

Dieser Artikel zeigt, wie Sie die CLI und das SDK v1 verwenden, um einen Azure Kubernetes Service-Cluster zu erstellen oder anzuhängen, der jetzt als Legacy-Funktion gilt. Informationen über das Anfügen eines Azure Kubernetes Service-Cluster mit dem für v2 empfohlenen Ansatz finden Sie unter Einführung in Kubernetes Computeziel in v2.

Mit Azure Machine Learning kann ein trainiertes Machine Learning-Modell im Azure Kubernetes Service bereitgestellt werden. Allerdings müssen Sie zunächst einen AKS-Cluster (Azure Kubernetes Service) in Ihrem Azure Machine Learning-Arbeitsbereich erstellen oder einen vorhandenen AKS-Cluster anfügen. Dieser Artikel enthält Informationen sowohl zum Erstellen als auch zum Anfügen eines Clusters.

Voraussetzungen

Einschränkungen

  • Ein AKS-Cluster kann nur als einzelnes Computeziel im Azure Machine Learning-Arbeitsbereich erstellt oder angefügt werden. Mehrere Anhänge für ein AKS werden nicht unterstützt.

  • Wenn in Ihrem Cluster anstelle eines Load Balancer Basic (BLB) ein Load Balancer Standard (SLB) bereitgestellt werden muss, erstellen Sie im AKS-Portal, mit der CLI oder über das SDK einen Cluster, den Sie dann an den Azure Machine Learning-Arbeitsbereich anfügen.

  • Wenn Sie über eine Azure Policy verfügen, die die Erstellung von öffentlichen IP-Adressen einschränkt, tritt bei der AKS-Clustererstellung ein Fehler auf. AKS erfordert eine öffentliche IP-Adresse für ausgehenden Datenverkehr. Der Artikel zum ausgehenden Datenverkehr enthält außerdem Anleitungen zum Sperren von aus dem Cluster über die öffentliche IP-Adresse ausgehenden Datenverkehr mit Ausnahme einiger vollqualifizierter Domänennamen. Es gibt 2 Möglichkeiten, eine öffentliche IP-Adresse zu aktivieren:

    • Der Cluster kann die öffentliche IP-Adresse verwenden, die standardmäßig mit dem BLB oder SLB erstellt wird, oder
    • der Cluster kann ohne öffentliche IP-Adresse erstellt werden, und anschließend wird eine öffentliche IP-Adresse mit einer Firewall mit einer benutzerdefinierten Route konfiguriert. Weitere Informationen finden Sie unter Anpassen des ausgehenden Clusterdatenverkehrs mit einer benutzerdefinierten Route.

    Die Azure Machine Learning-Steuerungsebene kommuniziert nicht mit dieser öffentlichen IP-Adresse. Sie kommuniziert mit der AKS-Steuerungsebene für Bereitstellungen.

  • Um einen AKS-Cluster anfügen zu können, muss dem Dienstprinzipal/Benutzer, der den Vorgang ausführt, in Azure RBAC (rollenbasierte Zugriffssteuerung) die Rolle Besitzer oder Mitwirkender für die Azure-Ressourcengruppe zugewiesen werden, die den Cluster enthält. Dem Dienstprinzipal bzw. Benutzer muss auch die Administratorrolle für Azure Kubernetes Service-Cluster im Cluster zugewiesen werden.

  • Wenn Sie einen AKS-Cluster anfügen, der über einen autorisierten IP-Adressbereich für den Zugriff auf den API-Server verfügt, aktivieren Sie die IP-Adressbereiche der Azure Machine Learning-Steuerungsebene für den AKS-Cluster. Die Azure Machine Learning-Steuerungsebene wird für Regionspaare bereitgestellt und stellt Rückschlusspods im AKS-Cluster bereit. Ohne Zugriff auf den API-Server können die Rückschlusspods nicht bereitgestellt werden. Verwenden Sie die IP-Adressbereiche für beide Regionspaare, wenn Sie die IP-Adressbereiche in einem AKS-Cluster aktivieren.

    Autorisierte IP-Adressbereiche funktionieren nur mit Load Balancer Standard.

  • Wenn Sie einen privaten AKS-Cluster (mit Azure Private Link) verwenden möchten, müssen Sie zuerst den Cluster erstellen und diesen dann an den Arbeitsbereich anfügen. Weitere Informationen finden Sie unter Erstellen eines privaten Azure Kubernetes Service-Clusters.

  • Die Verwendung eines öffentlichen vollqualifizierten Domänennamens (FQDN) mit einem privaten AKS-Cluster wird mit Azure Machine Learning nicht unterstützt.

  • Der Computename für den AKS-Cluster MUSS innerhalb Ihres Azure Machine Learning-Arbeitsbereichs eindeutig sein. Er kann Buchstaben, Ziffern und Bindestriche enthalten. Er muss mit einem Buchstaben beginnen, mit einem Buchstaben oder einer Ziffer enden und zwischen 3 und 24 Zeichen lang sein.

  • Wenn Sie Modelle auf GPU-Knoten oder FPGA-Knoten (oder einer bestimmten SKU) bereitstellen möchten, müssen Sie einen Cluster mit der jeweiligen SKU erstellen. Das Erstellen eines sekundären Knotenpools in einem vorhandenen Cluster und Bereitstellen von Modellen im sekundären Knotenpool wird nicht unterstützt.

  • Beim Erstellen oder Anfügen eines Clusters können Sie auswählen, ob der Cluster für Dev/Test oder die Produktion erstellt werden soll. Wenn Sie einen AKS-Cluster für Entwicklung, Validierung und Tests statt für die Produktion erstellen möchten, legen Sie Clusterzweck auf Dev/Test fest. Wenn Sie den Clusterzweck nicht angeben, wird ein Cluster für die Produktion erstellt.

    Wichtig

    Ein Dev/Test-Cluster ist nicht für Produktionsdatenverkehr geeignet und kann Rückschlusszeiten erhöhen. Entwicklungs- und Testcluster garantieren auch keine Fehlertoleranz.

  • Wenn ein Cluster erstellt oder angehängt wird, muss er mindestens 3 Knoten enthalten, wenn er für die Produktion verwendet werden soll. Für einen Dev/Test Cluster muss er mindestens einen Knoten enthalten.

  • Das Azure Machine Learning-SDK bietet keine Unterstützung zur Skalierung eines AKS-Clusters. Die Knoten in Ihrem Cluster können Sie über die Benutzeroberfläche Ihres AKS-Clusters in Azure Machine Learning Studio skalieren. Sie können nur die Knotenanzahl ändern, nicht die VM-Größe des Clusters. Weitere Informationen zum Skalieren der Knoten in einem AKS-Cluster finden Sie in den folgenden Artikeln:

  • Aktualisieren Sie den Cluster nicht direkt mithilfe einer YAML-Konfiguration. Während Azure Kubernetes Services Updates über die YAML-Konfiguration unterstützt, überschreiben Azure Machine Learning-Bereitstellungen Ihre Änderungen. Die einzigen beiden YAML-Felder, die nicht überschrieben werden, sind Anforderungslimits und CPU und Arbeitsspeicher.

  • Das Erstellen eines AKS-Clusters mithilfe der Azure Machine Learning Studio-Benutzeroberfläche, des Azure Machine Learning Studio-SDKs oder der CLI-Erweiterung ist nicht idempotent. Wenn Sie versuchen, die Ressource erneut zu erstellen, führt dies zu dem Fehler, dass ein Cluster mit demselben Namen bereits vorhanden ist.

    • Die Verwendung einer Azure Resource Manager-Vorlage und der Ressource Microsoft.MachineLearningServices/workspaces/computes zum Erstellen eines AKS-Clusters ist ebenfalls nicht idempotent. Wenn Sie versuchen, die Vorlage erneut zu verwenden, um eine bereits vorhandene Ressource zu aktualisieren, wird derselbe Fehler angezeigt.

Version von Azure Kubernetes Service

Mit Azure Kubernetes Service können Sie einen Cluster mit einer Vielzahl von Kubernetes-Versionen erstellen. Weitere Informationen zu verfügbaren Versionen finden Sie unter Unterstützte Kubernetes-Versionen in Azure Kubernetes Service.

Wenn Sie einen Azure Kubernetes Service-Cluster mithilfe einer der folgenden Methoden erstellen, können Sie die Version des Clusters nicht auswählen, der erstellt wird:

  • Azure Machine Learning Studio oder den Abschnitt „Azure Machine Learning“ im Azure-Portal.
  • Machine Learning-Erweiterung für die Azure CLI.
  • Azure Machine Learning SDK.

Diese Methoden zum Erstellen eines AKS-Clusters verwenden die Standardversion des Clusters. Die Standardversion ändert sich im Laufe der Zeit, wenn neue Kubernetes-Versionen veröffentlicht werden.

Beim Anfügen an einen vorhandenen AKS-Cluster werden alle derzeit unterstützten AKS-Versionen unterstützt.

Wichtig

Azure Kubernetes Service verwendet Blobfuse FlexVolume Treiber für die Versionen <=1.16 und Blob CSI Treiber für die Versionen >=1.17. Daher ist es wichtig, den Webdienst nach dem Clusterupgrade erneut bereitzustellen oder zu aktualisieren, um die Bereitstellung für die richtige Blobfuse-Methode für die Clusterversion durchzuführen.

Hinweis

Es gibt möglicherweise Grenzfälle, in denen Sie über einen älteren Cluster verfügen, der nicht mehr unterstützt wird. In diesem Fall gibt der Anfügevorgang einen Fehler zurück und listet die derzeit unterstützten Versionen auf.

Sie können Vorschauversionen anfügen. Vorschaufunktionen werden ohne Vereinbarung zum Servicelevel bereitgestellt und sind nicht für Produktionsworkloads vorgesehen. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar. Die Unterstützung für die Verwendung von Vorschauversionen ist möglicherweise eingeschränkt. Weitere Informationen finden Sie unter Zusätzliche Nutzungsbestimmungen für Microsoft Azure-Vorschauen.

Verfügbare und Standardversionen

Um die verfügbaren und Standard-AKS-Versionen zu ermitteln, verwenden Sie den Azure CLI-Befehl az aks get-versions. Mit dem folgenden Befehl werden beispielsweise die in der Region „USA, Westen“ verfügbaren Versionen zurückgegeben:

az aks get-versions -l westus -o table

Die Ausgabe dieses Befehls ähnelt dem folgenden Text:

KubernetesVersion    Upgrades
-------------------  ----------------------------------------
1.18.6(preview)      None available
1.18.4(preview)      1.18.6(preview)
1.17.9               1.18.4(preview), 1.18.6(preview)
1.17.7               1.17.9, 1.18.4(preview), 1.18.6(preview)
1.16.13              1.17.7, 1.17.9
1.16.10              1.16.13, 1.17.7, 1.17.9
1.15.12              1.16.10, 1.16.13
1.15.11              1.15.12, 1.16.10, 1.16.13

Um die Standardversion zu ermitteln, die beim Erstellen eines Clusters über Azure Machine Learning verwendet wird, können Sie den --query-Parameter verwenden, um die Standardversion auszuwählen:

az aks get-versions -l westus --query "orchestrators[?default == `true`].orchestratorVersion" -o table

Die Ausgabe dieses Befehls ähnelt dem folgenden Text:

Result
--------
1.16.13

Wenn Sie die verfügbaren Versionen programmgesteuert überprüfen möchten, verwenden Sie die Container Service Client – List Orchestrators-REST-API. Um die verfügbaren Versionen zu finden, sehen Sie sich die Einträge an, in denen orchestratorType den Wert Kubernetes hat. Die zugehörigen orchestrationVersion-Einträge enthalten die verfügbaren Versionen, die an Ihren Arbeitsbereich angefügt werden können.

Um die Standardversion zu ermitteln, die beim Erstellen eines Clusters über Azure Machine Learning verwendet wird, suchen Sie den Eintrag, bei dem orchestratorType den Wert Kubernetes und default den Wert true hat. Der zugeordnete orchestratorVersion-Wert ist die Standardversion. Der folgende JSON-Codeausschnitt zeigt einen Beispieleintrag:

...
 {
        "orchestratorType": "Kubernetes",
        "orchestratorVersion": "1.16.13",
        "default": true,
        "upgrades": [
          {
            "orchestratorType": "",
            "orchestratorVersion": "1.17.7",
            "isPreview": false
          }
        ]
      },
...

Erstellen eines neuen AKS-Clusters

Geschätzter Zeitaufwand: Ca. zehn Minuten.

Das Erstellen oder Anfügen eines AKS-Clusters ist ein für Ihren Arbeitsbereich einmaliger Vorgang. Sie können diesen Cluster für mehrere Bereitstellungen wiederverwenden. Wenn Sie den Cluster oder die Ressourcengruppe löschen, die ihn enthält, müssen Sie bei der nächsten Bereitstellung einen neuen Cluster erstellen. Sie können an Ihren Arbeitsbereich mehrere AKS-Cluster anfügen.

Das folgende Beispiel veranschaulicht, wie ein neuer AKS-Cluster mit dem SDK und der CLI erstellt wird:

GILT FÜR:Python SDK azureml v1

from azureml.core.compute import AksCompute, ComputeTarget

# Use the default configuration (you can also provide parameters to customize this).
# For example, to create a dev/test cluster, use:
# prov_config = AksCompute.provisioning_configuration(cluster_purpose = AksCompute.ClusterPurpose.DEV_TEST)
prov_config = AksCompute.provisioning_configuration()

# Example configuration to use an existing virtual network
# prov_config.vnet_name = "mynetwork"
# prov_config.vnet_resourcegroup_name = "mygroup"
# prov_config.subnet_name = "default"
# prov_config.service_cidr = "10.0.0.0/16"
# prov_config.dns_service_ip = "10.0.0.10"
# prov_config.docker_bridge_cidr = "172.17.0.1/16"

aks_name = 'myaks'
# Create the cluster
aks_target = ComputeTarget.create(workspace = ws,
                                    name = aks_name,
                                    provisioning_configuration = prov_config)

# Wait for the create process to complete
aks_target.wait_for_completion(show_output = True)

Weitere Informationen zu den in diesem Beispiel verwendeten Klassen, Methoden und Parametern finden Sie in den folgenden Referenzdokumenten:

Anfügen eines vorhandenen AKS-Clusters

Geschätzter Zeitaufwand: Ca. fünf Minuten.

Wenn Sie in Ihrem Azure-Abonnement bereits über einen AKS-Cluster verfügen, können Sie diesen für Ihren Arbeitsbereich verwenden.

Tipp

Der vorhandene AKS-Cluster kann sich in einer anderen Azure-Region befinden als Ihr Azure Machine Learning-Arbeitsbereich.

Warnung

Erstellen Sie nicht mehrere, gleichzeitige Anhänge an denselben AKS-Cluster. Hängen Sie zum Beispiel keinen AKS-Cluster mit zwei verschiedenen Namen an einen Arbeitsbereich an, oder einen AKS-Cluster an verschiedene Arbeitsbereiche. Jeder neue Anhang unterbricht den oder die vorherigen Anhänge und verursacht unvorhersehbare Fehler.

Falls Sie einen AKS-Cluster erneut verknüpfen möchten (etwa zum Ändern der TLS-Einstellung oder einer anderen Clusterkonfigurationseinstellung), müssen Sie zuerst die vorhandene Verknüpfung mithilfe von AksCompute.detach() entfernen.

Weitere Informationen zum Erstellen eines AKS-Clusters mithilfe der Azure-CLI oder des Portals finden Sie in den folgenden Artikeln:

Das folgende Beispiel veranschaulicht das Anfügen eines vorhandenen AKS-Clusters an Ihren Arbeitsbereich:

GILT FÜR:Python SDK azureml v1

from azureml.core.compute import AksCompute, ComputeTarget
# Set the resource group that contains the AKS cluster and the cluster name
resource_group = 'myresourcegroup'
cluster_name = 'myexistingcluster'

# Attach the cluster to your workgroup. If the cluster has less than 12 virtual CPUs, use the following instead:
# attach_config = AksCompute.attach_configuration(resource_group = resource_group,
#                                         cluster_name = cluster_name,
#                                         cluster_purpose = AksCompute.ClusterPurpose.DEV_TEST)
attach_config = AksCompute.attach_configuration(resource_group = resource_group,
                                         cluster_name = cluster_name)
aks_target = ComputeTarget.attach(ws, 'myaks', attach_config)

# Wait for the attach process to complete
aks_target.wait_for_completion(show_output = True)

Weitere Informationen zu den in diesem Beispiel verwendeten Klassen, Methoden und Parametern finden Sie in den folgenden Referenzdokumenten:

Erstellen oder Anfügen eines AKS-Clusters mit TLS-Abschluss

Wenn Sie einen AKS-Cluster erstellen oder anfügen, können Sie den TLS-Abschluss mit den Konfigurationsobjekten von AksCompute.provisioning_configuration() und AksCompute.attach_configuration() aktivieren. Bei beiden Methoden wird ein Konfigurationsobjekt zurückgegeben, das über eine enable_ssl-Methode verfügt. Mit dieser enable_ssl-Methode können Sie TLS aktivieren.

Im folgenden Beispiel wird gezeigt, wie Sie den TLS-Abschluss mit automatischer TLS-Zertifikatgenerierung und -konfiguration aktivieren. Dabei kommt im Hintergrund ein Microsoft-Zertifikat zum Einsatz.

GILT FÜR:Python SDK azureml v1

   from azureml.core.compute import AksCompute, ComputeTarget
   
   # Enable TLS termination when you create an AKS cluster by using provisioning_config object enable_ssl method

   # Leaf domain label generates a name using the formula
   # "<leaf-domain-label>######.<azure-region>.cloudapp.azure.com"
   # where "######" is a random series of characters
   provisioning_config.enable_ssl(leaf_domain_label = "contoso")
   
   # Enable TLS termination when you attach an AKS cluster by using attach_config object enable_ssl method

   # Leaf domain label generates a name using the formula
   # "<leaf-domain-label>######.<azure-region>.cloudapp.azure.com"
   # where "######" is a random series of characters
   attach_config.enable_ssl(leaf_domain_label = "contoso")


Das folgende Beispiel zeigt, wie Sie den TLS-Abschluss mit benutzerdefiniertem Zertifikat und benutzerdefiniertem Domänennamen aktivieren. Sie müssen Ihren DNS-Eintrag mit der benutzerdefinierten Domäne und dem Zertifikat so aktualisieren, dass er auf die IP-Adresse des Bewertungsendpunkts verweist. Weitere Informationen dazu finden Sie unter Aktualisieren Ihres DNS.

GILT FÜR:Python SDK azureml v1

   from azureml.core.compute import AksCompute, ComputeTarget

   # Enable TLS termination with custom certificate and custom domain when creating an AKS cluster
   
   provisioning_config.enable_ssl(ssl_cert_pem_file="cert.pem",
                                        ssl_key_pem_file="key.pem", ssl_cname="www.contoso.com")
    
   # Enable TLS termination with custom certificate and custom domain when attaching an AKS cluster

   attach_config.enable_ssl(ssl_cert_pem_file="cert.pem",
                                        ssl_key_pem_file="key.pem", ssl_cname="www.contoso.com")


Hinweis

Weitere Informationen zum Schützen von Modellimplementierungen im AKS-Cluster finden Sie unter Verwenden von TLS zum Absichern eines Webdiensts mit Azure Machine Learning.

Erstellen oder Anfügen eines AKS-Clusters für die Verwendung des internen Lastenausgleichs mit einer privaten IP-Adresse

Wenn Sie einen AKS-Cluster erstellen oder anfügen, können Sie den Cluster für die Verwendung eines internen Lastenausgleichs konfigurieren. Mit einem internen Lastenausgleich nutzen die Bewertungsendpunkte für Ihre Bereitstellungen in AKS eine private IP-Adresse innerhalb des virtuellen Netzwerks. Die folgenden Codeausschnitte zeigen, wie Sie einen internen Lastenausgleich für einen AKS-Cluster konfigurieren.

GILT FÜR:Python SDK azureml v1

Um einen AKS-Cluster zu erstellen, der einen internen Lastenausgleich nutzt, verwenden Sie die Parameter load_balancer_type und load_balancer_subnet:

from azureml.core.compute.aks import AksUpdateConfiguration
from azureml.core.compute import AksCompute, ComputeTarget

# When you create an AKS cluster, you can specify Internal Load Balancer to be created with provisioning_config object
provisioning_config = AksCompute.provisioning_configuration(load_balancer_type = 'InternalLoadBalancer')

# Create the cluster
aks_target = ComputeTarget.create(workspace = ws,
                                name = aks_name,
                                provisioning_configuration = provisioning_config)

# Wait for the create process to complete
aks_target.wait_for_completion(show_output = True)

Wichtig

Wenn Ihr AKS-Cluster mit einem internen Lastenausgleich konfiguriert ist, wird die Verwendung eines von Microsoft bereitgestellten Zertifikats nicht unterstützt. Sie müssen dann für die Aktivierung von TLS ein benutzerdefiniertes Zertifikat verwenden.

Hinweis

Weitere Informationen zum Schützen einer Rückschlussumgebung finden Sie unter Schützen einer Azure Machine Learning-Rückschlussumgebung mit virtuellen Netzwerken.

Trennen eines AKS-Clusters

Verwenden Sie eine der folgenden Methoden, um einen Cluster von Ihrem Arbeitsbereich zu trennen:

Warnung

Wenn Sie einen AKS-Cluster mit dem Azure Machine Learning Studio, dem SDK oder der Azure CLI-Erweiterung für maschinelles Lernen trennen, wird der AKS-Cluster nicht gelöscht. Informationen zum Löschen des Clusters finden Sie unter Schnellstart: Bereitstellen eines Azure Kubernetes Service-Clusters über die Azure-Befehlszeilenschnittstelle.

GILT FÜR:Python SDK azureml v1

aks_target.detach()

Problembehandlung

Aktualisieren des Clusters

Updates für Azure Machine Learning-Komponenten, die in einem Azure Kubernetes Service-Cluster installiert sind, müssen manuell angewendet werden.

Sie können diese Updates anwenden, indem Sie den Cluster vom Azure Machine Learning-Arbeitsbereich trennen und ihn erneut an den Arbeitsbereich anfügen.

GILT FÜR:Python SDK azureml v1

compute_target = ComputeTarget(workspace=ws, name=clusterWorkspaceName)
compute_target.detach()
compute_target.wait_for_completion(show_output=True)

Bevor Sie den Cluster erneut an Ihren Arbeitsbereich anfügen können, müssen Sie zuerst alle auf azureml-fe bezogenen Ressourcen löschen. Wenn im Cluster kein aktiver Dienst enthalten ist, können Sie die auf azureml-fe bezogenen Ressourcen mit dem folgenden Code löschen.

kubectl delete sa azureml-fe
kubectl delete clusterrole azureml-fe-role
kubectl delete clusterrolebinding azureml-fe-binding
kubectl delete svc azureml-fe
kubectl delete svc azureml-fe-int-http
kubectl delete deploy azureml-fe
kubectl delete secret azuremlfessl
kubectl delete cm azuremlfeconfig

Wenn TLS im Cluster aktiviert ist, müssen Sie das TLS/SSL-Zertifikat und den privaten Schlüssel bereitstellen, wenn Sie den Cluster erneut anfügen.

GILT FÜR:Python SDK azureml v1

attach_config = AksCompute.attach_configuration(resource_group=resourceGroup, cluster_name=kubernetesClusterName)

# If SSL is enabled.
attach_config.enable_ssl(
    ssl_cert_pem_file="cert.pem",
    ssl_key_pem_file="key.pem",
    ssl_cname=sslCname)

attach_config.validate_configuration()

compute_target = ComputeTarget.attach(workspace=ws, name=args.clusterWorkspaceName, attach_configuration=attach_config)
compute_target.wait_for_completion(show_output=True)

Wenn Sie das TLS/SSL-Zertifikat und den privaten Schlüssel nicht mehr haben, oder wenn Sie ein von Azure Machine Learning generiertes Zertifikat verwenden, können Sie die Dateien vor dem Abtrennen des Clusters abrufen, indem Sie mit kubectl eine Verbindung mit dem Cluster herstellen und das Geheimnis azuremlfessl abrufen.

kubectl get secret/azuremlfessl -o yaml

Hinweis

Kubernetes speichert die Geheimnisse im Base64-codierten Format. Sie müssen die cert.pem- und die key.pem-Komponente jedes Geheimnisses aus dem Base64-Format decodieren, bevor Sie diese Komponenten für attach_config.enable_ssl bereitstellen.

Webdienstfehler

Viele Webdienstfehler in AKS können debuggt werden, indem mit kubectl eine Verbindung mit dem Cluster hergestellt wird. Sie können die Datei kubeconfig.json für einen AKS-Cluster abrufen, indem Sie Folgendes ausführen:

GILT FÜR:Azure CLI-ML-Erweiterung v1

az aks get-credentials -g <rg> -n <aks cluster name>

Wenn nach dem Trennen des Clusters kein aktiver Dienst im Cluster verfügbar ist, löschen Sie die auf azureml-fe bezogenen Ressourcen, bevor Sie sie erneut anfügen:

kubectl delete sa azureml-fe
kubectl delete clusterrole azureml-fe-role
kubectl delete clusterrolebinding azureml-fe-binding
kubectl delete svc azureml-fe
kubectl delete svc azureml-fe-int-http
kubectl delete deploy azureml-fe
kubectl delete secret azuremlfessl
kubectl delete cm azuremlfeconfig

Ein Lastenausgleich sollte nicht über öffentliche IP-Adressen verfügen.

Wenn Sie versuchen, einen AKS-Cluster zu erstellen oder anzufügen, erhalten Sie möglicherweise die Meldung, dass die Anforderung abgelehnt wurde, da ein Lastenausgleich nicht über öffentliche IP-Adressen verfügen sollte. Diese Meldung wird zurückgegeben, wenn ein Administrator eine Richtlinie angewendet hat, die die Verwendung eines AKS-Clusters mit einer öffentlichen IP-Adresse verhindert.

Um dieses Problem zu beheben, erstellen Sie den Cluster mithilfe der Parameter load_balancer_type und load_balancer_subnet oder fügen ihn an. Weitere Informationen finden Sie unter Interner Lastenausgleich (private IP-Adresse).

Nächste Schritte