Bereitstellen und Verwalten von Clustererweiterungen mithilfe von Azure CLI
Sie können Erweiterungsinstanzen in einem AKS-Cluster erstellen und erforderliche und optionale Parameter festlegen, einschließlich Optionen für Updates und Konfigurationen. Sie können Erweiterungsinstanzen anzeigen, auflisten, aktualisieren und löschen.
Bevor Sie beginnen, lesen Sie mehr über Clustererweiterungen.
Hinweis
Die in diesem Artikel enthaltenen Beispiele sind nicht vollständig und dienen nur zur Veranschaulichung der Funktionalität. Eine umfassende Liste der Befehle und ihrer Parameter finden Sie in der az k8s-extension CLI-Referenz.
Voraussetzungen
Ein Azure-Abonnement. Falls Sie über kein Azure-Abonnement verfügen, können Sie ein kostenloses Konto erstellen.
Die
Microsoft.ContainerService
- undMicrosoft.KubernetesConfiguration
-Ressourcenanbieter müssen für Ihr Abonnement registriert sein. Führen Sie zum Registrieren dieser Anbieter den folgenden Befehl aus:az provider register --namespace Microsoft.ContainerService --wait az provider register --namespace Microsoft.KubernetesConfiguration --wait
Ein AKS-Cluster. Dieser Cluster muss mit einer verwalteten Identität erstellt worden sein, da Clustererweiterungen nicht mit dienstprinzipalbasierten Clustern funktionieren. Für neue Cluster, die mit
az aks create
erstellt werden, ist standardmäßig eine verwaltete Identität konfiguriert. Wechseln Sie bei vorhandenen dienstprinzipalbasierten Clustern zur Identitätsverwaltung, indem Sieaz aks update
mit dem Flag--enable-managed-identity
ausführen. Weitere Informationen finden Sie unter Verwenden einer verwalteten Identität in Azure Kubernetes Service.Azure-Befehlszeilenschnittstelle Version >= 2.16.0 installiert. Wir empfehlen die Verwendung der neuesten Version.
Die neueste Version der Azure CLI-Erweiterungen
k8s-extension
. Installieren Sie diese Erweiterung mit dem folgenden Befehl:az extension add --name k8s-extension
Wenn die Erweiterung bereits installiert ist, stellen Sie mithilfe des folgenden Befehls sicher, dass Sie die neueste Version ausführen:
az extension update --name k8s-extension
Erstellen einer Erweiterungsinstanz
Erstellen Sie eine neue Erweiterungsinstanz mit k8s-extension create
, und übergeben Sie Werte für die obligatorischen Parameter. Dieser Beispielbefehl erstellt eine Azure Machine Learning-Erweiterungsinstanz auf Ihrem AKS-Cluster:
az k8s-extension create --name azureml --extension-type Microsoft.AzureML.Kubernetes --scope cluster --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters --configuration-settings enableInference=True allowInsecureConnections=True inferenceRouterServiceType=LoadBalancer
Mit diesem Beispielbefehl wird eine Kubernetes-Beispielanwendung (im Marketplace veröffentlicht) in Ihrem AKS-Cluster erstellt:
az k8s-extension create --name voteapp --extension-type Contoso.AzureVoteKubernetesAppTest --scope cluster --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters --plan-name testPlanID --plan-product testOfferID --plan-publisher testPublisherID --configuration-settings title=VoteAnimal value1=Cats value2=Dogs
Hinweis
Der Dienst Cluster Extensions ist nicht in der Lage, sensible Informationen länger als 48 Stunden aufzubewahren. Wenn die Agents der Clustererweiterung länger als 48 Stunden keine Netzverbindung haben und nicht feststellen können, ob eine Erweiterung im Cluster erstellt werden soll, geht die Erweiterung in den Zustand Failed
über. Sobald Sie sich im Zustand Failed
befinden, müssen Sie k8s-extension create
erneut ausführen, um eine neue Erweiterungsinstanz zu erstellen.
Erforderliche Parameter
Parametername | BESCHREIBUNG |
---|---|
--name |
Name der Erweiterungsinstanz |
--extension-type |
Der Typ der Erweiterung, die Sie auf dem Cluster installieren möchten. Beispiel: Microsoft.AzureML.Kubernetes |
--cluster-name |
Name des AKS-Clusters, auf dem die Erweiterungsinstanz angelegt werden soll |
--resource-group |
Die Ressourcengruppe, die den AKS-Cluster enthält |
--cluster-type |
Der Clustertyp, auf dem die Erweiterungsinstanz erstellt werden soll. Geben Sie managedClusters an, da es auf AKS-Cluster abgebildet wird |
Optionale Parameter
Parametername | BESCHREIBUNG |
---|---|
--auto-upgrade-minor-version |
Boolesche Eigenschaft, die angibt, ob die Nebenversion der Erweiterung automatisch aktualisiert wird. Standardwert: true . Wenn dieser Parameter auf „true“ festgelegt ist, können Sie den version -Parameter nicht festlegen, da die Version dynamisch aktualisiert wird. Wenn der Wert false festgelegt ist, wird die Erweiterung auch für Patchversionen nicht automatisch aktualisiert. |
--version |
Version der zu installierenden Erweiterung (bestimmte Version, an die die Erweiterungsinstanz angeheftet wird). Muss nicht angegeben werden, wenn „auto-upgrade-minor-version“ auf true festgelegt ist. |
--configuration-settings |
Einstellungen, die an die Erweiterung übergeben werden können, um deren Funktionalität zu steuern. Übergeben Sie Werte als leerzeichengetrennte key=value -Paare nach dem Parameternamen. Wenn dieser Parameter im Befehl verwendet wird, kann --configuration-settings-file nicht im selben Befehl verwendet werden. |
--configuration-settings-file |
Der Pfad zur JSON-Datei mit Schlüsselwertpaaren, die verwendet werden sollen, um Konfigurationseinstellungen an die Erweiterung zu übergeben. Wenn dieser Parameter im Befehl verwendet wird, kann --configuration-settings nicht im selben Befehl verwendet werden. |
--configuration-protected-settings |
Diese Einstellungen können nicht mit GET -API-Aufrufen oder az k8s-extension show -Befehlen abgerufen werden, und werden daher verwendet, um sensible Einstellungen zu übergeben. Übergeben Sie Werte als leerzeichengetrennte key=value -Paare nach dem Parameternamen. Wenn dieser Parameter im Befehl verwendet wird, kann --configuration-protected-settings-file nicht im selben Befehl verwendet werden. |
--configuration-protected-settings-file |
Der Pfad zur JSON-Datei mit Schlüsselwertpaaren, die verwendet werden sollen, um sensible Einstellungen an die Erweiterung zu übergeben. Wenn dieser Parameter im Befehl verwendet wird, kann --configuration-protected-settings nicht im selben Befehl verwendet werden. |
--scope |
Umfang der Installation für die Erweiterung – cluster oder namespace |
--release-namespace |
Dieser Parameter gibt den Namespace an, in dem die Freigabe erstellt werden soll. Dieser Parameter ist nur relevant, wenn der scope -Parameter auf cluster festgelegt ist. |
--release-train |
Erweiterungsersteller können Versionen in unterschiedlichen Release Trains wie Stable , Preview usw. veröffentlichen. Wenn dieser Parameter nicht explizit festgelegt ist, wird Stable als Standard verwendet. Dieser Parameter kann nicht verwendet werden, wenn der --auto-upgrade-minor-version -Parameter auf false festgelegt ist. |
--target-namespace |
Dieser Parameter gibt den Namespace an, in dem die Freigabe erstellt wird. Die Berechtigung des für diese Erweiterungsinstanz erstellten Systemkontos wird auf diesen Namespace beschränkt. Dieser Parameter ist nur relevant, wenn der scope -Parameter auf namespace festgelegt ist. |
--plan-name |
Plan-ID der Erweiterung, zu finden auf der Marketplace-Seite im Azure-Portal unter Nutzungsinformationen + Support. |
--plan-product |
Produkt-ID der Erweiterung, zu finden auf der Marketplace-Seite im Azure-Portal unter Nutzungsinformationen + Support. Ein Beispiel hierfür ist der Name des verwendeten ISV-Angebots. |
--plan-publisher |
Herausgeber-ID der Erweiterung, zu finden auf der Marketplace-Seite im Azure-Portal unter Nutzungsinformationen + Support. |
Anzeigen von Details einer Erweiterungsinstanz
Zeigen Sie Details einer aktuell installierten Erweiterungsinstanz mit k8s-extension show
an, wobei Sie Werte für die obligatorischen Parameter übergeben.
az k8s-extension show --name azureml --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters
Alle auf dem Cluster installierten Erweiterungen auflisten
Listen Sie alle auf dem Cluster installierten Erweiterungen mit k8s-extension list
an, wobei Sie Werte für die obligatorischen Parameter übergeben.
az k8s-extension list --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters
Erweiterungsinstanz aktualisieren
Hinweis
Informationen zu den spezifischen Einstellungen in --configuration-settings
und --configuration-protected-settings
, die aktualisiert werden können, finden Sie in der Dokumentation für den spezifischen Erweiterungstyp. Bei --configuration-protected-settings
wird erwartet, dass alle Einstellungen bereitgestellt werden, auch wenn nur eine Einstellung aktualisiert wird. Wenn einige Einstellungen weggelassen werden, werden diese Einstellungen als veraltet betrachtet und gelöscht.
Aktualisieren Sie eine vorhandene Erweiterungsinstanz mit k8s-extension update
, indem Sie Werte für die obligatorischen Parameter übergeben. Der folgende Befehl aktualisiert die Auto-Upgrade-Einstellung für eine Azure Machine Learning-Erweiterungsinstanz:
az k8s-extension update --name azureml --extension-type Microsoft.AzureML.Kubernetes --scope cluster --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters
Erforderliche Parameter für die Aktualisierung
Parametername | BESCHREIBUNG |
---|---|
--name |
Name der Erweiterungsinstanz |
--extension-type |
Der Typ der Erweiterung, die Sie auf dem Cluster installieren möchten. Beispiel: Microsoft.AzureML.Kubernetes |
--cluster-name |
Name des AKS-Clusters, auf dem die Erweiterungsinstanz angelegt werden soll |
--resource-group |
Die Ressourcengruppe, die den AKS-Cluster enthält |
--cluster-type |
Der Clustertyp, auf dem die Erweiterungsinstanz erstellt werden soll. Geben Sie managedClusters an, da es auf AKS-Cluster abgebildet wird |
Wenn Sie eine Kubernetes-Anwendung aktualisieren, die Sie über den Marketplace erworben haben, sind auch die folgenden Parameter erforderlich:
Parametername | BESCHREIBUNG |
---|---|
--plan-name |
Plan-ID der Erweiterung, zu finden auf der Marketplace-Seite im Azure-Portal unter Nutzungsinformationen + Support. |
--plan-product |
Produkt-ID der Erweiterung, zu finden auf der Marketplace-Seite im Azure-Portal unter Nutzungsinformationen + Support. Ein Beispiel hierfür ist der Name des verwendeten ISV-Angebots. |
--plan-publisher |
Herausgeber-ID der Erweiterung, zu finden auf der Marketplace-Seite im Azure-Portal unter Nutzungsinformationen + Support. |
Optionale Parameter für die Aktualisierung
Parametername | BESCHREIBUNG |
---|---|
--auto-upgrade-minor-version |
Boolesche Eigenschaft, die angibt, ob die Nebenversion der Erweiterung automatisch aktualisiert wird. Standardwert: true . Wenn dieser Parameter auf „true“ festgelegt ist, können Sie den version -Parameter nicht festlegen, da die Version dynamisch aktualisiert wird. Wenn der Wert false festgelegt ist, wird die Erweiterung auch für Patchversionen nicht automatisch aktualisiert. |
--version |
Version der zu installierenden Erweiterung (bestimmte Version, an die die Erweiterungsinstanz angeheftet wird). Muss nicht angegeben werden, wenn „auto-upgrade-minor-version“ auf true festgelegt ist. |
--configuration-settings |
Einstellungen, die an die Erweiterung übergeben werden können, um deren Funktionalität zu steuern. Nur die Einstellungen, die eine Aktualisierung erfordern, müssen angegeben werden. Die angegebenen Einstellungen würden durch die angegebenen Werte ersetzt werden. Übergeben Sie Werte als leerzeichengetrennte key=value -Paare nach dem Parameternamen. Wenn dieser Parameter im Befehl verwendet wird, kann --configuration-settings-file nicht im selben Befehl verwendet werden. |
--configuration-settings-file |
Der Pfad zur JSON-Datei mit Schlüsselwertpaaren, die verwendet werden sollen, um Konfigurationseinstellungen an die Erweiterung zu übergeben. Wenn dieser Parameter im Befehl verwendet wird, kann --configuration-settings nicht im selben Befehl verwendet werden. |
--configuration-protected-settings |
Diese Einstellungen können nicht mit GET -API-Aufrufen oder az k8s-extension show -Befehlen abgerufen werden, und werden daher verwendet, um sensible Einstellungen zu übergeben. Wenn Sie eine Einstellung aktualisieren, wird erwartet, dass alle Einstellungen angegeben werden. Wenn einige Einstellungen weggelassen werden, werden diese Einstellungen als veraltet betrachtet und gelöscht. Übergeben Sie Werte als leerzeichengetrennte key=value -Paare nach dem Parameternamen. Wenn dieser Parameter im Befehl verwendet wird, kann --configuration-protected-settings-file nicht im selben Befehl verwendet werden. |
--configuration-protected-settings-file |
Der Pfad zur JSON-Datei mit Schlüsselwertpaaren, die verwendet werden sollen, um sensible Einstellungen an die Erweiterung zu übergeben. Wenn dieser Parameter im Befehl verwendet wird, kann --configuration-protected-settings nicht im selben Befehl verwendet werden. |
--scope |
Umfang der Installation für die Erweiterung – cluster oder namespace |
--release-train |
Erweiterungsersteller können Versionen in unterschiedlichen Release Trains wie Stable , Preview usw. veröffentlichen. Wenn dieser Parameter nicht explizit festgelegt ist, wird Stable als Standard verwendet. Dieser Parameter kann nicht verwendet werden, wenn der autoUpgradeMinorVersion -Parameter auf false festgelegt ist. |
Löschen der Erweiterungsinstanz
Löschen Sie eine Erweiterungsinstanz auf einem Cluster mit k8s-extension-delete
, wobei Sie Werte für die obligatorischen Parameter übergeben.
az k8s-extension delete --name azureml --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters
Hinweis
Die Azure-Ressource, die diese Erweiterung darstellt, wird sofort gelöscht. Die Helm-Freigabe auf dem Cluster, die dieser Erweiterung zugeordnet ist, wird nur gelöscht, wenn die auf dem Kubernetes-Cluster ausgeführten Agents über Netzwerkkonnektivität verfügen und wieder auf Azure-Dienste zugreifen können, um den gewünschten Status abzurufen.
Nächste Schritte
- Zeigen Sie die Liste der derzeit verfügbaren Clustererweiterungen an.
- Erfahren Sie mehr über Kubernetes-Anwendungen, die über Marketplace verfügbar sind.
Azure Kubernetes Service