Qu’est-ce qu’Incus ?¶
Incus est un gestionnaire nouvelle génération de conteneurs système et de machines virtuelles.
Il fournit une expérience utilisateur similaire à celle d’un cloud public. Avec Incus, vous pouvez gérer des conteneurs et machines virtuelles partageant le même stockage et le même réseau sous-jacents, en toute simplicité.
Incus est basé sur des images système et en fournit pour un grand nombre de distributions Linux. Il offre flexibilité et évolutivité pour de nombreux cas d’utilisation, avec le support de différents systèmes de stockage et types de réseau, et peut être installé sur des supports divers, de l’ordinateur portable à l’instance cloud, en passant par le serveur physique.
En utilisant Incus, vous pouvez gérer vos instances (conteneurs et VM) avec son outil en ligne de commande, directement via son API REST, ou en utilisant des intégrations et outils tiers. Incus implémente une API REST unique, aussi bien pour l’accès local que pour l’accès à distance.
Le projet Incus a été créé par Aleksa Sarai comme une alternative à Canonical LXD gérée par la communauté.
Aujourd’hui, il est dirigé et maintenu par bon nombre des personnes qui ont créé LXD.
Pour commencer¶
Pour vous faire une idée plus précise de ce qu’est Incus et de ce qu’il peut faire, vous pouvez l’essayer en ligne !
Ensuite, si vous souhaitez l’utiliser localement, vous pouvez consulter notre guide de démarrage.
Conteneurs et machines virtuelles¶
Incus prend en charge les conteneurs systèmes et les machines virtuelles.
Lors de l’exécution d’un conteneur système, Incus simule une version virtuelle d’un système d’exploitation complet. Pour ce faire, il utilise les fonctionnalités fournies par le noyau du système hôte.
Lors de l’exécution d’une machine virtuelle, Incus utilise le matériel du système hôte, mais le noyau est fourni par la machine virtuelle. De ce fait, les machines virtuelles peuvent être utilisées pour lancer, par exemple, un système d’exploitation différent.
Pour en savoir plus sur les différences entre conteneurs d’application, conteneurs système, et machines virtuelles, consultez notre documentation.
Caractéristiques¶
Voici quelques-unes des principales caractéristiques d’Incus :
- API de base
-
- Sécurisée par design (grâce aux conteneurs non privilégiés, aux restrictions de ressources, à l’authentification…)
- Intuitive (avec une API simple et une interface en ligne de commande claire)
- Évolutive (de quelques conteneurs sur votre ordinateur portable à des clusters de calcul de plusieurs milliers de nœuds)
- Basée sur les événements (avec des événements de journalisation, sur les opérations en cours, et tout au long du cycle de vie d’Incus)
- Utilisable à distance (la même API est utilisée pour les accès locaux et distants)
- Proposant une gestion par projet (pour compartimenter des ensembles d’images et de profils)
- Instances et profils
-
- Gestion par images (avec la publication quotidienne d’images pour une grande variété de distributions Linux)
- Instances (conteneurs et machines virtuelles)
- Configuration par profils (applicables aux conteneurs et aux machines virtuelles)
- Sauvegarde et exportation
-
- Sauvegarde et récupération (pour tous les objets gérés par Incus)
- Instantanés (pour sauvegarder et restaurer l’état d’une instance)
- Transfert de conteneurs et d’images (entre différents hôtes à l’aide d’images)
- Migration d’instances (importation d’instances existantes ou transfert entre serveurs)
- Configurabilité
-
- Divers systèmes de stockage (avec des pools et des volumes de stockage configurables)
- Gestion du réseau (création de bridges, de tunnels entre hôtes…)
- Contrôle avancé des ressources (gestion des processeurs, de la mémoire, des E/S du réseau et des périphériques, de l’utilisation des disques et des ressources du noyau)
- Passthrough de périphériques (USB, GPU, périphériques en mode caractère ou bloc, cartes réseau, disques et chemins d’accès)
Disponibilité¶
Incus fonctionne sur n’importe quelle version récente de Linux.
Le projet Incus ne fournit pas directement de paquets d’installation, mais un certain nombre de distributions Linux et de dépôts tiers en proposent.
De plus, le client Incus est aussi disponible pour Windows et macOS. Vous pouvez utiliser le client pour vous connecter à un serveur Incus fonctionnant sur une machine Linux.
Les instructions d’installation peuvent être consultées dans notre guide d’installation.
Support¶
Incus a deux types de versions :
- Les versions LTS
- Les versions de fonctionnalité
La version LTS actuelle est Incus 6.0 et est supportée jusqu’en juin 2029.
Les versions de fonctionnalité sont publiées tous les mois environ et contiennent de nouvelles fonctionnalités ainsi que des corrections de bugs.
La durée normale du support pour ces versions est d’environ un mois, ou jusqu’à la sortie de la version suivante.
Certaines distributions Linux sont susceptibles offrir un support plus long pour les versions qu’elles embarquent.
Un support commercial pour Incus peut être obtenu auprès de Zabbly.
Langage, licence et contributions¶
Incus est écrit en Go. C’est un logiciel libre développé sous la licence Apache 2.
Le code source d’Incus est disponible sur GitHub.
Il n’est pas nécessaire de signer un contrat de licence du contributeur (CLA) ou autre pour contribuer à Incus. Cependant, nous demandons que les commits soient signés (suivant le certificat de propriété du développeur — DCO). Veuillez consulter le guide de contribution pour plus d’informations.