Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
terraform_proxmox [2023/12/08 00:10] – [Installation de Terraform] ps | terraform_proxmox [2023/12/23 18:11] (Version actuelle) – [1 - init] ps | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Terraform & Proxmox ====== | ====== Terraform & Proxmox ====== | ||
- | Le 2022-12-02 | + | Le 2023-12-07 |
===== Avant-Propos ===== | ===== Avant-Propos ===== | ||
**Terraform** est un outil IAC (Infrastructure As Code) développé par Hashicorps. | **Terraform** est un outil IAC (Infrastructure As Code) développé par Hashicorps. | ||
- | Il permet grâce à une syntaxe déclarative relativement simple de créer une infrastructure dans le //cloud// ou en // | + | Il permet grâce à une syntaxe déclarative relativement simple de créer une infrastructure dans le //cloud// ou en // |
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** | ||
Ligne 24: | Ligne 24: | ||
</ | </ | ||
- | ===== Mise en oeuvre de Terraform avec le provider Proxmox ===== | + | ===== Mise en oeuvre de Terraform avec le provider |
L' | L' | ||
Ligne 37: | Ligne 37: | ||
* **plan** : montre les changements requis par la configuration | * **plan** : montre les changements requis par la configuration | ||
* **apply** : crée ou met à jour l' | * **apply** : crée ou met à jour l' | ||
- | * **destroy** : Destroy previously-created | + | * **destroy** : détruit l'infrastructure |
==== 1 - init ==== | ==== 1 - init ==== | ||
Ligne 46: | Ligne 46: | ||
</ | </ | ||
- | le fichier **provider.tf** (minimal) | + | le fichier **provider.tf** (minimal) - On utilise ici le provider Telmate/ |
<code terraform> | <code terraform> | ||
terraform { | terraform { | ||
Ligne 52: | Ligne 52: | ||
proxmox = { | proxmox = { | ||
source = " | source = " | ||
- | version = "2.9.11" | + | version = "2.9.14" |
} | } | ||
} | } | ||
Ligne 91: | Ligne 91: | ||
==== 2 - Validate ==== | ==== 2 - Validate ==== | ||
- | le fichier **main.tf** | + | le fichier **main.tf** |
<code terraform> | <code terraform> | ||
provider " | provider " | ||
Ligne 114: | Ligne 114: | ||
sshkeys = <<EOF | sshkeys = <<EOF | ||
ssh-rsa somekey user@host | ssh-rsa somekey user@host | ||
- | EOF:x | + | EOF |
network { | network { |