Red Hat, Alma Linux : installer et configurer incus
Table des matières
Incus est un projet open-source pour la plateforme de gestion de conteneurs de nouvelle génération. C'est un fork de LXD (l'hyperviseur de conteneurs). Il peut gérer à la fois des conteneurs Linux et des machines virtuelles.
Dans cet article, nous allons voir comment l'installer sur Red Hat Enterprise Linux et clones tels qu'Alma Linux.
On n'installera pas la console d'administration Web qui n'est pas documentée sur le site officiel.
L'ensemble des commandes seront exécurées en tant que root.
Dans un premier temps, on s'assure que le système est à jour :
On installera le dépôt EPEL :
Sur les clones de Red Hat Enterprise Linux, on active CRB :
Sur RHEL, c'est Code Ready Builder qu'on active :
Incus étant dans un dépôt COPR, on installe celui-ci :
On va installer incus (outils en ligne de commande) :
On active et on démarre le service :
Maintenant que incus est installé, on va dans un premier temps l'initialiser :
Je ne souhaite pas utiliser de clustering ou de fonctions avancées, j'ai répondu ainsi aux questions :
On peut vérifier que incus fonctionne avec :
Qui pour le moment ne renvoie aucune élément, on a rien déployé :
Le réseau créé est celui-ci sur le bridge :
On s'assurera que le réseau 10.87.195.0/24 soit bien routé dans notre réseau !
Si on veut utiliser incus en tant que root, il faudra définir les subuid et du subgid de l'utilisateur root.
On édite subuid :
On ajoute une ligne pour l'utilisateur root :
On édite subgid :
On ajoute une ligne pour le groupe root :
On redémarre incus pour prendre en compte tout ça :
Dans le monde Red Hat, on a un parefeu qui est actif par défaut.
On va devoir autoriser le trafic vers le bridge (incusbr0 précédemment créé).
Création d'une zone incusbr :
On ajoute le bridge dans la zone :
On dit d'autoriser le trafic :
On recharge le firewall :
Pour lister les images :
On pourra filtrer qu'un système qui nous intéresse, par exemple Alma Linux :
On aura plein d'infos :
Pour créer un conteneur, ici avec une Alma Linux 9 du nom de linuxtricks9 :
Le conteneur est lancé dans la foulée.
Pour lister les conteneurs :
Ce qui renvoie :
Pour rentrer dans le conteneur :
Plus d'infos prochainement dans un article dédié à Incus !
Introduction
Incus est un projet open-source pour la plateforme de gestion de conteneurs de nouvelle génération. C'est un fork de LXD (l'hyperviseur de conteneurs). Il peut gérer à la fois des conteneurs Linux et des machines virtuelles.
Dans cet article, nous allons voir comment l'installer sur Red Hat Enterprise Linux et clones tels qu'Alma Linux.
On n'installera pas la console d'administration Web qui n'est pas documentée sur le site officiel.
L'ensemble des commandes seront exécurées en tant que root.
Prérequis
Dans un premier temps, on s'assure que le système est à jour :
Code BASH :
dnf upgrade
On installera le dépôt EPEL :
Code BASH :
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(rpm -E %rhel).noarch.rpm
Sur les clones de Red Hat Enterprise Linux, on active CRB :
Code BASH :
dnf config-manager --enable crb
Sur RHEL, c'est Code Ready Builder qu'on active :
Code BASH :
subscription-manager repos --enable "codeready-builder-for-rhel-$(rpm -E %rhel)-x86_64-rpms
Incus étant dans un dépôt COPR, on installe celui-ci :
Code BASH :
dnf copr enable neil/incus
Installation
On va installer incus (outils en ligne de commande) :
Code BASH :
dnf install incus incus-tools
On active et on démarre le service :
Code BASH :
systemctl enable incus --now
Configuration
Initialisation
Maintenant que incus est installé, on va dans un premier temps l'initialiser :
Code BASH :
incus admin init
Je ne souhaite pas utiliser de clustering ou de fonctions avancées, j'ai répondu ainsi aux questions :
Code :
Would you like to use clustering? (yes/no) [default=no]: no
Voulez-vous configurer un nouveau pool de stockage? (yes/no) [default=yes]: yes
Name of the new storage pool [default=default]:
Name of the storage backend to use (lvm, lvmcluster, dir) [default=dir]: dir
Where should this storage pool store its data? [default=/var/lib/incus/storage-pools/default]:
Would you like to create a new local network bridge? (yes/no) [default=yes]: yes
What should the new bridge be called? [default=incusbr0]:
What IPv4 address should be used? (CIDR subnet notation, “auto” or “none”) [default=auto]: auto
What IPv6 address should be used? (CIDR subnet notation, “auto” or “none”) [default=auto]: none
Would you like the server to be available over the network? (yes/no) [default=no]: yes
Adresses à associé à (sans inclure les ports) [default=all]: all
Port to bind to [default=8443]:
Would you like stale cached images to be updated automatically? (yes/no) [default=yes]: yes
Would you like a YAML "init" preseed to be printed? (yes/no) [default=no]:
On peut vérifier que incus fonctionne avec :
Code BASH :
incus list
Qui pour le moment ne renvoie aucune élément, on a rien déployé :
Code :
+-----+------+------+------+------+-------------+
| NOM | ÉTAT | IPV4 | IPV6 | TYPE | INSTANTANÉS |
+-----+------+------+------+------+-------------+
Le réseau créé est celui-ci sur le bridge :
Code :
3: incusbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 00:16:3e:df:ca:6d brd ff:ff:ff:ff:ff:ff
inet 10.87.195.1/24 scope global incusbr0
valid_lft forever preferred_lft forever
On s'assurera que le réseau 10.87.195.0/24 soit bien routé dans notre réseau !
Configuration utilisateurs
Si on veut utiliser incus en tant que root, il faudra définir les subuid et du subgid de l'utilisateur root.
On édite subuid :
Code BASH :
vim /etc/subuid
On ajoute une ligne pour l'utilisateur root :
Code :
root:1000000:1000000000
On édite subgid :
Code BASH :
vim /etc/subgid
On ajoute une ligne pour le groupe root :
Code BASH :
root:1000000:1000000000
On redémarre incus pour prendre en compte tout ça :
Code BASH :
systemctl restart incus
Configuration firewall
Dans le monde Red Hat, on a un parefeu qui est actif par défaut.
On va devoir autoriser le trafic vers le bridge (incusbr0 précédemment créé).
Création d'une zone incusbr :
Code BASH :
firewall-cmd --new-zone=incusbr --permanent
On ajoute le bridge dans la zone :
Code BASH :
firewall-cmd --zone=incusbr --add-interface=incusbr0 --permanent
On dit d'autoriser le trafic :
Code BASH :
firewall-cmd --zone=incusbr --set-target=ACCEPT --permanent
On recharge le firewall :
Code BASH :
firewall-cmd --reload
Utilisation
Lister les images
Pour lister les images :
Code BASH :
incus image list images:
On pourra filtrer qu'un système qui nous intéresse, par exemple Alma Linux :
Code BASH :
incus image list images:alma
On aura plein d'infos :
Créer un conteneur
Pour créer un conteneur, ici avec une Alma Linux 9 du nom de linuxtricks9 :
Code BASH :
incus launch images:almalinux/9 linuxtricks9
Le conteneur est lancé dans la foulée.
Lister les conteneurs
Pour lister les conteneurs :
Code BASH :
incus list
Ce qui renvoie :
Code :
+-------------------+---------+--------------------+------+-----------+-------------+
| NOM | ÉTAT | IPV4 | IPV6 | TYPE | INSTANTANÉS |
+-------------------+---------+--------------------+------+-----------+-------------+
| linuxtricks9 | RUNNING | 10.87.195.6 (eth0) | | CONTAINER | 0 |
+-------------------+---------+--------------------+------+-----------+-------------+
Entrer dans le conteneur
Pour rentrer dans le conteneur :
Code BASH :
incus exec linuxtricks9 bash
Plus d'infos prochainement dans un article dédié à Incus !