Kadeploy3

Fiche logiciel validé
  • Création ou MAJ importante : 21/09/13
  • Correction mineure : 21/09/13
  • Rédacteur de la fiche : Emmanuel Jeanvoine - SED (Inria Nancy - Grand Est)
  • Relecteur(s) : Lakhdar Loukil (Univ Oran - Algérie - Dpt informatique - Faculté des sciences)
    Joseph Emeras (LIG)
  • Contributions importantes : université de Lorraine, université Joseph Fourier
  • Responsable thématique : C FC (Inria)
Mots-clés

Kadeploy3 : outil de déploiement de systèmes d'exploitation

Description
Fonctionnalités générales

Kadeploy3 est une solution de déploiement pour grappes de calculateurs et fédérations de grappes. Fondé sur des outils et des techniques robustes et adaptées au passage à l'échelle, Kadeploy3 permet de déployer un système d'exploitation sur des centaines de nœuds en quelques minutes sans aucune intervention de l'administrateur. Des expériences réalisées en 2012 ont permis de déployer un système Linux sur 4000 nœuds en moins d'une heure.

Le déploiement d'un système d'exploitation sur une grappe de calculateurs fait intervenir de nombreuses opérations de bas niveau comme le démarrage par le réseau ou encore le partitionnement de disques. Ainsi, Kadeploy3 accorde une attention particulière à la détection et à la gestion des incidents pouvant se produire lors de ces différentes opérations afin de garantir un taux de succès maximal lors des déploiements tout en conservant un temps de déploiement faible.

Kadeploy3 permet d'installer des systèmes Linux, *BSD, Windows et Solaris.

Autres fonctionnalités
  • Gestion de bibliothèques d'images pré-enregistrées et utilisables pendant les déploiements
  • Configuration de chaque nœud après son installation (réglage du hostname, configuration spécifique à un nœud, ...) en spécifiant des scripts de post-installation
  • Gestion des droits de déploiement sur les nœuds permettant la coopération avec un gestionnaire de travaux
  • Génération de statistiques sur les déploiements permettant d'identifier les nœuds ayant des comportements pathologiques dans une grappe
  • Possibilité de contrôle total du mécanisme de démarrage par le réseau d'un nœud afin de réaliser des opérations avancées telles que le démarrage depuis une ISO ou la mise à jour de BIOS.
Interopérabilité

Il est possible de lancer les déploiements en utilisant directement une API fondée sur Distributed Ruby.

Contexte d'utilisation dans mon laboratoire/service

Utilisation à large échelle sur la plateforme expérimentale Grid'5000 qui comprend une dizaine de sites en France, et permet de gérer un total d'une vingtaine de grappes de calculateurs.

Limitations, difficultés, fonctionnalités importantes non couvertes

Pour l'instant, le logiciel n'embarque pas de scripts d'aide à la création d'environnements. Il est possible de déployer un système en utilisant une archive TGZ/TBZ2 contenant le système de fichiers de celui-ci (adapté aux systèmes type GNU/Linux), une image DDGZ/DDBZ2 (copie bit à bit) d'une partition (plus adapté aux systèmes non-Linux), ou une image FSArchiver pour des déploiements multi-partitions.

Le logiciel s'utilise via une interface en ligne de commande ou en passant par une API réseau mais il n'y a pas d'interface graphique.

Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré

Paquets disponibles pour Debian et RedHat.

Plates-formes

GNU/Linux

Logiciels connexes
  • Ruby
  • TakTuk : un outil d'exécution de commandes parallèles destiné à passer à grande échelle.
  • MySQL : gestion de la librairie d'environnements pré-enregistrés, fonctionnement interne du logiciel.
Autres logiciels aux fonctionnalités équivalentes
  • RocksCluster : système spécialisé pour la gestion des grappes de calcul
  • CloneZilla : permet de créer une image de sauvegarde d'un disque dur ou d'une partition et de la restaurer (voir aussi DRBL/Clonezilla).
  • SystemImager : permet d'automatiser l'installation et la mise à jour d'un parc de machines tournant sous systèmes Linux.
  • FAI : permet d'installer, configurer et gérer des systèmes Linux.
  • xCAT : permet le déploiement et l'administration de systèmes Linux sur des grappes de calculateurs.
Environnement de développement
Type de structure associée au développement

Laboratoire de recherche (équipes AlGorille d'Inria Nancy - Grand Est) et communauté Grid'5000.

Eléments de pérennité

Tous les clusters de Grid'5000 fonctionnent grâce à Kadeploy3, ce qui représente 10 sites (en France) comprenant, au total, une vingtaine de clusters.

Références d'utilisateurs institutionnels

Inria (10 sites Grid'5000, une vingtaine de clusters).

Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
Documentation utilisateur
Divers (astuces, actualités, sécurité)

Articles scientifiques concernant Kadeploy3 :

Contributions