Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Azure modules vérifiés (AVMs) sont des modules IaC (Infrastructure as Code) prédéfinis et réutilisables développés et gérés par Microsoft pour Bicep et Terraform. Les machines virtuelles virtuelles sont conçues pour vous aider à déployer des ressources Azure de manière cohérente et fiable, en suivant les meilleures pratiques et les normes de conformité.
Dans cet article, vous allez apprendre à déployer un cluster AKS prêt pour la production à l’aide de Terraform avec un module vérifié Azure (AVM).
Pour plus d’informations sur les modules vérifiés (AVM), consultez Azure Verified Modules.
Prerequisites
Un abonnement actif Azure. Si vous n'avez pas d'abonnement Azure, créez un compte free avant de commencer.
Définissez votre contexte d’abonnement à l’aide de la
az account setcommande. Par exemple:az account set --subscription "00000000-0000-0000-0000-000000000000"Azure CLI installé et configuré. Recherchez votre version à l’aide de la
az --versioncommande. Si vous devez installer ou mettre à niveau, consultez Installer Azure CLI.kubectl installé. Vous pouvez l’installer localement à l’aide de la
az aks install-clicommande.Terraform installé localement. Pour obtenir des instructions d’installation, consultez Installer Terraform.
Comprendre la configuration Terraform
Le module Terraform implémente un cluster AKS prêt pour la production avec les fonctionnalités suivantes :
-
Pools de nœuds alignés sur les zones dans les différentes zones de disponibilité : nous implémentons des zones de disponibilité avec l'autoscaler du cluster, en utilisant un seul pool de nœuds pour chaque zone. Le
balance_similar_node_groupsparamètre permet une distribution équilibrée des nœuds entre les zones pour la scalabilité et la haute disponibilité. -
Mises à niveau automatiques d’AKS : nous appliquons le
patchcanal de mise à niveau et activez les mises à niveau automatiques de l’image du système d’exploitation de nœud pour vous assurer que le cluster reste up-to-date avec les derniers correctifs et fonctionnalités de sécurité. - Azure mise en réseau de superposition CNI : nous utilisons Azure mise en réseau de superposition CNI pour fournir des fonctionnalités de mise en réseau avancées, notamment la gestion des adresses IP (IPAM) et l’application des stratégies réseau.
- Point de terminaison de l’API KubernetesPrivate et authentification Microsoft Entra : nous maintenons l’API Kubernetes sécurisée en la plaçant dans un réseau privé, autorisez l’authentification à l’aide de Microsoft Entra ID et désactivez les comptes locaux (facultatif).
- Apportez votre propre réseau virtuel (BYO) et exigez une identité managée affectée par l’utilisateur : nous vous permettent d’apporter votre propre réseau virtuel et d’exiger une identité managée affectée par l’utilisateur pour le cluster AKS afin d’améliorer la sécurité et le contrôle des ressources réseau et d’identité. Vous pouvez utiliser la même identité managée sur plusieurs clusters pour une gestion cohérente des identités.
Créer le fichier de configuration Terraform
Les fichiers de configuration Terraform définissent l’infrastructure que Terraform crée et gère.
Créez un fichier nommé
main.tfet ajoutez le code suivant pour définir la version Terraform et spécifier le fournisseur Azure :terraform { required_version = ">= 1.0" required_providers { azurerm = { source = "hashicorp/azurerm" version = "~> 4.0" } } } provider "azurerm" { features {} }Ajoutez le code suivant à
main.tfpour créer un groupe de ressources Azure. N’hésitez pas à modifier le nom et l’emplacement du groupe de ressources en fonction des besoins.resource "azurerm_resource_group" "aks" { name = "rg-aksprod-demo" location = "eastus" }
Créer le réseau virtuel (VNet) et le sous-réseau
Ajoutez le code suivant pour main.tf créer un réseau virtuel (VNet) et un sous-réseau pour le cluster AKS :
resource "azurerm_virtual_network" "aks" {
name = "vnet-aksprod-demo"
location = azurerm_resource_group.aks.location
resource_group_name = azurerm_resource_group.aks.name
address_space = ["10.31.0.0/16"]
}
resource "azurerm_subnet" "aks_nodes" {
name = "snet-aks-nodes"
resource_group_name = azurerm_resource_group.aks.name
virtual_network_name = azurerm_virtual_network.aks.name
address_prefixes = ["10.31.0.0/17"]
}
Créer le cluster AKS prêt pour la production
Ajoutez le code suivant à main.tf pour créer un cluster AKS prêt pour la production à l'aide de l'AVM :
module "aks_production" {
source = "Azure/avm-ptn-aks-production/azurerm"
version = "0.5.0"
name = "aksprod-demo"
location = azurerm_resource_group.aks.location
resource_group_name = azurerm_resource_group.aks.name
network = {
node_subnet_id = azurerm_subnet.aks_nodes.id
pod_cidr = "192.168.0.0/16"
}
}
Initialisez Terraform
Initialisez Terraform dans le répertoire contenant votre main.tf fichier à l’aide de la terraform init commande. Cette commande télécharge le fournisseur Azure requis pour gérer les ressources Azure avec Terraform.
terraform init
Valider la configuration Terraform
Validez la configuration Terraform à l’aide de la terraform validate commande. Cette commande vérifie la syntaxe et la cohérence interne des fichiers de configuration Terraform.
terraform validate
Vous pouvez rencontrer des avertissements liés aux arguments obsolètes. Ces avertissements proviennent de la machine virtuelle AVM et n’empêchent pas le déploiement.
Créer un plan d’exécution Terraform
Créez un plan d’exécution Terraform à l’aide de la commande terraform plan. Cette commande vous montre les ressources que Terraform créera ou modifiera dans votre abonnement Azure.
terraform plan
Appliquer la configuration Terraform
Après avoir examiné et confirmé le plan d’exécution, appliquez la configuration Terraform à l’aide de la terraform apply commande. Cette commande crée ou modifie les ressources définies dans votre fichier main.tf dans votre abonnement Azure.
terraform apply
Se connecter au cluster AKS
Configurez kubectl pour vous connecter à votre cluster Kubernetes à l’aide de la commande
az aks get-credentials. Cette commande télécharge les informations d’identification et configure l’interface CLI Kubernetes pour les utiliser.az aks get-credentials --resource-group <resource-group> --name <cluster-name>Vérifiez la connexion à votre cluster à l’aide de la commande [
kubectl get][kubectl-get]. Cette commande renvoie la liste des nœuds de cluster.kubectl get nodes
Contenu connexe
Pour plus d’informations sur AVM, consultez la documentation Azure Verified Modules (AVM).