Archive

Posts Tagged ‘CFEngine’

Cfengine 3

Hello 🙂

Aujourd’hui un article un peu particulier car je vais vous parler d’un outil d’administration plutôt pratique que j’utilise depuis peu : Cfengine 3.

Tout d’abord une simple question: aimez vous les tâches répétitives lors d’installations de serveurs, par exemple lors de l’installation de 10 serveurs identiques ? Non j’imagine car le temps passé à ces installations pourrait être utilisé à d’autres tâches d’administration. Pour celà je vais vous présenter un outil dont je me sers depuis quelques temps (et qui manque malheureusement de documentation dans nos chers pays francophones) : CFEngine 3.

 

Donc tout d’abord le principe: cet outil permet de centraliser toutes les configurations de vos serveurs ainsi que de permettre un déploiement rapide de nouveaux services/paquets sur de nouveaux postes en production (par exemple déployer un serveur apache sur 15 serveurs en même temps ne prendra que 30 secondes). L’outil se base sur un concept nommé « Build-Deploy-Manage-Audit » qui signifie que l’outil sait se gèrer lui même et saura se débrouiller pour rester fonctionnel et assurer sa propre maintenance. C’est bien beau vous allez me dire mais comment faire confiance à un programme ? Tout simplement par un paramétrage plutôt bien conçu au niveau de l’outil qui permet de s’assurer un backup de configuration fonctionnelle et passera dessus dès qu’un problème est détecté. En cas de nouvelle « politique » de déploiement l’outil modifiera sa configuration et s’adaptera aux nouvelles directives.

 

Et du coup qu’est ce que ça fait ?

Tout d’abord il faut savoir que l’outil ne possède « presque » pas de limites car il peut agir sur la majorité des applications et configurations système selon ce que vous avez paramétré (il y aura par contre des limitations au niveau de clients Windows) et remplira comme rôles principaux :

  • L’installation de logiciels automatiquement
  • Copies de fichiers entre client/serveur dans les 2 sens
  • Ajout de configurations spécifiques pour certains programmes
  • Exécution de commandes Shell
  • Mises à jour
  • Et bien d’autres utilités …

 

Et comment on configure tout ça ?

Bah justement il n’y à pas grand chose à spécifier si ce n’est les principales informations nécessaires à la configuration, le logiciel agit de façon « intelligente » et arrivera à « deviner » sur quel environnement il est exécuté, quel type d’architecture est utilisé sur le serveur, quelle version d’OS est présente (vous n’aurez pas à vous soucier avec des questions comme « et s’il effectuait un Yum install sur un Debian? ») et autres car le logiciel vous fournit pas loin de 50 détails utilisables dans vos configurations. En termes de fichiers à concevoir je vous en parlerai d’ici pas très longtemps avec un petit tutorial dans notre belle langue de Molière.

 

C’est bien gentil mais niveau sécurité ?

Encore une fois rien à craindre car le programme ne pourra pas recevoir de nouvelles configurations sans votre accord et encore moins si vous ne faites pas partie du réseau local. En terme d’accès via le réseau, un système de chiffrement par clés asymétriques RSA est mis en place au sein du programme et les clés ne sont échangées qu’une fois lors de la synchronisation d’un nouvel équipement.

 

Et pour la distribution sur le réseau ?

Comme dit précédemment les données sont échangées de manière sécurisée par SSL et donc rien à craindre de ce coté là. Maintenant en termes de politiques de déploiement il faut au moins avoir un serveur dédié à la distribution de la politique de déploiement choisie (ce même serveur peut également gérer les versions de vos logiciels présents sur votre parc mais nécessitera l’aide d’un programme comme CVS ou Subversion); ce mêm serveur peut distribuer cette politique à différents hôtes clients voire d’autres serveurs de distribution (uniquement pour des grosses architectures) et enfin sous ces dits-serveurs d’autres clients.

 

Autre chose à savoir ?

Oh que oui car je n’ai fait que dégrossir la « bête » et je vous proposerai d’ici peu un tutorial détaillant la mise en place d’une telle solution avec un petit exercice bien sympa vous verrez 🙂

 

Sur ce je vous dit à bientôt et restez branchés ! 🙂

Publicités