Skip to main content

Créer conteneur lxc dans proxmox

  • Déployer un LXC
  • Comprendre ce qui s’est passé

🧱 1. Installer Terraform

Sur ta Surface Pro (Windows probablement) :

👉 Télécharge Terraform depuis le site officiel (zip)

Ensuite :

  • Dézippe
  • Mets terraform.exe dans un dossier (ex: C:\terraform)
  • Ajoute ce dossier au PATH

Puis dans un terminal :

terraform version

👉 Si tu vois une version → OK


🔑 2. Créer un accès API Proxmox

Dans Proxmox :

a. Créer un utilisateur Terraform

Datacenter → Permissions → Users

user : terraform@pve

b. Créer un API Token

Datacenter → Permissions → API Tokens

  • Token ID : tf-token
  • User : terraform@pve

👉 Note bien :

  • Token ID
  • Secret

c. Donner les droits

👉 Important sinon ça ne marchera pas

Permissions → Add

  • Path : /
  • User : terraform@pve
  • Role : Administrator (pour commencer simple)

📁 3. Créer ton projet Terraform

mkdir terraform-proxmox cd terraform-proxmox

Crée un fichier :

main.tf

⚙️ 4. Configurer Terraform + Provider

Dans main.tf :

terraform { required_providers { proxmox = { source = "bpg/proxmox" } } } provider "proxmox" { endpoint = "https://IP_DE_TON_PROXMOX:8006" api_token = "terraform@pve!tf-token=TON_SECRET" insecure = true } 

👉 Remplace :

  • IP
  • token

📦 5. Ajouter un LXC

⚠️ Avant ça :

👉 Tu dois avoir un template LXC déjà téléchargé dans Proxmox (ex: Debian 12)

Ajoute dans main.tf :

resource "proxmox_virtual_environment_container" "test_lxc" { node_name = "pve" vm_id = 101 hostname = "test-lxc" initialization { hostname = "test-lxc" } operating_system { template_file_id = "local:vztmpl/debian-12-standard_12.0-1_amd64.tar.zst" } cpu { cores = 2 } memory { dedicated = 512 } network_interface { name = "eth0" bridge = "vmbr0" } rootfs { storage = "local-lvm" size = "8G" } } 

🚀 6. Lancer Terraform

Dans le dossier :

Initialiser

terraform init

👉 Ça télécharge le provider Proxmox

Voir ce qu’il va faire

terraform plan

👉 Très important : ça te montre le résultat AVANT

Appliquer

terraform apply

👉 Tape yes


🎉 Résultat

👉 Ton LXC est créé automatiquement dans Proxmox

Sans interface web. Juste du code.


🧠 Ce que tu viens d’apprendre

  • Terraform = décrit un état
  • Provider Proxmox = parle à l’API
  • apply = rend réel ce que tu as décrit
  • state = garde la trace