diff --git a/posts/cloud-init.md b/posts/cloud-init.md new file mode 100644 index 0000000..bbbc135 --- /dev/null +++ b/posts/cloud-init.md @@ -0,0 +1,73 @@ +--- +Date: 2021-06-25 16:04 +Author: Alexandre LUCAZEAU +Title: Utiliser une image cloud-init dans Proxmox +Slug: +Tags: +--- +# Quest-ce que c'est ? + +Cloud-init est une application de personnalisation d'une machine à son démarrage. + +Cloud-init permet par exemple d'ajouter un utilisateur, de configurer un accès SSH avec une clée, installer des paquets, faire une configuration réseau en fonction du contexte etc... + +Cloud-init est un outil supporté par debian, Red-hat, mais également par les cloud providers tel qu'OVH, Amazon, Google etc... + +# Comment ça se présente ? +Cloud-init, c'est donc une application exécutée au premier lancement de la VM ou du container. L'application va lire un fichier de configuration, généralement appelé **cloud-init.yaml** + +Ce fichier contient la personnalisation + +# Quel lien avec Proxmox ? +Proxmox supporte cloudinit. Une rubrique est même consacrée à Cloud-init, permettant de personnaliser depuis la webgui les quelques paramètres suivants : + + * user + * Password + * DNS domain + * DNS servers + * SSH puplic key + * IP config + +# On fait quoi alors ? +L'idée est d'installer dans notre Proxmox, un template compatible cloud-init, qui sera utilisé pour créer de nouvelles VM. J'aime cloud-init pour les VM de base. Pour le reste, y a forman et puppet. + +Debian fournit une image cloud-init. C'est elle que nous allons récupérer et installer dans notre Proxmox et intégrer comme template + +# Le tuto commence là +La première étape consiste à récupérer +On récupère l'image + + wget http://cdimage.debian.org/cdimage/openstack/current/debian-10-openstack-amd64.qcow2 + + * On choisi un id pour notre vm + + `ID_VM=1024` + + * Création de la VM avec 2G de RAM et une interface réseau connectée à notre bridge + + `qm create ${ID_VM} --memory 2048 --net0 virtio,bridge=vmbr0` + + * Import de l'image disque dans la VM en spécifiant quel storage Proxmox utiliser (ici PX-DATA) + + `qm importdisk ${ID_VM} debian-10-openstack-amd64.qcow2` + + * Rattacher le nouveau disque à la VM, et quel bus système utiliser + + `qm set ${ID_VM} --scsihw virtio-scsi-pci --scsi0 PX-DATA:${ID_VM}/vm-${ID-VM}-disqk-0.raw` + + * Ajouter un lecteur cloudinit + + `qm set ${ID-VM} --ide2 local:cloudinit` + + * Définir le disque de boot (ici notre image) + + `qm set ${ID-VM} --boot c --bootdisk scsi0` + + * Ajouter une interface vga pour accéder à la console + + `qm set ${ID-VM} --serial0 socket --vga serial0` + + * Transformer la VM en template + + `qm template ${ID-VM}` +