terraform_bpg_proxmox

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
terraform_bpg_proxmox [2024/12/02 13:35] – [Terraform & Proxmox] psterraform_bpg_proxmox [2024/12/11 00:12] (Version actuelle) – [1 - init] ps
Ligne 3: Ligne 3:
 Le 2024-12-01   Le 2024-12-01  
 ===== Avant-Propos ===== ===== Avant-Propos =====
-**Terraform** est un outil **IAC** (**Infrastructure As Code**) développé par //Hashicorps//.+**Terraform** https://www.terraform.io/ https://fr.wikipedia.org/wiki/Terraform_(logiciel) est un outil **IAC** (**Infrastructure As Code**) développé par //Hashicorps//. 
 + 
 +L'**IAC** : https://fr.wikipedia.org/wiki/Infrastructure_as_code
  
 Il permet grâce à une syntaxe déclarative relativement simple de créer une infrastructure dans le //cloud// ou en //on-premise//. Terraform dispose de nombreux fournisseurs (providers) adaptés aux principaux environnements du marché (kubernetes, Azure, AWS, GCP, Openstack, Vsphere, Proxmox, ...). Il permet grâce à une syntaxe déclarative relativement simple de créer une infrastructure dans le //cloud// ou en //on-premise//. Terraform dispose de nombreux fournisseurs (providers) adaptés aux principaux environnements du marché (kubernetes, Azure, AWS, GCP, Openstack, Vsphere, Proxmox, ...).
  
  
-Il est habituellement utilisé pour créer des VM ensuite configurées par des **playbooks** **Ansible**+Il est habituellement utilisé pour créer des VM ensuite configurées par des **playbooks** **Ansible** ou d'autres outils.
  
 Des changements de licence récents concernant Terraform ont conduit à la création de la fondation **Opentofu** (https://opentofu.org) visant à créer un outil (**tofu**) compatible avec Terraform et disposant d'une licence moins restrictive. Des changements de licence récents concernant Terraform ont conduit à la création de la fondation **Opentofu** (https://opentofu.org) visant à créer un outil (**tofu**) compatible avec Terraform et disposant d'une licence moins restrictive.
  
-cf le site de //Stéphane Robert// :  +cf :   
-  * https://blog.stephane-robert.info/docs/infra-as-code/provisionnement/terraform/introduction+  * le site de //Stéphane Robert// https://blog.stephane-robert.info/docs/infra-as-code/provisionnement/terraform/introduction 
 +  * https://www.trfore.com/
  
 ===== Installation de Terraform ===== ===== Installation de Terraform =====
Ligne 33: Ligne 36:
 </code> </code>
 ===== Mise en oeuvre de Terraform avec le provider BPG/Proxmox ===== ===== Mise en oeuvre de Terraform avec le provider BPG/Proxmox =====
 +
 +==== Pré-requis ====
 +  * un serveur **Proxmox 8**
 +  * une machine Linux hébergeant l'application **Terraform** ou **Opentofu** (Debian 12 avec Vagrantfile)
 +
 +==== Objectifs ====
 +
  
 L'objectif est ici d'utiliser **Terraform** pour déployer automatiquement des VM KVM sur un serveur **Proxmox 8**. L'objectif est ici d'utiliser **Terraform** pour déployer automatiquement des VM KVM sur un serveur **Proxmox 8**.
Ligne 54: Ligne 64:
 </code> </code>
  
-le fichier **provider.tf** (minimal) - On utilise ici le provider **BPG/Proxmox** (maintenu depuis la version 0.42.0 et compatible avec Proxmox 8.1)+Le fichier **provider.tf** décrit les fournisseurs (aws, gcp, azure, proxmox, oci, ...) permettant de créer les **ressources** ... 
 + 
 +Le fichier **provider.tf** (minimal) - On utilise ici le provider **BPG/Proxmox** qui permet de créer et gérer des machines virtuelles **KVM** et des conteneurs **LXC**.
  
 cf : cf :
Ligne 60: Ligne 72:
   * https://blog.stephane-robert.info/docs/virtualiser/type1/proxmox/terraform/#cr%C3%A9ation-de-la-vm   * https://blog.stephane-robert.info/docs/virtualiser/type1/proxmox/terraform/#cr%C3%A9ation-de-la-vm
 et plus particulièrement : et plus particulièrement :
-   * https://github.com/bpg/terraform-provider-proxmox/tree/main/howtos+   * https://github.com/bpg/terraform-provider-proxmox/tree/main/examples
    * https://github.com/bpg/terraform-provider-proxmox/blob/main/docs/resources/virtual_environment_vm.md    * https://github.com/bpg/terraform-provider-proxmox/blob/main/docs/resources/virtual_environment_vm.md
 <file hcl provider.tf> <file hcl provider.tf>
Ligne 67: Ligne 79:
     proxmox = {     proxmox = {
       source = "bpg/proxmox"       source = "bpg/proxmox"
-      version = "0.68"+      version = ">=0.68"
     }     }
   }   }
Ligne 180: Ligne 192:
   file_name    = "debian-12-generic-amd64.qcow2.img"   file_name    = "debian-12-generic-amd64.qcow2.img"
   node_name    = "pve"   node_name    = "pve"
 +  # cf egalement "http://store2.sio.lan/sionas/Public/iso/cloud/debian-12-generic-amd64.qcow2"
   url          = "https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-generic-amd64.qcow2"   url          = "https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-generic-amd64.qcow2"
 } }
  • terraform_bpg_proxmox.1733142906.txt.gz
  • Dernière modification : 2024/12/02 13:35
  • de ps