# [Proxmox] Template et cloud-init

## Inroduction

Proxmox permet la création de templates qui vous permettent d'éviter l'installation de l'OS à chaque installation et d'enregistrer certaines configurations. Cloud-init va vous permettre d'enregistrer un nom d'utilisateur, un mot de passe, une clé SSH et une configuration IP depuis le menu de Proxmox ce qui est très pratique et automatisable.

## Installation

#### Debian 12

Tout d'abord, lancez un shell sur votre noeud proxmox puis téléchargez l'image cloud-init de Debian 12 :

```bash
wget https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-genericcloud-amd64.qcow2
```

Créez la VM qui va servir de base pour votre template :

```bash
qm create <TEMPLATE_ID> --name "<TEMPLATE_NAME>" --memory 1024 --net0 virtio,bridge=vmbr0
```

<p class="callout info">Vous pouvez changer la taille de la RAM et le réseau à utiliser par défaut pour votre template.</p>

Importez le disque cloud-init dans votre VM :

```bash
qm importdisk <TEMPLATE_ID> debian-12-genericcloud-amd64.qcow2 local-lvm
```

Modifiez les paramètre du disque pour le rendre fonctionnel :

```bash
qm set <TEMPLATE_ID> --scsihw virtio-scsi-pci --scsi0 local-lvm:vm-900-disk-0
```

Mettre le disque en mode cloud-init :

```bash
qm set <TEMPLATE_ID> --ide2 local-lvm:cloudinit
```

Rendre le disque bootable :

```bash
qm set <TEMPLATE_ID> --boot c --bootdisk scsi0
```

Configurez l'affichage pour Proxmox :

```bash
qm set <TEMPLATE_ID> --serial0 socket --vga serial0
```

Puis templatisez votre VM :

```
qm template <TEMPLATE_ID>
```

Vous devriez voir apparaître votre template dans l'interface de Proxmox :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2025-01/scaled-1680-/image.png)](https://wiki.neopipe.fr/uploads/images/gallery/2025-01/image.png)

<p class="callout success"> Vous pouvez désormais cloner votre template pour créer des VMs.</p>

#### Cloud-init

Vous pouvez modifier les paramètres de votre VM grâce à Cloud Init :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2025-01/scaled-1680-/rNjimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2025-01/rNjimage.png)

Vous pouvez définir :

- Le nom d'utilisateur.
- Le mot de passe d'utilisateur.
- Une clé SSH.
- La mise à jour automatique des paquets.
- La configuration IP (statique/DHCP).