1️⃣ De quoi s'agit-il ?
Les CT, ce sont des conténaires gérés par PVE, avec un OS ultraléger, en grande partie autonome. Il y a deux cas d'usage des CT :
- Conteneur pour une application non dockerisable (Centreon par exemple)
- Conteneur pour accueillir une charge de travail docker (Qui requière un déblocage de certaines fonctions)
En pratique, les CT sont :
- Bien moins lourds que des VM : Un CT peut fonctionner avec 512mb de RAM et 1vCPU.
- Plus maniable : l'IP est modifiable via PVE, le nom d'hôte (
hostname
) l'est également - Sauvegardable : Proxmox Backup Server (PBS) peut sauvegarder les CT.
- Modifiable : La configuration des CT s'apparente a de simples fichiers de configuration type INI dans
/etc/pve/lxc
dont les changements sont instantanés.
2️⃣ Les trucs à savoir
- Toute modification dans
/etc/pve/lxc
nécessite l'accès root. - Toute modification dans
/etc/pve/lxc
nécessite de stopper et relancer le/les CT(s) concerné(s) pour qu'elles soient actives et effectives. - Sauvegarder les fichiers dans
/etc/pve/lxc
peut servir, mais ne constitue pas une méthode de sauvegarde fiable.
3️⃣ Créer un CT
Sur l'interface Web, vous devrez faire deux choses :
- Avec
ct-mods
, télécharger un ou plusieurs modèles de conténaires. - Créer le CT en cliquant sur "Créer un conteneur" en haut à droite.
Les paramêtrages
Général
- Définir le CT ID : Par défaut, le premier est sur l'ID
100
. Ce paramêtre a toute son importance, en effet, vous pouvez choisir n'importe quel ID entre1
et999999999
, qui est une limite plutôt généreuse. Bref, je recommande d'utiliser les CT-ID pour identifier le type de machine, CT ou VM d'ailleurs, car le CT-ID s'applique aussi aux machines virtuelles KVM. Exemple d'organisation sur un hôte unique, ici, chaque plage d'identifiants de CT/VM permet 99 machines dans chaques zones :
100
: Production200
: Recette300
: Testing400
: Service
Evidemment, seule votre créativité pourra dessiner votre méthode d'identification. De plus, l'ID sera utile pour contrôler le CT depuis le terminal de l'hôte. Aussi, je conseille de différencier, par l'ID, les VM des CT (voir PMX-VM).
- Définir le nom d'hôte du CT. Ce choix a son importance : Il défini réellement le
hostname
réel du CT au niveau du réseau et au niveau du système du CT sur la variable$HOSTNAME
. Même chose ici, vous avez le choix mais je conseille d'avoir une organisation dans le nommage. Majuscule ou minuscule (mais évitez les variations de maj/min) et un exemple d'organisation :
Pour une Prod, Applis pour Applications et BDD pour Base de Données :
PRD-APPLIS01
PRD-APPLIS02
PRD-BDD01
PRD-BDD02
- Choisir le mode d'usage par la permission privilège ou non :
- Laisser cocher ici a pour effet de limiter les accès à certaines fonctions, notamment celles utilisées par Docker. Si vous désirez utiliser Docker dans ce CT alors passer a la prochaine option.
- Décocher pour activer l'accès aux fonctions privilèges, ceci permet d'appliquer des fonctions LXC avancées au CT permettant l'execution de conténaires Docker (ContainerD).
- Pool de Ressources : Page non existante pour cette option, ne choisissez pas cette option si vous suivez cette page.
- Définir de mot de passe de base : Ce mot de passe s'applique à l'utilisateur
root
. Petite information à connaître cependant, la commandepct enter [CTID]
dans le terminal de l'hôte ou l'option shell sur le paramêtre Mode de console du CT passe au travers de ce mot de passe. Mais pas le SSH du CT (ou l'interface Cockpit du CT si installée). - Coller une clé privée permet l'accès SSH sans mot de passe sur
root
vers ce CT. Utile pour automatiser avec N8N, Ansible ou juste avec une armée de Crons.
Modèle
- Choisir le stockage des modèles, en suivant le schéma recommandé dans PMX-SelfHosting-Configuration, choisir
ct-mods
. - Choisir le modèle à utiliser.
Disques
De base, je conseille d'avoir un seul disque de base. Il faut savoir que les disques peuvent être étendus dynamiquement sans arrêt du CT et sans avoir a gérer de LVM.
- Séléctionner le stockage hôte du disque du CT, si vous avez suivi le schéma dans PMX-CT, alors
ct-data
devrais être déjà séléctionné. - Choisir la taille du disque. Ce sont des images QCOW dynamiques, donc cela peut dépasser le stockage réel disponible (même si déconseillé).
Optionnel : Vous pouvez ajouter d'autres disques sur desmpX
, mais il s'agit de fonctions spécifiques pour des cas... spécifiques.
Processeur
- Choisir le nombre de Coeurs assignés au CT. L'hôte délivre la puissance CPU dynamiquement aux CT, donc pas besoin de définir le threading (CPU per Cores). Les fonctions "Limit" et "Unité" sont spécifiques mais peuvent servir lorsque les charges sont lourdes (Docker est plutôt léger).
Mémoire
- Définir la mémoire RAM assignée. Celle ci est dynamique et ne dépend pas de la RAM totale de l'hôte, bien qu'il faille faire attention à la charge après.
- Définir la mémoire SWAP assignée. Celle ci est utilisé par Linux dans le CT dynamiquement et prend du stockage disque en plus des disques du CT.
Réseau
- La carte par défaut est
eth0
dans le CT. La MAC est générée automatiquement (mais peut être définie manuellement au besoin, ne le faite que si vous savez ce que vous faite !). - Définir le Pont (ou Bridge), c'est ici que nous séléctionnont notre réseau virtuel NAT créé précédemment. Choisir un réseau.
- Pare-feu : Si vous utilisez le firewall principal de Proxmox, cette option active (ou pas) l'isolation par firewall. Avec du NAT, cela n'est pas forcement nécessaire. Cette option n'a aucun effet si le firewall est désactivée ou en mode Open.
- Définir l'IP et la Gateway :
- L'IP se saisie telle que
0.0.0.0/24
(par exemple) - La Gateway se saisie telle que
0.0.0.1
(par exemple)
DNS
- Définir le Domaine DNS, ceci est équivalent à l'option search du fichier Interface dans le CT. Utilise celle de l'hôte par défaut.
- Définir le(s) Serveur(s) DNS, ceci est équivalent à l'option nameserver du fichier Interface dans le CT. Utilise celle de l'hôte par défaut. Pour plusieurs serveurs :
10.0.0.1 1.1.1.1 8.8.8.8
.
Confirmation
- Vérifier vos paramêtres
- Choisir si le CT doit démarrer directement.
- Faire Terminé pour créer le CT.