Article principal · Ce tutoriel fait partie de la série Kubernetes domestique sur Proxmox VE. Pour la vue d’ensemble de l’architecture cible et les sept tutoriels suivants, lire d’abord le guide principal.
Proxmox Virtual Environment 9.1 est un hyperviseur libre basé sur Debian 13.2 « Trixie », noyau Linux 6.17.2, qui combine virtualisation KVM, conteneurs LXC, ZFS natif et gestion par interface web. C’est le socle qu’on installe en premier quand on construit un environnement Kubernetes domestique : il découpera ensuite le serveur physique en six machines virtuelles destinées à recevoir Talos Linux. Ce tutoriel décrit l’installation propre de Proxmox VE 9.1 sur un mini-PC ou un serveur domestique, du téléchargement de l’ISO jusqu’à la première console accessible et sécurisée.
Prérequis matériels et logiciels
Avant de démarrer, vérifier les points suivants. Côté matériel : un processeur 64 bits avec virtualisation activée dans le BIOS (VT-x sur Intel, AMD-V sur AMD), au minimum 16 Gio de RAM (32 Gio recommandés pour un cluster Kubernetes complet), un disque SSD ou NVMe d’au moins 256 Gio pour le système Proxmox, et idéalement un second disque pour stocker les disques des VM. Côté logiciel : une clé USB d’au moins 2 Gio qui sera entièrement effacée, un autre ordinateur pour graver l’ISO, et un accès à votre routeur pour réserver une adresse IP fixe.
Côté réseau, prévoir une plage IP libre dans le réseau local. L’exemple de ce tutoriel utilise 192.168.1.50 pour Proxmox et un masque /24 avec passerelle 192.168.1.1. Adapter à la topologie réelle.
Étape 1 — Télécharger l’ISO Proxmox VE 9.1
Toutes les images officielles Proxmox sont distribuées depuis le site de l’éditeur. On évite les miroirs tiers parce que l’ISO contient des paquets signés et qu’on n’a aucune raison d’introduire un intermédiaire. Le téléchargement se fait depuis la page officielle, et fait environ 1,5 Gio. Pour vérifier l’intégrité après téléchargement, comparer le SHA-256 publié à côté du lien avec celui calculé localement.
# Sur Linux ou macOS, après téléchargement
sha256sum proxmox-ve_9.1-1.iso
# La valeur doit correspondre exactement à celle publiée sur la page de téléchargement Proxmox
Si les deux empreintes diffèrent, le fichier a été corrompu pendant le transfert ou intercepté : ne pas l’utiliser, recommencer le téléchargement. Une correspondance parfaite confirme que l’ISO est authentique et complète.
Étape 2 — Créer une clé USB bootable
L’ISO Proxmox est hybride : on l’écrit directement sur une clé USB sans passer par une image structurée. Sur Linux, l’outil dd GNU fait ce travail. Sur macOS, le dd BSD ne reconnaît ni conv=fsync ni status=progress ; on peut utiliser balena-etcher (GUI) ou sudo dd if=...iso of=/dev/rdiskX bs=4m (devices « raw » rdiskX, pas diskX, pour vitesse correcte). Identifier la clé USB avant tout — se tromper de cible écrase le mauvais disque sans avertissement.
# Identifier la clé USB (Linux)
lsblk
# La clé apparaît typiquement comme /dev/sdb ou /dev/sdc, vérifier la taille
# Écrire l'ISO sur la clé (remplacer /dev/sdX par la bonne lettre)
sudo dd if=proxmox-ve_9.1-1.iso of=/dev/sdX bs=4M status=progress conv=fsync
sync
L’opération prend quelques minutes. À la fin, la clé est prête : on peut la débrancher et la connecter au serveur cible. Sur Windows avec Rufus, choisir le mode « Écriture en image DD » plutôt que « ISO » pour préserver la structure de l’image hybride Proxmox.
Étape 3 — Démarrer l’installeur et choisir le système de fichiers
Brancher la clé USB sur le serveur, l’allumer, et entrer dans le menu de boot (touche F11, F12 ou Échap selon le constructeur). Choisir la clé USB comme périphérique de démarrage. L’installeur Proxmox démarre avec un menu graphique. Sélectionner « Install Proxmox VE (Graphical) ». Accepter le contrat de licence GPL.
L’écran de sélection du disque cible est l’une des décisions structurantes. Pour un usage Kubernetes domestique, on privilégie ZFS RAID-1 si l’on dispose de deux disques physiques (miroir de protection contre la perte d’un disque), ou ZFS RAID-0 sur un seul disque (snapshots et compression natifs, sans la redondance). Cliquer sur « Options » à côté de la sélection de disque, choisir « zfs (RAID0) » ou « zfs (RAID1) » selon le matériel, et laisser les options avancées par défaut (ashift=12 convient pour les SSD modernes).
# Réglages recommandés sur l'écran ZFS Options
Filesystem: zfs (RAID0) ou zfs (RAID1)
ashift: 12
compress: lz4
checksum: on
copies: 1
hdsize: laisser la valeur maximale
La compression LZ4 est gratuite en CPU et économise typiquement 20 à 40 % d’espace selon le type de données. Cliquer « OK » puis « Next ».
Étape 4 — Renseigner localisation, mot de passe et réseau
Les écrans suivants demandent le pays (utilisé pour les miroirs de paquets), le fuseau horaire et la disposition clavier. Sur l’écran du mot de passe administrateur, choisir un secret long et unique : c’est l’unique mot de passe qui protège l’interface web et l’accès SSH root. Ne pas réutiliser un mot de passe d’un autre service.
L’écran réseau demande l’interface principale, le hostname FQDN, l’adresse IP avec son masque, la passerelle et le serveur DNS. Choisir un hostname descriptif comme pve01.lan et l’adresse IP réservée à l’avance dans le routeur.
# Exemple de configuration réseau
Management Interface: enp1s0 (carte filaire principale)
Hostname (FQDN): pve01.lan
IP Address (CIDR): 192.168.1.50/24
Gateway: 192.168.1.1
DNS Server: 192.168.1.1
Vérifier l’écran de récapitulatif puis cliquer « Install ». L’installation prend cinq à dix minutes selon la vitesse du disque. À la fin, l’installeur redémarre. Retirer la clé USB pendant le redémarrage pour éviter de boucler sur l’installeur.
Étape 5 — Premier accès web et désactivation du dépôt entreprise
Après le redémarrage, Proxmox affiche une console texte indiquant l’URL de l’interface web : https://192.168.1.50:8006. Ouvrir cette URL dans un navigateur. Le certificat affiché est auto-signé : on accepte temporairement, on le remplacera plus tard. Se connecter avec le login root, le mot de passe choisi pendant l’installation, et le realm Linux PAM standard authentication.
Au premier login, une fenêtre signale que le souscription Proxmox n’est pas valide. C’est normal pour un usage domestique : on travaille avec le dépôt communautaire no-subscription qui reçoit les mêmes paquets que le dépôt enterprise mais avec un délai de quelques jours. Il faut basculer manuellement.
# Sur la console Proxmox (via l'interface web → Datacenter → pve01 → Shell)
# Désactiver le dépôt enterprise
sed -i 's/^deb/#deb/' /etc/apt/sources.list.d/pve-enterprise.list
sed -i 's/^deb/#deb/' /etc/apt/sources.list.d/ceph.list
# Activer le dépôt no-subscription
echo "deb http://download.proxmox.com/debian/pve trixie pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list
# Mettre à jour la liste des paquets
apt update && apt -y dist-upgrade
reboot
Après reboot, l’avertissement de souscription disparaît du shell mais reste affiché à chaque login web (c’est cosmétique). La machine est désormais à jour et prête à recevoir des charges. Vérifier la version installée.
pveversion
# Doit retourner pve-manager/9.1.x/xxxxxxxx (running kernel: 6.17.2-x-pve)
Si la version est bien 9.1.x avec le kernel 6.17.2-pve, l’installation et la mise à jour ont réussi. C’est le baseline qu’on attend.
Étape 6 — Configurer le pool ZFS pour les disques de VM
Si le serveur dispose d’un second disque (en plus du disque système), c’est le moment de le préparer pour héberger les disques virtuels. Pour Kubernetes, ce stockage local accueillera les disques système des six VM Talos. Ouvrir Datacenter → pve01 → Disks dans l’interface web et identifier le second disque (par exemple /dev/nvme1n1).
# Créer un pool ZFS dédié aux disques de VM
zpool create -f -o ashift=12 vmpool /dev/nvme1n1
zfs set compression=lz4 vmpool
zfs set atime=off vmpool
# Vérifier
zpool status vmpool
zfs list vmpool
Le pool vmpool apparaît immédiatement, prêt à l’emploi. La désactivation de atime évite les écritures inutiles à chaque lecture, ce qui prolonge la vie des SSD.
Déclarer ensuite le pool comme stockage Proxmox utilisable par les VM, depuis l’interface web : Datacenter → Storage → Add → ZFS. Donner l’ID vmpool, sélectionner le pool vmpool, cocher les types de contenu Disk image et Container, valider. Le stockage devient sélectionnable à la création des VM.
Étape 7 — Vérifier le bridge réseau par défaut
L’installeur Proxmox crée automatiquement un bridge Linux nommé vmbr0 qui ponte la carte réseau physique. Ce bridge sera l’interface réseau de toutes les VM Kubernetes : elles obtiendront leur adresse IP du DHCP du routeur, comme n’importe quelle machine du réseau local. Vérifier sa présence et sa cohérence.
cat /etc/network/interfaces
# Doit contenir une section semblable à :
# auto vmbr0
# iface vmbr0 inet static
# address 192.168.1.50/24
# gateway 192.168.1.1
# bridge-ports enp1s0
# bridge-stp off
# bridge-fd 0
ip -br addr show vmbr0
# Doit afficher l'adresse IP attribuée et l'état UP
Si le bridge est absent ou mal configuré, refaire passer l’installeur n’est pas nécessaire : éditer /etc/network/interfaces à la main et appliquer avec ifreload -a. Pour des configurations avancées (VLAN dédié au cluster Kubernetes, deuxième carte réseau pour Ceph), prévoir un VLAN-aware bridge en cochant VLAN aware dans l’interface web.
Étape 8 — Sécuriser l’accès SSH et activer le pare-feu
Par défaut, SSH écoute sur le port 22 et accepte le mot de passe root. Ce n’est pas acceptable même chez soi. Deux ajustements minimaux : interdire l’authentification par mot de passe, autoriser uniquement les clés SSH.
# Sur votre poste de travail, générer une paire de clés si pas déjà fait
ssh-keygen -t ed25519 -f ~/.ssh/pve_ed25519
# Copier la clé publique vers Proxmox
ssh-copy-id -i ~/.ssh/pve_ed25519.pub root@192.168.1.50
# Sur Proxmox, durcir sshd
sed -i 's/^#?PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
sed -i 's/^#?PermitRootLogin.*/PermitRootLogin prohibit-password/' /etc/ssh/sshd_config
systemctl restart sshd
# Tester depuis le poste : la connexion doit passer sans demander de mot de passe
ssh -i ~/.ssh/pve_ed25519 root@192.168.1.50 'pveversion'
Si la commande de test renvoie la version Proxmox, l’authentification par clé est opérationnelle. À ce moment seulement, on bascule PermitRootLogin sur prohibit-password définitivement.
Activer ensuite le pare-feu Proxmox au niveau du datacenter : Datacenter → Firewall → Options → Firewall = Yes. Sans règles explicites de blocage, le firewall reste passif, mais l’activer prépare le terrain pour les politiques par VM qu’on définira plus tard.
Étape 9 — Vérification finale
L’installation est complète. Une dernière passe de vérifications confirme que toutes les briques sont opérationnelles avant de provisionner les premières VM dans le tutoriel suivant.
# Hyperviseur fonctionnel
pveversion -v | head -5
# Pool ZFS sain
zpool status
# Stockage déclaré dans Proxmox
pvesm status
# Interface web accessible (depuis un autre poste)
# https://192.168.1.50:8006
Critère de validation : pveversion retourne 9.1.x, zpool status indique state: ONLINE sur tous les pools, pvesm status liste au moins local, local-zfs et vmpool. L’interface web répond. Le serveur est prêt à recevoir les machines virtuelles.
Erreurs fréquentes et solutions
| Symptôme | Cause | Solution |
|---|---|---|
| L’installeur ne démarre pas depuis la clé USB | Secure Boot activé dans le BIOS | Désactiver Secure Boot, garder UEFI activé |
| Écran noir après installation | Pilote graphique propriétaire absent | Ajouter nomodeset aux options de boot GRUB la première fois |
| L’interface web n’est pas accessible | Mauvaise IP ou pare-feu du routeur | Vérifier ip a sur la console, pinger depuis un autre poste |
| L’avertissement de souscription persiste après reconfiguration des dépôts | Cache navigateur ou session non rafraîchie | Se déconnecter, vider le cache, se reconnecter |
apt update retourne « Repository not signed » |
Clé GPG no-subscription manquante | Réinstaller avec apt install proxmox-archive-keyring |
Pour la suite du parcours
L’hyperviseur est prêt. La prochaine étape consiste à créer les six machines virtuelles qui formeront le cluster Kubernetes : trois pour le control plane, trois pour les workers. Le tutoriel Provisionner des VM Talos Linux pour Kubernetes détaille les profils CPU, les disques et les options de boot adaptées à Talos. Pour comprendre l’enchaînement global et les choix d’architecture qui justifient ces six VM, revenir au guide principal Kubernetes domestique sur Proxmox VE.
Ressources et documentation officielle
- Page de téléchargement Proxmox VE 9.1 : proxmox.com/downloads
- Notes de version Proxmox VE 9.1 : communiqué officiel
- Documentation administrateur Proxmox : pve.proxmox.com/pve-docs
- Wiki ZFS sur Proxmox : pve.proxmox.com/wiki/ZFS_on_Linux
- Procédure de mise à niveau 8 vers 9 : pve.proxmox.com/wiki/Upgrade_from_8_to_9
Variantes selon le matériel utilisé
L’installation décrite suppose un mini-PC ou un serveur Intel/AMD x86_64 standard. Trois variantes méritent d’être notées parce qu’elles modifient une étape sans changer la philosophie générale.
Mini-PC ARM (Ampere Altra, Ampere One) : Proxmox VE 9 fournit une image officielle arm64 depuis la version 9.0. La procédure reste identique mais on télécharge l’ISO proxmox-ve_9.1-arm64.iso au lieu de amd64. Toutes les VM créées par-dessus seront ARM, donc Talos Linux sera téléchargé en arm64 lui aussi. Attention : peu d’images Docker tierces existent en arm64, ce qui restreint le choix de charges utiles.
Serveur tower avec contrôleur RAID matériel : sur les Dell PowerEdge T-series ou HP ProLiant ML, le contrôleur PERC ou Smart Array est souvent en mode RAID matériel par défaut. Pour bénéficier de ZFS, il faut basculer le contrôleur en mode HBA (passthrough direct des disques) depuis le BIOS du contrôleur avant l’installation. Sinon, ZFS voit un seul disque virtuel, ce qui annule la protection contre la perte d’un disque physique.
Cluster Proxmox multi-nœuds : si l’on possède trois machines, on installe Proxmox sur chacune indépendamment puis on crée un cluster Proxmox via Datacenter → Cluster → Create Cluster sur le premier hôte, puis Join Cluster sur les deux suivants. Le cluster Proxmox est différent du cluster Kubernetes : il permet la migration live des VM entre hyperviseurs et la gestion centralisée. Aucun stockage partagé n’est requis pour la migration tant qu’on accepte une migration à froid (extinction puis redémarrage).
Quel que soit le matériel, le résultat attendu reste le même : un Proxmox VE 9.1 accessible par interface web, avec un pool ZFS sain et un bridge réseau opérationnel. C’est sur cette base que les VM Talos seront construites dans le tutoriel suivant.