Delen via


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-exemplaren weergeven, weergeven, bijwerken en verwijderen.

Lees voordat u begint over clusterextensies.

Notitie

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

Vereisten

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

  • De Microsoft.ContainerService en Microsoft.KubernetesConfiguration resourceproviders moeten zijn geregistreerd bij 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 op service-principal gebaseerde clusters schakelt u over naar het beheren van identiteiten door deze uit te voeren az aks update met de --enable-managed-identity vlag. Zie Beheerde identiteit gebruiken voor meer informatie.

  • Azure CLI-versie >= 2.16.0 geïnstalleerd. U wordt aangeraden de nieuwste versie te gebruiken.

  • De nieuwste versie van de k8s-extension Azure CLI-extensies. 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

Notitie

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. Eenmaal in Failed de status moet u opnieuw worden uitgevoerd k8s-extension create om een nieuw extensie-exemplaar 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 met het AKS-cluster
--cluster-type Het clustertype waarop het extensie-exemplaar moet worden gemaakt. Opgeven managedClusters als deze wordt 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 auto-upgrade-secundaire versie 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 Azure Portal onder Gebruiksgegevens en ondersteuning.
--plan-product Product-id van de extensie, te vinden op de Marketplace-pagina in Azure Portal onder Gebruiksgegevens en ondersteuning. Een voorbeeld hiervan is de naam van het gebruikte ISV-aanbod.
--plan-publisher Uitgever-id van de extensie, te vinden op de Marketplace-pagina in Azure Portal onder Gebruiksgegevens en ondersteuning.

Details van een extensie-exemplaar weergeven

Als u details van een momenteel geïnstalleerde extensie-exemplaar wilt weergeven, gebruikt k8s-extension showu waarden door te geven 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

Notitie

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 bestaand extensie-exemplaar wilt bijwerken, gebruikt k8s-extension updateu waarden door te geven 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 update

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 met het AKS-cluster
--cluster-type Het clustertype waarop het extensie-exemplaar moet worden gemaakt. Opgeven managedClusters als deze wordt 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 Azure Portal onder Gebruiksgegevens en ondersteuning.
--plan-product Product-id van de extensie, te vinden op de Marketplace-pagina in Azure Portal onder Gebruiksgegevens en ondersteuning. Een voorbeeld hiervan is de naam van het gebruikte ISV-aanbod.
--plan-publisher Uitgever-id van de extensie, te vinden op de Marketplace-pagina in Azure Portal onder Gebruiksgegevens en ondersteuning.

Optionele parameters voor update

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 auto-upgrade-secundaire versie 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 extensie-exemplaar in een cluster wilt verwijderen, gebruikt k8s-extension-deleteu waarden door te geven voor de verplichte parameters.

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

Notitie

De Azure-resource die deze extensie vertegenwoordigt, wordt onmiddellijk verwijderd. De Helm-release op het cluster dat aan deze extensie is gekoppeld, wordt alleen verwijderd wanneer de agents die op het Kubernetes-cluster worden uitgevoerd, netwerkconnectiviteit hebben en contact kunnen opnemen met Azure-services om de gewenste status op te halen.

Volgende stappen