Skip to content

Latest commit

 

History

History
113 lines (75 loc) · 3.12 KB

File metadata and controls

113 lines (75 loc) · 3.12 KB

Lab 3 : déploiement et configuration d'Azure Kubernetes Service avec Terraform


Objectifs

Ceci est un ensemble de fichiers Terraform pour déployer un cluster Azure Kubernetes Cluster certaines options.

Les ressources déployées par ce code Terraform sont les suivantes :

  • Un Azure Resource Group
  • Un cluster Azure Kubernetes Services Cluster with 1 node pool (1 Virtual Machine ScaleSet) linux
  • Un node pool Windows Server ou Linux (1 Virtual Machine ScaleSet) --> optionnel
  • Un Azure Load Balancer Standard SKU
  • Une Azure Public IP
  • Un Virtual Network avec ses Subnets (subnet pour les pods AKS, de subnets pour AzureBastion,Azure Firewall, Azure Application Gateway
  • Un Azure Log Analytics Workspace (used for Azure Monitor Container Insight)

Pré-requis sur le poste d'administration

Déploiement du Cluster AKS

  1. Ouvrir une session Bash et se connecter à votre abonnement Azure
az login
  1. Aller dans le répertoire Lab_3 et éditer le fichier configuration.tfvars et compléter avec vos valeurs

  2. Editer le fichier 1-versions.tf et modifier les paramètres si besoin (la version de terraform par exemple)

4- Visualiser et modifier si besoin le fichier "3-vars.tf"

5- Lire les autres fichiers .tf et essayer de comprendre le code fourni

  1. Initialiser le déploiement terraform
terraform init
  1. Planifier le déploiement terraform
terraform plan --var-file=myconfiguration.tfvars
  1. Apply your terraform deployment
terraform apply --var-file=myconfiguration.tfvars

9- Attendre la fin du déploiement

Vérification du déploiement du cluster

Une fois le déploiement effectué, vérifier le cluster en utilisant le portail Azure ou mieux avec Azure CLI

az aks show --resource-group "<your-AKS-resource-group-name>" --name "<your-AKS-cluster-name>" -o jsonc

Récupérer votre kubeconfig:

az aks get-credentials --resource-group "<your-AKS-resource-group-name>" --name "<your-AKS-cluster-name>" --admin

Créer un fichier k8s-namespace.tf dans le répertoire où sont les fichiers .tf

Copier / Coller le code suivant :

resource "kubernetes_namespace_v1" "Terra-namespace" {
  metadata {
    annotations = {
      name = "monnamespace"
    }

    labels = {
      usage = "test"
    }

    name = "monnamespace"
  }
}

Sauvegarder les modifications

Exécuter la commande

terraform apply --var-file=myconfiguration.tfvars

Une fois le déploiement terminé, vérifier que le namespace a bien été créé :

kubectl get ns