Share via


Clusterextensies implementeren en beheren met behulp van Azure CLI

U kunt extensie-exemplaren maken in een AKS-cluster door vereiste en optionele parameters in te stellen, 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 CLI-naslaginformatie az k8s-extension voor een uitgebreide lijst met opdrachten en de bijbehorende parameters.

Vereisten

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

  • De Microsoft.ContainerService resourceproviders 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 clusters op basis van service-principals. Voor nieuwe clusters die zijn gemaakt met az aks create, wordt de beheerde identiteit standaard geconfigureerd. Voor bestaande op service-principal gebaseerde clusters schakelt u over naar het beheren van identiteit door 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 exemplaar van de Azure Machine Learning-extensie in 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) op 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 service clusterextensies kan gevoelige informatie niet langer dan 48 uur bewaren. Als de clusteruitbreidingsagents langer dan 48 uur geen netwerkverbinding hebben en niet kunnen bepalen of er een extensie op het cluster moet worden gemaakt, wordt de extensie overgezet naar Failed de status. Failed Zodra de status is bereikt, moet u opnieuw uitvoeren 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 op het cluster wilt installeren. 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 wanneer 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 de parameter niet instellen version , omdat de versie dynamisch wordt bijgewerkt. Als dit is ingesteld op 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). Moet niet worden opgegeven als 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 spatie gescheiden key=value paren na de parameternaam. Als deze parameter wordt gebruikt in de opdracht, --configuration-settings-file kan niet worden gebruikt in dezelfde opdracht.
--configuration-settings-file Pad naar het JSON-bestand met sleutelwaardeparen die moeten worden gebruikt voor het doorgeven van configuratie-instellingen aan de extensie. Als deze parameter wordt gebruikt in de opdracht, --configuration-settings kan niet worden gebruikt in dezelfde opdracht.
--configuration-protected-settings Deze instellingen kunnen niet worden opgehaald met API-aanroepen GET of az k8s-extension show -opdrachten en worden dus gebruikt om gevoelige instellingen door te geven. Geef waarden door als spatie gescheiden key=value paren na de parameternaam. Als deze parameter wordt gebruikt in de opdracht, --configuration-protected-settings-file kan niet worden gebruikt in dezelfde opdracht.
--configuration-protected-settings-file Pad naar het JSON-bestand met sleutelwaardeparen 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 niet worden gebruikt in dezelfde opdracht.
--scope Bereik van de 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 parameter is ingesteld op cluster.
--release-train Auteurs van extensies kunnen versies in verschillende release-treinen publiceren, zoals Stable, Preview, enzovoort. Als deze parameter niet expliciet is ingesteld, Stable wordt gebruikt als standaardwaarde. Deze parameter kan niet worden gebruikt wanneer --auto-upgrade-minor-version 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 Gebruiksgegevens en ondersteuning.
--plan-product Product-id van de extensie, te vinden op de marketplace-pagina in de Azure Portal onder Gebruiksgegevens en ondersteuning. Een voorbeeld hiervan is de naam van de GEBRUIKTE ISV-aanbieding.
--plan-publisher Uitgever-id van de extensie, te vinden op de marketplace-pagina in de Azure Portal onder Gebruiksgegevens en ondersteuning.

Details van een extensie-exemplaar weergeven

Als u details van een momenteel geïnstalleerde extensie-instantie wilt weergeven, gebruikt k8s-extension showu , waarbij u waarden doorgeeft voor de verplichte parameters.

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

Alle extensies weergeven die op het cluster zijn geïnstalleerd

Als u alle extensies wilt weergeven die op een cluster zijn geïnstalleerd, gebruikt k8s-extension listu , waarbij u waarden doorgeeft 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 voor meer informatie over de specifieke instellingen in --configuration-settings en --configuration-protected-settings die kunnen worden bijgewerkt. Voor --configuration-protected-settingswordt verwacht dat alle instellingen worden opgegeven, zelfs als er slechts één instelling wordt bijgewerkt. Als een van deze instellingen wordt weggelaten, worden deze instellingen beschouwd als verouderd en verwijderd.

Als u een bestaand extensie-exemplaar wilt bijwerken, gebruikt k8s-extension updateu , waarbij u waarden doorgeeft voor de verplichte parameters. Met de volgende opdracht wordt de instelling voor automatisch upgraden voor een Exemplaar van de Azure Machine Learning-extensie bijgewerkt:

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 op het cluster wilt installeren. 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 wanneer deze wordt toegewezen aan AKS-clusters

Als u een Kubernetes-toepassing bijwerkt die is aangeschaft via Marketplace, 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 Gebruiksgegevens en ondersteuning.
--plan-product Product-id van de extensie, te vinden op de marketplace-pagina in de Azure Portal onder Gebruiksgegevens en ondersteuning. Een voorbeeld hiervan is de naam van de GEBRUIKTE ISV-aanbieding.
--plan-publisher Uitgever-id van de extensie, te vinden op de marketplace-pagina in de 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 de parameter niet instellen version , omdat de versie dynamisch wordt bijgewerkt. Als dit is ingesteld op 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). Moet niet worden opgegeven als 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 spatie gescheiden key=value paren na de parameternaam. Als deze parameter wordt gebruikt in de opdracht, --configuration-settings-file kan niet worden gebruikt in dezelfde opdracht.
--configuration-settings-file Pad naar het JSON-bestand met sleutelwaardeparen die moeten worden gebruikt voor het doorgeven van configuratie-instellingen aan de extensie. Als deze parameter wordt gebruikt in de opdracht, --configuration-settings kan niet worden gebruikt in dezelfde opdracht.
--configuration-protected-settings Deze instellingen kunnen niet worden opgehaald met API-aanroepen GET 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 en verwijderd beschouwd. Geef waarden door als spatie gescheiden key=value paren na de parameternaam. Als deze parameter wordt gebruikt in de opdracht, --configuration-protected-settings-file kan niet worden gebruikt in dezelfde opdracht.
--configuration-protected-settings-file Pad naar het JSON-bestand met sleutelwaardeparen 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 niet worden gebruikt in dezelfde opdracht.
--scope Bereik van de installatie voor de extensie - cluster of namespace
--release-train Auteurs van extensies kunnen versies in verschillende release-treinen publiceren, zoals Stable, Preview, enzovoort. Als deze parameter niet expliciet is ingesteld, Stable wordt gebruikt als standaardwaarde. Deze parameter kan niet worden gebruikt wanneer autoUpgradeMinorVersion parameter is ingesteld op false.

Extensie-exemplaar verwijderen

Als u een extensie-exemplaar in een cluster wilt verwijderen, gebruikt k8s-extension-deleteu , waarbij u waarden doorgeeft 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 worden uitgevoerd op het Kubernetes-cluster een netwerkverbinding hebben en opnieuw contact kunnen opnemen met Azure-services om de gewenste status op te halen.

Volgende stappen