Installer Proxmox VE avec Ansible
Mise à jour :
Dans le prolongement du précédent guide, où je vous ai expliqué comment configurer une machine de rebond pour sécuriser l’accès à notre infrastructure, nous allons maintenant aborder une étape importante pour ajouter un environnement de virtualisation à notre HomeLab DevOps : l’installation de Proxmox VE sur Debian 12 à l’aide d’Ansible. Ce processus, bien que technique, est essentiel pour qui souhaite déployer une solution robuste de gestion de machines virtuelles et de conteneurs. Grâce à Ansible, nous automatiserons cette installation, rendant la tâche non seulement plus rapide mais aussi reproductible à l’identique sur plusieurs serveurs, assurant ainsi une cohérence et une efficacité optimales de votre infrastructure.
Pourquoi choisir Proxmox VE pour le homelab ?
Pour ceux d’entre vous souhaitant approfondir l’histoire et les origines de Proxmox VE, je vous invite à consulter un guide détaillé que j’ai précédemment rédigé, accessible via ce lien. Là, vous trouverez une mine d’informations sur l’évolution de Proxmox VE, son positionnement dans l’écosystème de la virtualisation et comment il s’est imposé comme une solution de choix face à ses concurrents.
L’un des principaux atouts de Proxmox VE est sa capacité à consolider votre infrastructure sur une seule et même plateforme, permettant ainsi une gestion centralisée de vos ressources. Ceci est particulièrement avantageux dans des environnements complexes, où la simplification de la surveillance et de la maintenance peut significativement réduire les coûts opérationnels et améliorer l’efficacité.
De plus, Proxmox VE intègre nativement des fonctionnalités avancées telles que le clustering, la réplication en direct et la sauvegarde/restore à chaud, offrant ainsi une haute disponibilité et une résilience face aux pannes. La prise en charge des réseaux définis par logiciel (SDN) et des stockages définis par logiciel (SDS) permet une flexibilité accrue dans la configuration et l’optimisation de l’infrastructure selon les besoins spécifiques de chaque projet.
Prérequis à l’installation
Avant de plonger dans l’installation de Proxmox VE sur une machine Debian 12 via Ansible, il est essentiel de s’assurer que certains prérequis sont bien en place. Ces prérequis concernent à la fois le matériel et le logiciel et leur vérification garantit une installation sans encombre.
Tout d’abord, du côté matériel, votre machine doit répondre à des spécifications minimales pour exécuter Proxmox VE de manière optimale. Bien que Proxmox VE puisse techniquement fonctionner sur des configurations matérielles modestes, je recommande vivement de disposer au minimum d’un processeur multi-cœur, de 16 Go de RAM et de suffisamment d’espace disque pour vos machines virtuelles et conteneurs. De plus, comme le sujet de ce guide concerne une installation sur une machine avec deux cartes réseau, assurez-vous que ces deux interfaces sont correctement reconnues par Debian. Ex de configuration ↗
Il vous faut aussi un petit switch 4/8 ports qui sera connecté à la seconde interface réseau de la machine de rebond et sur lequel vous connecterez aussi la machine proxmox.
Sur le plan logiciel, votre système doit être une installation fraîche de Debian 12, sans environnement de bureau. Proxmox VE sera installé par-dessus ce système, transformant ainsi votre machine en un puissant hôte de virtualisation.
L’installation de Proxmox VE via Ansible nécessite, bien entendu, que Ansible soit installé sur votre machine de contrôle, dans mon cas il s’agit de la machine de rebond.
Enfin, assurez-vous d’avoir accès à un utilisateur disposant des droits sudo sur la machine cible, ainsi que la possibilité de vous connecter à cette machine via SSH.
Avec ces prérequis vérifiés et en place, vous êtes prêt à procéder à l’installation de Proxmox VE sur votre machine Debian 12, en utilisant le playbook Ansible que je vous fournirai dans les prochaines sections.
Configuration de l’environnement Ansible et déploiement de Proxmox VE
Une fois que vous avez préparé votre système Debian 12 et installé Ansible sur votre machine de contrôle, l’étape suivante consiste à configurer votre environnement Ansible pour déployer Proxmox VE. Cette configuration comprend l’ajout de votre machine cible (sur laquelle Proxmox VE sera installé) dans l’inventaire d’Ansible et l’écriture du rôle Ansible qui sera utilisé pour l’installation.
Ajout de la machine Proxmox dans l’inventaire Ansible
L’inventaire Ansible est un fichier qui répertorie les machines sur
lesquelles Ansible peut exécuter des tâches. Pour ajouter votre serveur
Debian 12 qui accueillera Proxmox VE, ouvrez ou créez un fichier
d’inventaire dans votre répertoire Ansible. Vous pouvez nommer ce fichier
hosts
(ou tout autre nom de votre choix) et y ajouter les informations
suivantes :
Dans cet exemple, proxmoxs
est le groupe contenant votre serveur Proxmox.
proxmox1
est l’alias de votre serveur, ansible_host
est l’adresse IP de
votre serveur. Assurez-vous de remplacer ces valeurs par celles correspondant à
votre configuration.
Ecriture d’un playbook pour configurer tous les serveurs
Je vois propose un playbook Ansible pour configurer tous les futurs serveurs en exécutant une série de tâches et en appliquant des rôles spécifiques. Il vise à automatiser des configurations communes telles que la gestion des droits sudo, la personnalisation du message du jour (MOTD) et la configuration du service SSH :
Écriture du rôle Ansible pour l’installation de Proxmox VE
Un rôle Ansible permet de regrouper des tâches liées qui accomplissent un objectif commun, en l’occurrence, l’installation de Proxmox VE. Pour créer un rôle, vous devez structurer votre projet Ansible avec les dossiers et fichiers suivants :
Dans le dossier tasks
, le fichier main.yml
contiendra toutes les tâches
nécessaires à l’installation de Proxmox VE. Voici le contenu de ce fichier :
Dans le fichier définissant les variables par défaut, il faudra modifier si besoin le contenu :
Une fois votre rôle écrit, vous pouvez créer un playbook principal qui utilise ce rôle pour déployer Proxmox VE. Voici un exemple de playbook :
Ce playbook cible le groupe proxmoxs
défini dans votre fichier d’inventaire et
exécute le rôle stephrobert.proxmox
pour installer Proxmox VE.
Avec cette configuration, vous êtes prêt à exécuter votre playbook Ansible et à automatiser l’installation de Proxmox VE sur votre serveur Debian 12. La combinaison de l’inventaire, du rôle et du playbook vous offre un moyen puissant et flexible d’automatiser et de gérer vos déploiements de manière reproductible et efficiente.
Configuration de ISC-DHCP-Relay pour la transmission des trames DHCP
Après avoir installé Proxmox VE sur votre serveur et configuré votre
environnement de virtualisation, une étape importante pour assurer la
connectivité réseau adéquate de vos machines virtuelles (VM) est de configurer
un relais DHCP. Ce relais permettra de transmettre les requêtes DHCP entre
différents segments de votre réseau, en particulier entre le bridge virtuel
vmbr0
et votre interface physique enp2s0
.
Installation de ISC-DHCP-Relay
ISC-DHCP-Relay est un programme qui écoute sur un réseau spécifié pour les requêtes DHCP/BOOTP et les retransmet à un ou plusieurs serveurs DHCP configurés. Pour installer ISC-DHCP-Relay sur votre système Proxmox VE, exécutez la commande suivante :
Cette commande téléchargera et installera le paquet isc-dhcp-relay ainsi que toutes les dépendances nécessaires.
Configuration de ISC-DHCP-Relay
Après l’installation, vous devez configurer ISC-DHCP-Relay pour spécifier
les interfaces sur lesquelles écouter les requêtes DHCP et l’adresse IP du
serveur DHCP auquel ces requêtes doivent être transmises. Vous trouverez le
fichier de configuration principal sous /etc/default/isc-dhcp-relay
.
Ouvrez ce fichier avec votre éditeur de texte préféré :
Dans ce fichier, vous devez définir plusieurs options importantes :
- SERVERS: l’adresse IP de votre serveur DHCP. Si votre serveur DHCP se
trouve sur le réseau connecté à
enp2s0
, indiquez ici son adresse IP. - INTERFACES: les interfaces réseau sur lesquelles le relais doit écouter
les requêtes DHCP. Dans notre cas, vous voudrez écouter sur
vmbr0
(le bridge virtuel de Proxmox) etenp2s0
(votre interface réseau physique). - OPTIONS: options supplémentaires pour le daemon de relais DHCP.
Votre configuration devrait ressembler à quelque chose comme ceci :
Remplacez "192.168.20.1"
par l’adresse IP de votre serveur DHCP.
Après avoir configuré ces options, sauvegardez le fichier et redémarrez le service isc-dhcp-relay pour appliquer les modifications :
Vérification de la configuration
Pour vérifier que ISC-DHCP-Relay fonctionne correctement, vous pouvez créer une VM sur votre serveur proxmox fraichment configuré. Avec ISC-DHCP-Relay correctement configuré, vos machines virtuelles sur Proxmox VE pourront obtenir des adresses IP depuis votre serveur DHCP principal, assurant ainsi une connectivité réseau fluide et intégrée, même dans des configurations réseau complexes. Je vais ajouter ces tâches dans le playbook.
Conclusion
L’installation de Proxmox VE sur Debian 12 à l’aide d’Ansible représente une approche efficace pour simplifier l’installation, mais également garantir une reproductibilité et une cohérence essentielles dans la gestion des infrastructures IT. La configuration supplémentaire de ISC-DHCP-Relay pour la transmission des trames DHCP entre différentes interfaces et segments réseau souligne l’importance d’une configuration réseau soignée pour le bon fonctionnement de vos machines virtuelles.
Je vous encourage à continuer d’explorer les fonctionnalités de Proxmox VE et d’Ansible, à tester différentes configurations et à optimiser votre environnement pour répondre au mieux à vos besoins spécifiques. L’avenir de l’infrastructure IT repose sur la virtualisation et l’automatisation et avec Proxmox VE, vous êtes bien équipé pour relever les défis de demain.
Rappel : Le code de mon projet, incluant les playbooks Ansible et les configurations, est disponible dans ce dépôt GitHub ↗.