Tutoriel : Déployer un cluster Azure Kubernetes Service (AKS)

Kubernetes fournit une plateforme distribuée destinée aux applications en conteneur. Avec AKS, vous pouvez créer rapidement un cluster Kubernetes prêt pour la production. Dans ce tutoriel (troisième d’une série de sept), un cluster Kubernetes est déployé dans AKS. Vous allez apprendre à effectuer les actions suivantes :

  • Déployer un cluster Kubernetes AKS qui peut s’authentifier auprès d’un registre de conteneurs Azure
  • Installer l’interface de ligne de commande Kubernetes (kubectl)
  • Configurer kubectl pour se connecter à votre cluster AKS

Dans les tutoriels ultérieurs, l’application Azure Vote est déployée sur le cluster, mise à l’échelle et mise à jour.

Avant de commencer

Dans les tutoriels précédents, une image conteneur a été créée et chargée dans une instance Azure Container Registry. Si vous n’avez pas effectué ces étapes et que vous souhaitez suivre cette procédure, commencez par le Tutoriel 1 : Créer des images conteneur.

Ce didacticiel nécessite l’exécution de l’interface de ligne de commande Azure CLI version 2.0.53 ou ultérieure. Exécutez az --version pour trouver la version. Si vous devez installer ou mettre à niveau, voir Installer Azure CLI.

Créer un cluster Kubernetes

Les clusters AKS peuvent utiliser le contrôle d’accès en fonction du rôle Kubernetes (RBAC Kubernetes). Ces contrôles vous permettent de définir l’accès aux ressources en fonction des rôles attribués aux utilisateurs. Des autorisations sont combinées si plusieurs rôles sont attribués à un utilisateur, et les autorisations peuvent être limitées à un seul espace de noms ou accordées à l’ensemble du cluster. Par défaut, l’interface Azure CLI active automatiquement RBAC Kubernetes lorsque vous créez un cluster AKS.

Créez un cluster AKS à l’aide de az aks create. L’exemple suivant crée un cluster nommé myAKSCluster dans le groupe de ressources nommé myResourceGroup. Vous avez créé ce groupe de ressources dans le tutoriel précédent dans la région eastus. L’exemple suivant ne spécifie pas de région ; le cluster AKS est donc également créé dans la région eastus. Pour plus d’informations sur les limites de ressources et la disponibilité dans les régions pour AKS, consultez Quotas, restrictions de taille de machine virtuelle et disponibilité des régions dans Azure Kubernetes Service (AKS).

Pour permettre à un cluster AKS d’interagir avec d’autres ressources Azure, une identité de cluster est automatiquement créée, car vous n’en avez pas spécifiée. Ici, cette identité de cluster se voit octroyer le droit d’extraire des images de l’instance d’Azure Container Registry (ACR) que vous avez créée dans le tutoriel précédent. Pour exécuter cette commande avec succès, vous devez disposer d’un rôle Propriétaire ou Administrateur de compte Azure sur l’abonnement Azure.

az aks create \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --node-count 2 \
    --generate-ssh-keys \
    --attach-acr <acrName>

Pour éviter de devoir utiliser un rôle Propriétaire ou Administrateur de compte Azure, vous pouvez également configurer manuellement un principal de service afin d’extraire des images du registre ACR. Pour plus d’informations, consultez Authentification ACR à l’aide de principaux de service ou S’authentifier à partir de Kubernetes avec un secret de tirage (pull). Vous pouvez aussi utiliser une identité managée au lieu d’un principal de service pour une gestion simplifiée.

Après quelques minutes, le déploiement se termine et retourne des informations au format JSON concernant le déploiement AKS.

Notes

Pour garantir un fonctionnement fiable de votre cluster, vous devez exécuter au moins 2 (deux) nœuds.

Installer l’interface de ligne de commande Kubernetes

Pour vous connecter au cluster Kubernetes à partir de votre ordinateur local, utilisez kubectl, le client de ligne de commande Kubernetes.

Si vous utilisez Azure Cloud Shell, kubectl est déjà installé. Vous pouvez également l’installer en local à l’aide de la commande az aks install-cli :

az aks install-cli

Se connecter au cluster à l’aide de kubectl

Pour configurer kubectl afin de vous connecter à votre cluster Kubernetes, exécutez la commande az aks get-credentials. L’exemple suivant obtient les informations d’identification du cluster AKS nommé myAKSCluster dans le groupe de ressources myResourceGroup :

az aks get-credentials --resource-group myResourceGroup --name myAKSCluster

Pour vérifier la connexion à votre cluster, exécutez la commande kubectl get nodes pour retourner la liste des nœuds de cluster :

kubectl get nodes

L'exemple de sortie suivant montre la liste des nœuds de cluster.

$ kubectl get nodes

NAME                                STATUS   ROLES   AGE     VERSION
aks-nodepool1-37463671-vmss000000   Ready    agent   2m37s   v1.18.10
aks-nodepool1-37463671-vmss000001   Ready    agent   2m28s   v1.18.10

Étapes suivantes

Dans ce tutoriel, un cluster Kubernetes a été déployé dans ACS, et vous avez configuré kubectl pour qu’il s’y connecte. Vous avez appris à :

  • Déployer un cluster Kubernetes AKS qui peut s’authentifier auprès d’un registre de conteneurs Azure
  • Installer l’interface de ligne de commande Kubernetes (kubectl)
  • Configurer kubectl pour se connecter à votre cluster AKS

Passez au didacticiel suivant pour savoir comment déployer une application dans le cluster.