Connecter un cluster Azure Kubernetes Service à Azure Arc
S’applique à : AKS sur Azure Stack HCI 22H2, AKS sur Windows Server
Lorsqu’un cluster Azure Kubernetes Service (AKS) est attaché à Azure Arc, il obtient une représentation Azure Resource Manager. Les clusters sont attachés à des abonnements Azure standard, sont situés dans un groupe de ressources et peuvent recevoir des étiquettes comme n’importe quelle autre ressource Azure. La représentation Kubernetes vous permet également d’étendre les fonctionnalités suivantes à votre cluster Kubernetes :
- Services de gestion : configurations (GitOps), Azure Monitor pour conteneurs, Azure Policy (Gatekeeper).
- Services de données : SQL Managed Instance, PostgreSQL Hyperscale.
- Services d’application : App Service, Functions, Event Grid, Logic Apps, Gestion des API.
Pour connecter un cluster Kubernetes à Azure, l’administrateur du cluster doit déployer des agents. Ces agents s’exécutent dans un espace de noms Kubernetes nommé azure-arc et sont des déploiements Kubernetes standard. Les agents sont responsables de la connectivité à Azure, de la collecte des journaux et des métriques Azure Arc et de l’activation des scénarios mentionnés précédemment sur le cluster.
AKS prend en charge SSL standard pour sécuriser les données en transit. Par ailleurs, les données sont chiffrées au repos dans une base de données Azure Cosmos DB pour garantir leur confidentialité.
Les étapes suivantes décrivent comment connecter des clusters AKS à Azure Arc dans AKS activé par Arc. Vous pouvez ignorer ces étapes si vous avez déjà connecté votre cluster Kubernetes à Azure Arc à l’aide de Windows Admin Center.
Avant de commencer
Vérifiez que vous disposez des prérequis suivants :
- Un cluster AKS avec au moins un nœud Worker Linux opérationnel.
- Installez le module PowerShell AksHci.
- Niveau d’accès suivant sur votre abonnement Azure :
- Un compte d’utilisateur avec le rôle Propriétaire intégré. Vous pouvez vérifier votre niveau d’accès en accédant à votre abonnement, en sélectionnant « Contrôle d’accès (IAM) » sur le côté gauche du Portail Azure, puis en cliquant sur Afficher mon accès.
- Principal de service avec le rôle Propriétaire intégré.
- Exécutez les commandes de cet article dans une fenêtre d’administration PowerShell.
- Vérifiez que vous répondez aux exigences réseau d’AKS.
Étape 1 : Se connecter à Azure
Pour vous connecter à Azure, exécutez la commande PowerShell Connect-AzAccount :
Connect-AzAccount $tenantId
Si vous souhaitez basculer vers un autre abonnement, exécutez la commande PowerShell Set-AzContext :
Set-AzContext -Subscription $subscriptionId
Étape 2 : Inscrire les deux fournisseurs pour AKS
Vous pouvez ignorer cette étape si vous avez déjà inscrit les deux fournisseurs pour AKS sur votre abonnement. L’inscription est un processus asynchrone qui doit être effectuée une fois par abonnement. L’inscription peut prendre environ 10 minutes :
Register-AzResourceProvider -ProviderNamespace Microsoft.Kubernetes
Register-AzResourceProvider -ProviderNamespace Microsoft.KubernetesConfiguration
Register-AzResourceProvider -ProviderNamespace Microsoft.ExtendedLocation
Vous pouvez vérifier que vous êtes inscrit avec les commandes suivantes :
Get-AzResourceProvider -ProviderNamespace Microsoft.Kubernetes
Get-AzResourceProvider -ProviderNamespace Microsoft.KubernetesConfiguration
Get-AzResourceProvider -ProviderNamespace Microsoft.ExtendedLocation
Étape 3 : Se connecter à Azure Arc à l’aide du module PowerShell Aks-Hci
Connectez votre cluster AKS à Kubernetes à l’aide de la commande PowerShell Enable-AksHciArcConnection . Cette étape déploie les agents Azure Arc pour Kubernetes dans l’espace azure-arc
de noms :
Enable-AksHciArcConnection -name $clusterName
Connexion de votre cluster AKS à Azure Arc à l’aide d’un principal de service
Si vous n’avez pas accès à un abonnement sur lequel vous êtes propriétaire, vous pouvez connecter votre cluster AKS à Azure Arc à l’aide d’un principal de service.
La première commande vous invite à entrer vos informations d’identification et les stocke sous la forme de variable $Credential
. Lorsque vous y êtes invité, entrez votre ID d’application pour le nom d’utilisateur, puis utilisez le secret du principal de service comme mot de passe. Veillez à obtenir ces valeurs auprès de votre administrateur d’abonnement. La deuxième commande connecte votre cluster à Azure Arc à l’aide des informations d’identification du principal de service stockées dans la $Credential
variable :
$Credential = Get-Credential
Enable-AksHciArcConnection -name $clusterName -subscriptionId $subscriptionId -resourceGroup $resourceGroup -credential $Credential -tenantId $tenantId -location $location
Vérifiez que le principal de service utilisé dans cette commande a le rôle Propriétaire qui lui est attribué et qu’il a une étendue sur l’ID d’abonnement utilisé dans la commande. Pour plus d’informations sur les principaux de service, consultez Créer un principal de service avec Azure PowerShell.
Connecter votre cluster AKS à Azure Arc et activer des emplacements personnalisés
Si vous souhaitez activer des emplacements personnalisés sur votre cluster avec Azure Arc, exécutez la commande suivante pour obtenir l’ID d’objet de l’application d’emplacement personnalisé, puis connectez-vous à Azure Arc à l’aide d’un principal de service :
$objectID = (Get-AzADServicePrincipal -ApplicationId "00001111-aaaa-2222-bbbb-3333cccc4444").Id
Enable-AksHciArcConnection -name $clusterName -subscriptionId $subscriptionId -resourceGroup $resourceGroup -credential $Credential -tenantId $tenantId -location -customLocationsOid $objectID
Vérifier le cluster connecté
Vous pouvez voir votre ressource de cluster Kubernetes sur le Portail Azure. Une fois que vous avez ouvert le portail dans votre navigateur, accédez au groupe de ressources et à la ressource AKS basée sur les entrées de nom de ressource et de groupe de ressources utilisées dans la commande PowerShell enable-akshciarcconnection .
Remarque
Une fois que vous avez connecté le cluster, il peut prendre un maximum de cinq à dix minutes pour que les métadonnées du cluster (version du cluster, version de l’agent, nombre de nœuds) s’affichent sur la page vue d’ensemble de la ressource AKS dans le Portail Azure.
Agents Azure Arc pour Kubernetes
AKS déploie quelques opérateurs dans l’espace azure-arc
de noms. Vous pouvez afficher ces déploiements et pods avec kubectl
, comme illustré dans l’exemple suivant :
kubectl -n azure-arc get deployments,pods
AKS se compose de quelques agents (opérateurs) qui s’exécutent dans votre cluster déployé sur l’espace azure-arc
de noms. Pour plus d’informations sur ces agents, consultez cette vue d’ensemble.
Déconnecter votre cluster AKS d’Azure Arc
Si vous souhaitez déconnecter votre cluster d’AKS, exécutez la commande PowerShell Disable-AksHciArcConnection . Veillez à vous connecter à Azure avant d’exécuter la commande :
Disable-AksHciArcConnection -Name $clusterName