Sommaire
- Ansible est un outil DevOps qui remplace puissamment PowerShell.
- RunDeck comme une interface graphique est pratique
- Certaines personnes exécutent RunDeck + Ansible ensemble
clusterssh
Pour envoyer des commandes à distance à plusieurs serveurs, pour un débutant, je recommanderais clusterssh
Pour installer clusterssh
dans Debian:
apt-get install clusterssh
Un autre tutoriel sur clusterssh :
ClusterSSH est un wrapper Tk / Perl autour des outils Linux standard tels que XTerm et SSH. En tant que tel, il fonctionnera sous à peu près tout système d'exploitation compatible POSIX où les bibliothèques existent - je l'ai déjà exécuté sous Linux, Solaris et Mac OS X. Il nécessite les bibliothèques Perl Tk (perl-tk sous Debian ou Ubuntu) et X11 :: Protocol (libx11-protocole-perl sur Debian ou Ubuntu), en plus de xterm et OpenSSH.
Ansible
Ansible est une alternative très intéressante à Puppet pour la gestion à distance de plusieurs systèmes d’administration . Il est plus maigre et ne nécessite pas d'agents distants dédiés car il fonctionne sur SSH (il a également été acheté par RedHat).
Les Playbooks sont plus élaborés que les options en ligne de commande.
Cependant, pour commencer à utiliser Ansible, vous avez besoin d’une installation simple et de la configuration du fichier texte de la liste des clients.
Ensuite, pour exécuter une commande sur tous les serveurs, procédez comme suit:
ansible all -m command -a "uptime"
La sortie est également très bien formatée et séparée par règle / serveur et, lors de son exécution en arrière-plan, peut être redirigée vers un fichier et consultée ultérieurement.
Vous pouvez commencer avec des règles simples, et l’utilisation d’Ansible deviendra de plus en plus intéressante au fur et à mesure que vous grandissez sous Linux, et votre infrastructure s’agrandit. En tant que tel, il fera beaucoup plus que PowerShell.
A titre d'exemple, un Playbook très simple pour mettre à niveau les serveurs Linux que j'ai écrit:
---
- hosts: all
become: yes
gather_facts: False
tasks:
- name: updates a server
apt: update_cache=yes
- name: upgrade a server
apt: upgrade=full
Il a également défini de nombreux modules qui vous permettent d’écrire facilement des stratégies complètes.
Index de module - Documentation Ansible
Il dispose également d'un centre officiel / réseau "social" de référentiels intéressant dans lequel rechercher les politiques déjà définies par la communauté. Ansible Galaxy
Ansible est également largement utilisé et vous trouverez de nombreux projets dans github, comme celui de moi pour l’ installation de FreeRadius .
Bien qu'Ansible soit un framework open source gratuit, il possède également une interface de panneau Web payante, Ansible Tower, bien que la licence soit relativement onéreuse.
De nos jours, après l’achat de RedHat, Tower propose également la version open source AWX .
En prime, Ansible est également capable d’administrer des serveurs Windows, bien que je ne l’aie jamais utilisé pour cela.
Il est également capable d’administrer des équipements réseau (routeurs, commutateurs et pare-feu), ce qui en fait une solution très intéressante en tant que solution clé en main pour l’automatisation.
Comment installer Ansible
Rundeck
Encore une fois, pour un framework distant plus facile à utiliser, mais moins puissant que Ansible, je recommande Rundeck .
Il s’agit d’une interface graphique multi-utilisateurs / de connexion très puissante dans laquelle vous pouvez automatiser une grande partie de vos tâches quotidiennes courantes et même offrir des vues affaiblies aux systèmes d’assistance ou aux personnes du service d’assistance.
Lors de l'exécution des commandes, il vous donne également des fenêtres avec une sortie ventilée par serveur / tâche.
Il peut exécuter plusieurs tâches en arrière-plan de manière transparente et vous permet de voir le rapport et de le générer ultérieurement.
Comment installer RunDeck
Veuillez noter que des personnes utilisent Ansible + RunDeck en tant qu'interface Web. tous les cas ne sont pas appropriés pour cela.
Il va sans dire que l’utilisation de Ansible et / ou de RunDeck peut être interprétée comme une forme ou une partie de la documentation sur l’infrastructure, et qu’elle permet, au fil du temps, de reproduire et d’améliorer les actions / recettes / Playbooks.
Enfin, en ce qui concerne un serveur de commandes central, je voudrais en créer un juste pour la tâche. En réalité, le terme technique est une boîte à sauts. Les 'boîtes de saut' améliorent la sécurité, si vous les configurez correctement .