Création d'une VM Linux Avec Terraform
-
- Paramétrage de PROXMOX (création d'une clé d'API)
- Installation de TERRAFORM sur une DEBIAN (Créer un container de management)
- Suivre la documentation officielle https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli
- Vérifier l'installation de TERRAFORM:
root@MGT-FRONT-01:~# terraform -v Terraform v1.5.2 on linux_amd64
- Premier déploiement de machine
- Créer un dossier de travail:
mkdir VM_CREATION && cd VM_CREATION - On va créer un fichier provider.tf ce fichier va référencer les module que nous utiliserons pour la création des VM.
# Creation du fichier provider.tf nano provider.tfContenu du fichier:
terraform { required_providers { proxmox = { source = "telmate/proxmox" #version = "2.9.11" } } } provider "proxmox" { # url de Proxmox pm_api_url = "https://192.168.1.179:8006/api2/json" # api token id is in the form of: <username>@pam!<tokenId> pm_api_token_id = "terraform@pve!fbf5f330-09b3-4282-b949-0303a1328ab8" pm_tls_insecure = true pm_parallel = 2 } - On créer le fichier web.tf:
nano web.tfContenu du fichier:
resource "proxmox_vm_qemu" "web-server-1" { count = 1 name = "web-front-01" target_node = "pve-front-01" vmid = "0" clone = "Ubuntu22-Template" full_clone = "true" agent = 1 os_type = "cloud-init" cores = 1 sockets = 1 cpu = "kvm64" oncreate = true memory = 1024 scsihw = "virtio-scsi-pci" bootdisk = "scsi0" disk { slot = 0 size = "8G" type = "scsi" storage = "local-lvm" iothread = 0 } network { model = "virtio" bridge = "vmbr1" } lifecycle { ignore_changes = [ network, ] } ipconfig0 = "ip=172.16.250.3/24,gw=172.16.250.1" #Si vous avez des clés SSH vous pouvez les mettre ici sshkeys = <<EOF ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIeq/iHCth8j1aKG/DMq0rd3bveLgqksAkwBOhYgAFG1 kvega@fr-lap10398 EOF }
- Créer un dossier de travail:
- Paramétrage de PROXMOX (création d'une clé d'API)


