Clusterextensies implementeren en beheren met behulp van Azure CLI

U kunt extensie-exemplaren maken in een AKS-cluster, vereiste en optionele parameters instellen, waaronder opties met betrekking tot updates en configuraties. U kunt ook extensie-instanties bekijken, in een lijst weergeven, bijwerken en verwijderen.

Lees voordat u begint over clusterextensies.

Opmerking

De voorbeelden in dit artikel zijn niet volledig en zijn alleen bedoeld om de functionaliteit te laten zien. Zie de CLI-referentie voor az k8s-extension voor een uitgebreide lijst met opdrachten en hun parameters.

Prerequisites

  • Een Azure-abonnement. Als u geen Azure-abonnement hebt, kunt u een gratis account maken.

  • De resourceproviders Microsoft.ContainerService en Microsoft.KubernetesConfiguration moeten zijn geregistreerd in uw abonnement. Voer de volgende opdracht uit om deze providers te registreren:

    az provider register --namespace Microsoft.ContainerService --wait 
    az provider register --namespace Microsoft.KubernetesConfiguration --wait 
    
  • Een AKS-cluster. Dit cluster moet zijn gemaakt met een beheerde identiteit, omdat clusterextensies niet werken met op service-principal gebaseerde clusters. Voor nieuwe clusters die zijn gemaakt met az aks create, wordt beheerde identiteit standaard geconfigureerd. Voor bestaande clusters die op een service-principal zijn gebaseerd, schakelt u over naar beheerde identiteit door az aks update uit te voeren met de vlag --enable-managed-identity. Zie Beheerde identiteit gebruiken voor meer informatie.

  • Azure CLI versie >= 2.16.0 geïnstalleerd. We raden u aan de nieuwste versie te gebruiken.

  • De nieuwste versie van de extensies k8s-extension Azure CLI. Installeer de extensie door de volgende opdracht uit te voeren:

    az extension add --name k8s-extension
    

    Als de extensie al is geïnstalleerd, controleert u of u de nieuwste versie uitvoert met behulp van de volgende opdracht:

    az extension update --name k8s-extension
    

Extensie-exemplaar maken

Maak een nieuw extensie-exemplaar met k8s-extension create, waarbij waarden worden doorgegeven voor de verplichte parameters. Met deze voorbeeldopdracht maakt u een Azure Machine Learning extensie-exemplaar op uw 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

Met deze voorbeeldopdracht maakt u een Kubernetes-voorbeeldtoepassing (gepubliceerd op Marketplace) in uw AKS-cluster:

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

Opmerking

De Cluster Extensions-service kan gedurende meer dan 48 uur geen gevoelige informatie bewaren. Als de clusteruitbreidingsagents langer dan 48 uur geen netwerkverbinding hebben en niet kunnen bepalen of er een extensie in het cluster moet worden gemaakt, gaat de extensie over naar Failed de status. Zodra u zich in de status Failed bevindt, moet u k8s-extension create opnieuw uitvoeren om een nieuwe extensie-instantie te maken.

Vereiste parameters

Parameternaam Beschrijving
--name Naam van het extensie-exemplaar
--extension-type Het type extensie dat u wilt installeren op het cluster. Bijvoorbeeld: Microsoft.AzureML.Kubernetes
--cluster-name Naam van het AKS-cluster waarop het extensie-exemplaar moet worden gemaakt
--resource-group De resourcegroep die het AKS-cluster bevat
--cluster-type Het clustertype waarop het extensie-exemplaar moet worden gemaakt. Geef managedClusters op als deze is toegewezen aan AKS-clusters

Optionele parameters

