Clusterextensies implementeren en beheren voor Azure Kubernetes Service (AKS) (preview)

Clusterextensies bieden Azure Resource Manager voor installatie en levenscyclusbeheer van services zoals Azure Machine Learning (ML) op een AKS-cluster. Met deze functie kunt u het volgende doen:

  • Azure Resource Manager implementatie van extensies, waaronder implementaties op schaal in AKS-clusters.
  • Levenscyclusbeheer van de extensie (Update, Delete) vanuit Azure Resource Manager.

In dit artikel leert u het volgende:

  • Een extensie-exemplaar maken.
  • Beschikbare clusterextensies in AKS.
  • Extensie-exemplaren weergeven, weergeven, bijwerken en verwijderen.

Een conceptueel overzicht van deze functie is beschikbaar in het artikel Clusterextensies Azure Arc Kubernetes met ingeschakelde functionaliteit.

Belangrijk

Preview-functies van AKS zijn beschikbaar via selfservice en opt-in. Previews worden aangeboden 'as is' en 'as available', en ze worden uitgesloten van de serviceovereenkomsten en beperkte garantie. AKS-previews worden gedeeltelijk gedekt door klantondersteuning op basis van best effort. Daarom zijn deze functies niet bedoeld voor productiegebruik. Zie de volgende ondersteuningsartikelen voor meer informatie:

Vereisten

Provider registreren voor clusterextensies

  1. Voer de volgende opdrachten in:

    az provider register --namespace Microsoft.KubernetesConfiguration
    az provider register --namespace Microsoft.ContainerService
    
  2. Controleer het registratieproces. De registratie kan maximaal 10 minuten duren.

    az provider show -n Microsoft.KubernetesConfiguration -o table
    az provider show -n Microsoft.ContainerService -o table
    

    Na de registratie ziet u dat de RegistrationState status voor deze naamruimten wordt gewijzigd in Registered .

De AKS-ExtensionManager preview-functies registreren

Als u een AKS-cluster wilt maken dat clusterextensies kan gebruiken, moet u de AKS-ExtensionManager functievlag inschakelen voor uw abonnement.

Registreer de AKS-ExtensionManager functievlag met behulp van de opdracht az feature register, zoals wordt weergegeven in het volgende voorbeeld:

az feature register --namespace "Microsoft.ContainerService" --name "AKS-ExtensionManager"

Het duurt enkele minuten voordat de status Geregistreerd we weergeven. Controleer de registratiestatus met behulp van de opdracht az feature list:

az feature list -o table --query "[?contains(name, 'Microsoft.ContainerService/AKS-ExtensionManager')].{Name:name,State:properties.state}"

Wanneer u klaar bent, vernieuwt u de registratie van de resourceproviders Microsoft.KubernetesConfiguration en Microsoft.ContainerService met behulp van de opdracht az provider register:

az provider register --namespace Microsoft.KubernetesConfiguration
az provider register --namespace Microsoft.ContainerService

De Azure CLI-extensie voor clusterextensies instellen

Notitie

De minimaal ondersteunde versie voor de k8s-extension Azure CLI-extensie is 1.0.0 . Als u niet zeker weet welke versie u hebt geïnstalleerd, voer dan az extension show --name k8s-extension uit en zoek het version veld.

U hebt ook de k8s-extension Azure CLI-extensie nodig. Installeer deze door de volgende opdrachten uit te voeren:

az extension add --name k8s-extension

Als de k8s-extension extensie al is geïnstalleerd, kunt u deze bijwerken naar de nieuwste versie met behulp van de volgende opdracht:

az extension update --name k8s-extension

Momenteel beschikbare extensies

Notitie

Clusterextensies bieden een platform voor het installeren en beheren van verschillende extensies op een AKS-cluster. Als u problemen hebt tijdens het gebruik van een van deze extensies, opent u een ondersteuningsticket bij de betreffende service.

Extensie Description
Dapr Dapr is een draagbare, gebeurtenisgestuurde runtime die het voor elke ontwikkelaar eenvoudig maakt om robuuste, stateless en stateful toepassingen te bouwen die worden uitgevoerd in de cloud en edge.
Azure ML Gebruik Azure Kubernetes Service voor het trainen, afleiden en beheren van machine learning modellen in Azure Machine Learning.

Ondersteunde regio's en Kubernetes-versies

Clusterextensies kunnen worden gebruikt op AKS-clusters in de regio's die worden vermeld in Azure Arc ondersteuning voor kubernetes-regio's.

Raadpleeg de bijbehorende documentatie voor elke extensie voor ondersteunde Kubernetes-versies.

Gebruik van clusterextensies

Notitie

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

Exemplaar van extensies maken

Maak een nieuw extensie-exemplaar met k8s-extension create , en door waarden voor de verplichte parameters door te geven. Met de onderstaande opdracht maakt u een Azure Machine Learning-extensie-exemplaar op uw AKS-cluster:

az k8s-extension create --name aml-compute --extension-type Microsoft.AzureML.Kubernetes --scope cluster --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters --configuration-settings enableInference=True allowInsecureConnections=True

Notitie

De service Clusterextensies kan gevoelige informatie niet langer dan 48 uur bewaren. Als de agents van de clusterextensie langer dan 48 uur geen netwerkverbinding hebben en niet kunnen bepalen of er een extensie op het cluster moet worden gemaakt, wordt de extensie over in Failed de status . Als de Failed status is, moet u opnieuw uitvoeren k8s-extension create om een nieuwe extensie-instantie 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 is toe te staan aan AKS-clusters

