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 les 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 de 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 :

  • 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 case activée 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.
    • Un 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 avez satisfait 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 si 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 des agents Azure Arc pour Kubernetes dans l’espace de azure-arc 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. Entrez votre ID d’application comme nom d’utilisateur, puis utilisez le secret du principal de service comme mot de passe à l’invite. Veillez à obtenir ces valeurs auprès de l’administrateur de votre 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 rôle « Propriétaire » est attribué au principal de service utilisé dans la commande ci-dessus et qu’il a une portée 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 "bc313c14-388c-4e7d-a58e-70017303ee3b").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 le nom de la ressource et les entrées de nom de groupe de ressources utilisées dans la commande PowerShell enable-akshciarcconnection .

Notes

Une fois le cluster connecté, l’affichage des métadonnées du cluster (version du cluster, version de l’agent, nombre de nœuds) dans la page de vue d’ensemble de la ressource AKS dans Portail Azure peut prendre un maximum de cinq à dix minutes.

Agents Azure Arc pour Kubernetes

AKS déploie quelques opérateurs dans l’espace de azure-arc 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é dans l’espace de azure-arc 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

Étapes suivantes