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
- Een Azure-abonnement. Als u geen Azure-abonnement hebt, kunt u een gratis account maken.
- Versie van Azure CLI >= 2.16.0 geïnstalleerd.
Provider registreren voor clusterextensies
Voer de volgende opdrachten in:
az provider register --namespace Microsoft.KubernetesConfiguration az provider register --namespace Microsoft.ContainerServiceControleer het registratieproces. De registratie kan maximaal 10 minuten duren.
az provider show -n Microsoft.KubernetesConfiguration -o table az provider show -n Microsoft.ContainerService -o tableNa de registratie ziet u dat de
RegistrationStatestatus voor deze naamruimten wordt gewijzigd inRegistered.
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