Optionele parameters

Parameternaam Beschrijving
--auto-upgrade-minor-version Booleaanse eigenschap die aangeeft of de secundaire versie van de extensie automatisch wordt bijgewerkt of niet. Standaard: true. Als deze parameter is ingesteld op true, kunt u de parameter niet instellen, omdat de versie version dynamisch wordt bijgewerkt. Als deze is ingesteld false op , wordt de extensie niet automatisch bijgewerkt, zelfs niet voor patchversies.
--version Versie van de extensie die moet worden geïnstalleerd (specifieke versie om het extensie-exemplaar aan vast te maken). Mag 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 bepalen. Ze moeten worden doorgegeven als spaties gescheiden key=value paren na de parameternaam. Als deze parameter wordt gebruikt in de opdracht, kan --configuration-settings-file 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, kan --configuration-settings niet worden gebruikt in dezelfde opdracht.
--configuration-protected-settings Deze instellingen kunnen niet worden opgehaald met behulp van GET API-aanroepen of -opdrachten en worden dus az k8s-extension show gebruikt om gevoelige instellingen door te geven. Ze moeten worden doorgegeven als spaties gescheiden key=value paren na de parameternaam. Als deze parameter wordt gebruikt in de opdracht, kan --configuration-protected-settings-file 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, kan --configuration-protected-settings 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 de parameter is ingesteld op cluster .
--release-train Auteurs van extensies kunnen versies publiceren in verschillende release-trainers, Stable zoals Preview , , enzovoort. Als deze parameter niet expliciet is ingesteld, Stable wordt standaard gebruikt. Deze parameter kan niet worden gebruikt wanneer autoUpgradeMinorVersion 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, wordt beperkt tot deze naamruimte. Deze parameter is alleen relevant als scope de parameter is ingesteld op namespace .

Details van een extensie-exemplaar tonen

Bekijk details van een momenteel geïnstalleerd extensie-exemplaar met k8s-extension show , en door te geven van waarden voor de verplichte parameters:

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

Alle extensies die op het cluster zijn geïnstalleerd, opsommen

Vermeld alle extensies die zijn geïnstalleerd op een cluster met k8s-extension list , en door te geven aan waarden voor de verplichte parameters.

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

Extensie-exemplaar bijwerken

Notitie

Raadpleeg de documentatie van het extensietype (bijvoorbeeld Azure ML) voor meer informatie over de specifieke instellingen onder ConfigurationSetting en ConfigurationProtectedSettings die mogen worden bijgewerkt. Voor ConfigurationProtectedSettings worden alle instellingen naar verwachting opgegeven tijdens een update van één instelling. Als sommige instellingen worden weggelaten, worden deze instellingen beschouwd als verouderd en verwijderd.

Werk een bestaand extensie-exemplaar bij met , en door te geven k8s-extension update aan waarden voor de verplichte parameters. Met de onderstaande opdracht wordt de instelling voor automatische upgrade voor een 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

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 wanneer deze is toe te staan aan AKS-clusters

Optionele parameters

Parameternaam Beschrijving
--auto-upgrade-minor-version Booleaanse eigenschap die aangeeft of de secundaire versie van de extensie automatisch wordt bijgewerkt of niet. Standaard: true. Als deze parameter is ingesteld op true, kunt u version parameter niet instellen, omdat de versie dynamisch wordt bijgewerkt. Als deze is ingesteld false op , wordt de extensie niet automatisch bijgewerkt, zelfs niet voor patchversies.
--version Versie van de extensie die moet worden geïnstalleerd (specifieke versie om het extensie-exemplaar aan vast te maken). Mag 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 bepalen. Alleen de instellingen waarvoor een update is vereist, hoeven te worden opgegeven. De opgegeven instellingen worden vervangen door de opgegeven waarden. Ze moeten worden doorgegeven als spatie gescheiden key=value paren na de parameternaam. Als deze parameter wordt gebruikt in de opdracht, kan --configuration-settings-file 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, kan --configuration-settings niet worden gebruikt in dezelfde opdracht.
--configuration-protected-settings Deze instellingen kunnen niet worden opgehaald met behulp van API-aanroepen of -opdrachten en worden dus GET gebruikt om gevoelige instellingen door te az k8s-extension show geven. Bij het bijwerken van een instelling wordt verwacht dat alle instellingen worden opgegeven. Als sommige instellingen worden weggelaten, worden deze instellingen beschouwd als verouderd en verwijderd. Ze moeten worden doorgegeven als spatie gescheiden key=value paren na de parameternaam. Als deze parameter wordt gebruikt in de opdracht, kan --configuration-protected-settings-file 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, kan --configuration-protected-settings niet worden gebruikt in dezelfde opdracht.
--scope Bereik van de installatie voor de extensie cluster - of namespace
--release-train Auteurs van extensies kunnen versies publiceren in verschillende release-trains, Stable zoals Preview , , enzovoort. Als deze parameter niet expliciet is ingesteld, Stable wordt standaard gebruikt. Deze parameter kan niet worden gebruikt wanneer autoUpgradeMinorVersion de parameter is ingesteld op false .

Extensie-exemplaar verwijderen

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 maken met Azure-services om de gewenste status op te halen.

Verwijder een extensie-exemplaar in een cluster met , en door te geven k8s-extension delete aan waarden voor de verplichte parameters.

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