Tutoriel : Déployer des nœuds virtuels sur Azure Container Instances dans votre cluster Azure Kubernetes Service
Dans ce tutoriel, vous allez utiliser le Portail Azure pour déployer un cluster Azure Kubernetes Service (AKS). Une fois le cluster AKS déployé, vous utiliserez un chart Helm pour déployer des nœuds virtuels sur Azure Container Instances.
Prérequis
Ce tutoriel part du principe que vous avez installé les outils suivants :
- Azure CLI
- kubectl (version 1.29+)
- Helm
- Git
Connexion à Azure
Connectez-vous au portail Azure sur https://portal.azure.com
Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
Créer un réseau virtuel pour votre cluster AKS
Sur la page d’accueil du portail Azure, sélectionnez Créer une ressource.
Sélectionnez Mise en réseau>Réseau virtuel.
Dans la page Informations de base, choisissez un abonnement et entrez les valeurs suivantes :
- Groupe de ressources : Créer>
virtualnodesresourcegroup
- Nom du réseau virtuel :
myvirtualnetwork
- Région :
East US
Dans la page Adresses IP, configurez les espaces d’adressage et les sous-réseaux suivants :
- 10.0.0.0/16 : sous-réseau
default
avec une taille de /24 - 10.1.0.0/16 : sous-réseau
aks
avec une taille de /16 - 10.2.0.0/16 : sous-réseau
cg
avec une taille de /16- Le sous-réseau
cg
doit avoir une délégation de sous-réseau versMicrosoft.ContainerInstance/containerGroups
. - Si vos pods exécutés dans des nœuds virtuels ont besoin d’une mise en réseau sortante, vous devez configurer une passerelle NAT et configurer le sous-réseau
cg
pour l’utiliser. Pour obtenir des instructions sur cette configuration, reportez-vous à Configurer une passerelle NAT pour une adresse IP statique pour le trafic sortant à partir d’un groupe de conteneurs.
- Le sous-réseau
Conservez les autres paramètres par défaut, puis sélectionnez Vérifier + créer.
Une fois la validation terminée, un résumé des paramètres de votre réseau virtuel s’affiche. Sélectionnez Créer pour envoyer votre demande de déploiement de réseau virtuel.
Quand le déploiement commence, une notification s’affiche, indiquant que le déploiement est en cours. Une autre notification s’affiche quand le réseau virtuel est déployé.
Créer votre cluster AKS
Sur la page d’accueil du portail Azure, sélectionnez Créer une ressource.
Sélectionnez Conteneurs>Azure Kubernetes Service (AKS).
Dans la page Informations de base, choisissez le même abonnement que celui que vous avez utilisé pour créer le réseau virtuel, puis entrez les valeurs suivantes :
- Groupe de ressources :
virtualnodesresourcegroup
- Configuration prédéfinie du cluster :
Dev/Test
- Nom du cluster Kubernetes :
virtualnodescluster
- Région :
East US
- Version de Kubernetes : n’importe quelle version commençant par
1.29.
, par exemple,1.29.10
- Mise à niveau automatique :
Enabled with patch
Dans la page Pools de nœuds, sélectionnez n’importe quelle référence SKU de machine virtuelle avec au moins 4 processeurs virtuels et 16 Go de RAM pour le pool de nœuds agentpool
. Ces nœuds seront utilisés pour héberger l’infrastructure des nœuds virtuels. Ne sélectionnez pas Enable virtual nodes
, qui fait référence à l’offre précédente de nœuds virtuels pour AKS.
Dans la page Mise en réseau, entrez les valeurs suivantes :
- Configuration réseau :
Azure CNI Node Subnet
- Apportez votre propre réseau virtuel Azure :
Enabled
- Réseau virtuel :
myvirtualnetwork
- Sous-réseau de cluster :
aks
- Plage d’adresses du service Kubernetes :
10.4.0.0/16
- Adresse IP du service DNS Kubernetes :
10.4.0.10
- Stratégie réseau :
Calico
Conservez les autres paramètres par défaut, puis sélectionnez Vérifier + créer.
Une fois la validation terminée, un résumé des paramètres du cluster AKS s’affiche. Sélectionnez Créer pour envoyer votre requête de déploiement de cluster AKS.
Quand le déploiement commence, une notification s’affiche, indiquant que le déploiement est en cours. Une autre notification s’affiche quand le cluster AKS est déployé.
Attribuer des autorisations à l’identité managée du cluster AKS
Lorsque vous déployez un cluster AKS, AKS crée un groupe de ressources de nœud dans le même abonnement pour héberger l’infrastructure du cluster. Par défaut, ce groupe de ressources a un nom semblable à MC_<resource group>_<AKS cluster>_<region>
. Pour ce tutoriel, le groupe de ressources de nœud doit avoir le nom MC_virtualnodesresourcegroup_virtualnodescluster_eastus
.
L’une des ressources créées dans le groupe de ressources de nœud est une identité managée portant le nom virtualnodescluster_agentpool
. Accédez à cette identité managée et sélectionnez Attributions de rôle Azure. Ajoutez ensuite les deux attributions de rôle suivantes :
- Étendue :
Resource group
- Abonnement :
<your subscription name>
- Groupe de ressources :
MC_virtualnodesresourcegroup_virtualnodescluster_eastus
- Rôle :
Contributor
Cette attribution de rôle permet la création de groupes de conteneurs ACI dans le groupe de ressources de nœud.
- Étendue :
Resource group
- Abonnement :
<your subscription name>
- Groupe de ressources :
virtualnodesresourcegroup
- Rôle :
Contributor
Cette attribution de rôle permet aux groupes de conteneurs ACI d’être injectés dans le réseau virtuel que vous avez créé dans ce groupe de ressources.
Installer des nœuds virtuels sur Azure Container Instances à l’aide du chart Helm
Utilisez l’interface Azure CLI pour extraire la configuration et les informations d’identification du cluster AKS que vous avez créé. Cela configure kubectl pour votre cluster AKS.
az login
az account set --subscription <your subscription ID>
az aks get-credentials --name virtualnodescluster --resource-group virtualnodesresourcegroup
En outre, nous allons inscrire le fournisseur de ressources ACI sur votre abonnement pour que vous puissiez déployer des groupes de conteneurs.
az provider register -n Microsoft.ContainerInstance
Clonez le dépôt GitHub virtualnodesOnAzureContainerInstances. Le chart Helm pour l’installation de nœuds virtuels sur Azure Container Instances se trouve dans le dossier Helm/virtualnode
.
Installez le chart Helm à l’aide de la commande suivante :
helm install virtualnode <cloned repository location>\Helm\virtualnode
En une minute, un nouveau nœud virtuel est inscrit et dans l’état Prêt dans le cluster AKS. Vous pouvez vérifier l’état de vos nœuds de cluster AKS avec kubectl.
kubectl get nodes
Déployer votre premier pod sur un nœud virtuel
Vous pouvez interagir avec un nœud virtuel comme avec n’importe quel autre nœud Kubernetes. L’exemple YAML ci-dessous déploie un pod sur le nœud virtuel de votre cluster AKS. Notez l’utilisation de sélecteurs de nœuds et de tolérances pour placer le pod de manière appropriée. Vous pouvez déployer le code YAML en utilisant kubectl apply.
apiVersion: v1
kind: Pod
metadata:
annotations:
name: demo-pod
spec:
containers:
- command:
- /bin/bash
- -c
- 'counter=1; while true; do echo "Hello, World! Counter: $counter"; counter=$((counter+1)); sleep 1; done'
image: mcr.microsoft.com/azure-cli
name: hello-world-counter
resources:
limits:
cpu: 2250m
memory: 2256Mi
requests:
cpu: 100m
memory: 128Mi
nodeSelector:
virtualization: virtualnode2
tolerations:
- effect: NoSchedule
key: virtual-kubelet.io/provider
operator: Exists
Une fois votre pod déployé, vous pouvez interagir avec celui-ci de la même façon qu’avec un pod Kubernetes « normal ».
Par exemple, pour voir l’état et les événements du pod (ce qui est utile pour trouver des erreurs) :
kubectl describe pods demo-pod
Pour afficher les journaux du pod :
kubectl logs demo-pod
Pour obtenir un interpréteur de commandes pour le pod :
kubectl exec demo-pod -it -- /bin/bash
Étapes suivantes
Dans ce tutoriel, vous avez créé un cluster AKS dans le Portail Azure, déployé des nœuds virtuels sur Azure Container Instances à l’aide d’un chart Helm et déployé un pod sur votre nœud virtuel. Vous savez désormais comment exécuter des pods Kubernetes sur votre nœud virtuel, et vous pouvez utiliser la plupart des fonctionnalités et constructions Kubernetes prêtes à l’emploi sur ces pods.
Si vous souhaitez utiliser des fonctionnalités ou comportements de nœud virtuel spécialisés pour vos pods, consultez Personnalisations de pods.
Si vous souhaitez personnaliser l’installation de votre nœud virtuel, consultez Personnalisations de nœuds.
Si vous envisagez de déployer des charges de travail à grande échelle (plusieurs milliers de pods par minute) sur des nœuds virtuels, consultez ces meilleures pratiques et recommandations.