Parameternaam Beschrijving
--auto-upgrade-minor-version Booleaanse eigenschap die aangeeft of de secundaire extensieversie automatisch wordt bijgewerkt of niet. Standaard: true. Als deze parameter is ingesteld op true, kunt u geen parameter instellen version , omdat de versie dynamisch wordt bijgewerkt. Als deze optie is ingesteld false, wordt de extensie niet automatisch bijgewerkt, zelfs niet voor patchversies.
--version Versie van de extensie die moet worden geïnstalleerd (specifieke versie waaraan het extensie-exemplaar moet worden vastgemaakt). Mag niet worden opgegeven als de optie auto-upgrade-minor-version is ingesteld op true.
--configuration-settings Instellingen die kunnen worden doorgegeven aan de extensie om de functionaliteit ervan te beheren. Geef waarden door als door spatie gescheiden key=value paren na de parameternaam. Als deze parameter wordt gebruikt in de opdracht, --configuration-settings-file kan deze niet worden gebruikt in dezelfde opdracht.
--configuration-settings-file Pad naar het JSON-bestand met sleutel-waardeparen die moeten worden gebruikt voor het doorgeven van configuratie-instellingen aan de extensie. Als deze parameter wordt gebruikt in de opdracht, --configuration-settings kan deze niet worden gebruikt in dezelfde opdracht.
--configuration-protected-settings Deze instellingen kunnen niet worden opgehaald met BEHULP van GET API-aanroepen of az k8s-extension show opdrachten en worden dus gebruikt om gevoelige instellingen door te geven. Geef waarden door als door spatie gescheiden key=value paren na de parameternaam. Als deze parameter wordt gebruikt in de opdracht, --configuration-protected-settings-file kan deze niet worden gebruikt in dezelfde opdracht.
--configuration-protected-settings-file Pad naar het JSON-bestand met sleutel-waardeparen die moeten worden gebruikt voor het doorgeven van gevoelige instellingen aan de extensie. Als deze parameter wordt gebruikt in de opdracht, --configuration-protected-settings kan deze niet worden gebruikt in dezelfde opdracht.
--scope Bereik van installatie voor de extensie - cluster of namespace
--release-namespace Deze parameter geeft de naamruimte aan waarin de release moet worden gemaakt. Deze parameter is alleen relevant als scope de parameter is ingesteld op cluster.
--release-train Auteurs van extensies kunnen versies publiceren in verschillende releasetreinen, zoals Stable, Previewenzovoort. Als deze parameter niet expliciet is ingesteld, Stable wordt deze als standaard gebruikt. Deze parameter kan niet worden gebruikt wanneer --auto-upgrade-minor-version de parameter is ingesteld op false.
--target-namespace Deze parameter geeft de naamruimte aan waarin de release wordt gemaakt. De machtiging van het systeemaccount dat voor dit extensie-exemplaar is gemaakt, is beperkt tot deze naamruimte. Deze parameter is alleen relevant als de scope parameter is ingesteld op namespace.
--plan-name Plan-id van de extensie, te vinden op de Marketplace-pagina in de Azure-portal onder Gegevens en ondersteuning.
--plan-product Product-id van de extensie, te vinden op de Marketplace-pagina in de Azure-portal onder Gegevens en ondersteuning. Een voorbeeld hiervan is de naam van het gebruikte ISV-aanbod.
--plan-publisher Publisher-id van de extensie, te vinden op de Marketplace-pagina in de Azure-portal onder Gegevens en ondersteuning.

Details van een extensie-exemplaar weergeven

Als u details van een momenteel geïnstalleerd extensie-exemplaar wilt bekijken, gebruikt u k8s-extension show, waarbij u waarden opgeeft voor de verplichte parameters.

az k8s-extension show --name azureml --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters

Lijst weergeven van alle extensies die op het cluster zijn geïnstalleerd

Als u alle extensies wilt weergeven die op een cluster zijn geïnstalleerd, gebruikt k8s-extension listu waarden door te geven voor de verplichte parameters.

az k8s-extension list --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters

Extensie-exemplaar bijwerken

Opmerking

Raadpleeg de documentatie voor het specifieke extensietype om inzicht te krijgen in de specifieke instellingen in --configuration-settings en --configuration-protected-settings die kunnen worden bijgewerkt. Alle --configuration-protected-settingsinstellingen worden naar verwachting opgegeven, zelfs als er slechts één instelling wordt bijgewerkt. Als een van deze instellingen wordt weggelaten, worden deze instellingen als verouderd beschouwd en verwijderd.

Als u een bestaande extensie-instantie wilt bijwerken, gebruikt u k8s-extension update, waarbij u waarden opgeeft voor de verplichte parameters. Met de volgende opdracht wordt de instelling voor automatische upgrade bijgewerkt voor een Azure Machine Learning-extensie-exemplaar:

az k8s-extension update --name azureml --extension-type Microsoft.AzureML.Kubernetes --scope cluster --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters

Vereiste parameters voor het bijwerken

Parameternaam Beschrijving
--name Naam van het extensie-exemplaar
--extension-type Het type extensie dat u wilt installeren op het cluster. Bijvoorbeeld: Microsoft. AzureML.Kubernetes
--cluster-name Naam van het AKS-cluster waarop het extensie-exemplaar moet worden gemaakt
--resource-group De resourcegroep die het AKS-cluster bevat
--cluster-type Het clustertype waarop het extensie-exemplaar moet worden gemaakt. Geef managedClusters op als deze is toegewezen aan AKS-clusters

