Sommaire
- Introduction
- Installer le serveur Rudder sur Ubuntu/Debian
- Installer le client Rudder sur Ubuntu/Debian
- Foire Aux Questions
- Screenshot
- Farm Link
Introduction
Rudder est un logiciel libre permettant de centraliser la gestion de ses serveurs sur une interface web (WEBUI) et une API. Rudder utilise le moteur CFEngine et est une alternative à Ansible Tower, OpenStack ou encore Puppet.
Les agents s'exécutent sous formes de tâches planifiés (ils ne se lancent que tout les X temps configurable + random 4 minutes). Lorsque sur l'interface (WEBUI ou API REST) vous activez des directives, configurations, etc; ces actions ne sont lancées sur les Nodes qu'une fois les agents lancés par le planificateur de tâche (cron).
Enfin, sachez que lors de l'installation du serveur rudder, ce dernier va aussi installer l'agent rudder sur la machine et la connecter automatiquement au serveur. Ainsi vous pourrez aussi gérer la machine hébergeant rudder depuis sa WEBUI.
Rudder est un logiciel libre, son évolution nécessite votre participation : rapportez les bugs, aidez à l'évolution du code, contribuez financièrement, faites la promotion du logiciel et de ses alternatives libre contre les concurrents closed-sources (propriétaire), aidez les autres utilisateurs, etc.
Installer le serveur Rudder sur Ubuntu/Debian
Note : le serveur rudder n'est encore compatible avec raspbian.
- Passez en admin
sudo su
- Ajoutez la clés publique de rudder
wget --quiet -O- "https://www.rudder-project.org/apt-repos/rudder_apt_key.pub" | apt-key add -
- Ajoutez le dépôt
echo "deb http://www.rudder-project.org/apt-latest/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list
- Mettez à jours la liste des logiciels
sudo apt-get update
- Lancez l'installation du server rudder
apt-get install rudder-server-root
- Changez le mot de passe de l’administrateur (admin) en éditant /opt/rudder/etc/rudder-users.xml
nano /opt/rudder/etc/rudder-users.xml
- Sur la machine sur laquelle vous allez générer le mot de passe hashé, lancez cette commande une fois pour que votre terminal n'enregistre plus les commandes commençant par un espace jusqu'au prochain reboot (évitant ainsi d'enregistrer dans l'historique la commande contenant votre mot de passe)
export HISTCONTROL=ignorespace
- Remplacez c7ad44cbad762a5da0a452f9e854fdc1e0e7a52a38015f23f3eab1d80b931dd472634dfac71cd34ebc35d16ab7fb8a90c81f975113d6c7538dc69dd8de9077ec par la chaîne (sans le -) que va sortir la commande suivante (que vous pouvez lancer sur n'importe quelle machine debian/ubuntu):
Note : n'oubliez pas l'espace juste avant la commande
echo -n "monPassword" | shasum -a 512
- monPassword => remplacez par le mot de passe que vous souhaitez utiliser
- Notez que vous pouvez aussi changer le login (inscrivez le en claire (sans passer par le hashage))
- Relancez le service
service rudder-jetty restart
Installer le client Rudder sur Ubuntu/Debian
Note : le client rudder n'est encore packagé pour raspbian.
- Passez en admin
sudo su
- Ajoutez la clés d'authentification des paquets
wget --quiet -O- "https://www.rudder-project.org/apt-repos/rudder_apt_key.pub" | sudo apt-key add -
- Ajoutez le dépôt
echo "deb http://www.rudder-project.org/apt-latest/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list
- Mettez à jours la liste des logiciels
apt-get update
- Lancez l'installation de l'agent rudder
apt-get install rudder-agent
- Ajoutez l'hostname utilisé pour joindre votre serveur rudder
echo 'HOSTNAME' > /var/rudder/cfengine-community/policy_server.dat
- HOSTNAME => remplacez par l'hostname pour joindre votre serveur. (n'oubliez pas d'éventuellement adapter le fichier /etc/hosts sur les clients linux et C:\WINDOWS\system32\drivers\etc\hosts sur windows)
- Lancez le client rudder
rudder agent start
Attendez quelques minutes puis rendez-vous sur la WEBUI de votre serveur rudder et acceptez la machine :)
Sur la machine où vous avez installez le client rudder vous pouvez vérifier le fonctionnement
rudder agent status
rudder agent check
Foire Aux Questions
Peut-on exécuter des commandes sur une ou plusieurs machines ?
- Réponse : Pas directement depuis un shell. Néanmoins on peut, dans Menu => Utilities => Technique editor, créer une Technique exécutant n"importe quelle commande. (voir screenshot suivant)
Quelles sont les pré-requis matériel/bandwidth pour genre 10 machines, 100 machines, 1000 machines ?
-
Réponse :
- Pour la RAM
- moins de 50 nodes: 2Go
- entre 50 et 1000 nodes: 4Go
- plus de 1000 nodes: 4Go + 1GB de RAM par 500 nodes au dessus de 1000.
- Pour PostGreSQL
- espace maximale consommé = nombre de Directives * nombre de Nodes * temps de rétention en jours * 400 ko
L'export des backups est-il automatisable via cron ?
- Réponse : oui, la documentation explique comment le faire en utilisant l'API REST.
Peut-on déployer des scripts ?
- Réponse : Oui, par exemple avec la Technique "File download (Rudder server)" qui permet de télécharger sur les nœuds un fichier (ou dossier) présent dans /var/rudder/configuration-repository/shared-files sur le serveur Rudder.
Peut-on gérer les utilisateurs depuis la WEBUI ?
- Réponse : Non.
Peut-on parcourir le système de fichier des machines/Nodes ?
- Réponse : Non, sauf a créer un script dans les Directives. Vous disposez d'une liste des points de montages dans les informations de chaque Node.
Screenshot
Farm Link
- [Tuto/HowTo] [GNU/Linux] Installer et configurer Rudder (tutoriel d'origine)
- WikipediaFR - Rudder (logiciel)
- [Tuto/HowTo] BBOX Belgacom Fixer adresse IP via adresse Mac
- [Tuto/HowTo] [GNU/Linux] SSH
- Doc Rudder - Install Rudder Agent
- Doc Rudder - Install Rudder Root server on Debian or Ubuntu
- Github - Rudder
- LinuxFR - Tout les contenues taggés rudder
- Doc Rudder 4.1 - User ManualAdvanced Node management
# Merci et quelques précisions
Posté par Jonathan Clarke . Évalué à 4.
Merci pour ce joli tuto !
Deux petites remarques :
Il existe des dépôts latest, cf http://www.rudder-project.org/site/get-rudder/downloads/#current_releases. En l'occurrence c'est http://www.rudder-project.org/apt-latest/.
Dans la première partie :
C'est le serveur Rudder du coup :)
[^] # Re: Merci et quelques précisions
Posté par EauFroide . Évalué à -4.
Merci pour ta correction.
Le tuto va être bien plus adaptable au futurs lecteurs avec un dépôts latest :)
Si vous avez des informations à ajouter au tuto, n'hésitez pas (je ne peux l'éditer que durant quelques jours) :)
PS: dans les alternatives à rudder j'ai énoncé OpenStack, mais ce dernier étant une usine à gaz, ai-je eu raison? Auriez-vous d'autres alternatives libre à ajouter?
Donation Bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat
# Moins violent qu'une suppression d'historique
Posté par Flyounet (site web personnel) . Évalué à 4.
Avant la commande :
Je préconise plutôt d'utiliser un :
export HISTCONTROL=ignorespace
(enfin si tu utilises Bash, sinon il y a certainement d'autres options pour ton shell).Cela permettra que toute commande commançant par un(e) espace ne sera pas stockée dans l'historique.
Ce qui donnerait à peu près :
Ça te laissera tout ton historique intact.
[^] # Re: Moins violent qu'une suppression d'historique
Posté par EauFroide . Évalué à -4.
Génial l'astuce, je vais éditer le tuto et l'ajouter :)
Donation Bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.