Prérequis¶
Ce tutoriel s'appuie sur le Tutoriel 1 — Fondations. Verifiez que votre environnement est pret.
Tutoriel 1 termine¶
Vous devez avoir :
- Un projet GCP configuré avec
universe_domain - Un service account
packer-builderavec les rôles nécessaires - Une méthode d'authentification (clé JSON ou WIF)
- Le build du Tuto 1 (image Docker) fonctionnel
Obligatoire
Si vous n'avez pas suivi le Tutoriel 1, faites-le d'abord : Fondations — Setup GCP, Packer, Ansible.
Versions requises¶
| Outil | Version minimum | Vérification |
|---|---|---|
| gcloud CLI | Dernière | gcloud --version |
| Packer | 1.10+ | packer --version |
| Ansible | 2.15+ | ansible --version |
| Python | 3.10+ | python3 --version |
Images de base GCP¶
Ce tutoriel construit des images à partir de deux familles :
| OS | Famille d'image | Projet |
|---|---|---|
| Ubuntu 24.04 LTS | ubuntu-2404-lts | ubuntu-os-cloud |
| Rocky Linux 9 | rocky-linux-9 | rocky-linux-cloud |
Verifiez que les images sont accessibles :
gcloud compute images list --filter="family=ubuntu-2404-lts" --limit=1
gcloud compute images list --filter="family=rocky-linux-9" --limit=1
Machine de build¶
Coût
Le build utilise une VM e2-standard-4 (4 vCPU, 16 Go RAM) pour accélérer l'installation des paquets desktop. Coût : environ $0.13/heure, build de 15-25 minutes.
Structure du projet¶
À la fin de ce tutoriel, votre projet aura cette structure :
packer-vdi-linux/
├── packer/
│ ├── variables.pkr.hcl
│ ├── ubuntu-vdi.pkr.hcl
│ ├── rocky-vdi.pkr.hcl
│ └── vdi.auto.pkrvars.hcl
└── ansible/
├── playbook.yml
├── profiles/
│ ├── developer.yml
│ ├── office.yml
│ └── full.yml
├── group_vars/
│ ├── ubuntu.yml
│ └── rocky.yml
└── roles/
├── desktop/
├── apps/
├── podman/
├── qemu/
├── k3s/
└── security/