Als u een Kubernetes-toepassing bijwerkt die via Marketplace is aangeschaft, zijn ook de volgende parameters vereist:

Parameternaam Beschrijving
--plan-name Plan-id van de extensie, te vinden op de Marketplace-pagina in de Azure-portal onder Gegevens en ondersteuning.
--plan-product Product-id van de extensie, te vinden op de Marketplace-pagina in de Azure-portal onder Gegevens en ondersteuning. Een voorbeeld hiervan is de naam van het gebruikte ISV-aanbod.
--plan-publisher Publisher-id van de extensie, te vinden op de Marketplace-pagina in de Azure-portal onder Gegevens en ondersteuning.

Optionele parameters voor het bijwerken

Parameternaam Beschrijving
--auto-upgrade-minor-version Booleaanse eigenschap die aangeeft of de secundaire extensieversie automatisch wordt bijgewerkt of niet. Standaard: true. Als deze parameter is ingesteld op true, kunt u geen parameter instellen version , omdat de versie dynamisch wordt bijgewerkt. Als deze optie is ingesteld false, wordt de extensie niet automatisch bijgewerkt, zelfs niet voor patchversies.
--version Versie van de extensie die moet worden geïnstalleerd (specifieke versie waaraan het extensie-exemplaar moet worden vastgemaakt). Mag niet worden opgegeven als de optie auto-upgrade-minor-version is ingesteld op true.
--configuration-settings Instellingen die kunnen worden doorgegeven aan de extensie om de functionaliteit ervan te beheren. Alleen de instellingen waarvoor een update is vereist, moeten worden opgegeven. De opgegeven instellingen worden vervangen door de opgegeven waarden. Geef waarden door als door spatie gescheiden key=value paren na de parameternaam. Als deze parameter wordt gebruikt in de opdracht, --configuration-settings-file kan deze niet worden gebruikt in dezelfde opdracht.
--configuration-settings-file Pad naar het JSON-bestand met sleutel-waardeparen die moeten worden gebruikt voor het doorgeven van configuratie-instellingen aan de extensie. Als deze parameter wordt gebruikt in de opdracht, --configuration-settings kan deze niet worden gebruikt in dezelfde opdracht.
--configuration-protected-settings Deze instellingen kunnen niet worden opgehaald met BEHULP van GET API-aanroepen of az k8s-extension show opdrachten en worden dus gebruikt om gevoelige instellingen door te geven. Wanneer u een instelling bijwerkt, worden alle instellingen naar verwachting opgegeven. Als sommige instellingen worden weggelaten, worden deze instellingen als verouderd beschouwd en verwijderd. Geef waarden door als door spatie gescheiden key=value paren na de parameternaam. Als deze parameter wordt gebruikt in de opdracht, --configuration-protected-settings-file kan deze niet worden gebruikt in dezelfde opdracht.
--configuration-protected-settings-file Pad naar het JSON-bestand met sleutel-waardeparen die moeten worden gebruikt voor het doorgeven van gevoelige instellingen aan de extensie. Als deze parameter wordt gebruikt in de opdracht, --configuration-protected-settings kan deze niet worden gebruikt in dezelfde opdracht.
--scope Bereik van installatie voor de extensie - cluster of namespace
--release-train Auteurs van extensies kunnen versies publiceren in verschillende releasetreinen, zoals Stable, Previewenzovoort. Als deze parameter niet expliciet is ingesteld, Stable wordt deze als standaard gebruikt. Deze parameter kan niet worden gebruikt wanneer autoUpgradeMinorVersion de parameter is ingesteld op false.

Extensie-exemplaar verwijderen

Als u een exemplaar van een extensie op een cluster wilt verwijderen, gebruikt u k8s-extension-delete, waarbij u waarden opgeeft voor de verplichte parameters.

az k8s-extension delete --name azureml --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters

Opmerking

De Azure resource die deze extensie vertegenwoordigt, wordt onmiddellijk verwijderd. De Helm-release op het cluster dat aan deze extensie gekoppeld is, wordt alleen verwijderd wanneer de agents die op het Kubernetes-cluster draaien, weer netwerkverbinding hebben en verbinding kunnen maken met Azure-services om de gewenste toestand op te halen.

Volgende stappen