[Tuto/HowTo] [GNU/Linux] Installer et configurer Rudder

Avatar du membre
voxdemonix
Messages : 1336
Enregistré le : lun. févr. 02, 2015 7:28 pm

[Tuto/HowTo] [GNU/Linux] Installer et configurer Rudder

Message par voxdemonix » dim. avr. 23, 2017 8:16 pm

musique d'entrain : Best Of Popular Club Dance House Music Remixes Mashups Mix 2017
rudder-functional-component-diagram.png
dashboard4.1-full-4-768x421.png

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.

    Avis personnel de Voxdemonix :
    1. Ça manque un peu d'ajax
    2. J'aurai apprécié pouvoir surveiller la santé hardware des machines à travers le temps (température des processeurs/disques/périphérique compatible, données SMART, taux de ré-écriture des SSD, un résumé de la consommation de réseau des serveurs).
    3. Le Dashboard n'est pas personnalisable comme pour Piwik (qui possède le meilleur Dashboard que j'ai jamais testé).
    4. On ne peut ni changer de thème, ni de langue. (donc pas en créer de nouveaux?)
    5. Le panel des Directives n'est pas encore très étoffé (cela se comblera avec le temps et avec tes contributions, utilisateurs !)


Légende :
  1. Installer le serveur Rudder
  2. Installer le client Rudder
  3. Foire Aux Questions


Farm Link
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Modifié en dernier par voxdemonix le mer. juin 28, 2017 1:05 am, modifié 24 fois.
~ Infernalis Creatorem ~
  • Rejoins le côté obscure, on a des cookies !
Donation Bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat
Donation Dash : XmowiBRku3tsEREp7PhpheY4TgeLLDyKdM

Avatar du membre
voxdemonix
Messages : 1336
Enregistré le : lun. févr. 02, 2015 7:28 pm

Re: [Tuto/HowTo] [GNU/Linux] Installer et configurer Rudder

Message par voxdemonix » dim. avr. 23, 2017 8:16 pm

Testé sur : Debian 8
Installer le serveur Rudder sur Ubuntu/Debian
Note : le serveur rudder n'est encore compatible avec raspbian.
  1. Passez en admin
  2. Ajoutez la clés publique de rudder
    • Code : Tout sélectionner

      wget --quiet -O- "https://www.rudder-project.org/apt-repos/rudder_apt_key.pub" | apt-key add -
  3. Ajoutez le dépôt
    • Code : Tout sélectionner

      echo "deb http://www.rudder-project.org/apt-latest/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list
  4. Mettez à jours la liste des logiciels
  5. Lancez l'installation du server rudder
  6. Changez le mot de passe de l’administrateur (admin) en éditant /opt/rudder/etc/rudder-users.xml
    • Code : Tout sélectionner

      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) Remplacez c7ad44cbad762a5da0a452f9e854fdc1e0e7a52a38015f23f3eab1d80b931dd472634dfac71cd34ebc35d16ab7fb8a90c81f975113d6c7538dc69dd8de9077ec par la chaine (sans le -) que va sortir la commande suivante (que vous pouvez lancer sur n'importe quelle machine debian/ubuntu):
      • Code : Tout sélectionner

         echo -n "monPassword" | shasum -a 512
        Note : n'oubliez pas l'espace juste avant la commande
        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))
  7. Relancez le service
Modifié en dernier par voxdemonix le jeu. avr. 27, 2017 2:04 pm, modifié 17 fois.
~ Infernalis Creatorem ~
  • Rejoins le côté obscure, on a des cookies !
Donation Bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat
Donation Dash : XmowiBRku3tsEREp7PhpheY4TgeLLDyKdM

Avatar du membre
voxdemonix
Messages : 1336
Enregistré le : lun. févr. 02, 2015 7:28 pm

Re: [Tuto/HowTo] [GNU/Linux] Installer et configurer Rudder

Message par voxdemonix » dim. avr. 23, 2017 8:18 pm

Testé sur : Ubuntu 16.04
Installer le client Rudder sur Ubuntu/Debian
Note : le client rudder n'est encore packagé pour raspbian.
  1. Passez en admin
  2. Ajoutez la clés d'authentification des paquets
    • Code : Tout sélectionner

      wget --quiet -O- "https://www.rudder-project.org/apt-repos/rudder_apt_key.pub" | sudo apt-key add -
  3. Ajoutez le dépôt
    • Code : Tout sélectionner

      echo "deb http://www.rudder-project.org/apt-latest/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list
  4. Mettez à jours la liste des logiciels
  5. Lancez l'installation de l'agent rudder
  6. Ajoutez l'hostname utilisé pour joindre votre serveur rudder
  7. Lancez le client rudder
  8. Attendez quelques minutes puis rendez-vous sur la WEBUI de votre serveur rudder et acceptez la machine :)
  9. Sur la machine où vous avez installez le client rudder vous pouvez vérifier le fonctionnement
Modifié en dernier par voxdemonix le jeu. avr. 27, 2017 1:35 pm, modifié 13 fois.
~ Infernalis Creatorem ~
  • Rejoins le côté obscure, on a des cookies !
Donation Bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat
Donation Dash : XmowiBRku3tsEREp7PhpheY4TgeLLDyKdM

Avatar du membre
voxdemonix
Messages : 1336
Enregistré le : lun. févr. 02, 2015 7:28 pm

Re: [Tuto/HowTo] [GNU/Linux] Installer et configurer Rudder

Message par voxdemonix » dim. avr. 23, 2017 9:36 pm

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)
    Sous questions :
    • Comment faire un Hello World dans le terminal d'un Node depuis la WEBUI de rudder ?
      Comment mettre à jours l'OS (update|upgrade|dist-upgrade|rpi-update) d'un ou plusieurs Nodes depuis la WEBUI de rudder ?
      • Checker dans Configuration policy => Directives => Job sheduling pour créer un script d'auto update appelé via cron.
    screenshot-2017_04_24-Rudder4-WEBUI-Creat_Technique.png
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 ?
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.
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Modifié en dernier par voxdemonix le jeu. avr. 27, 2017 1:46 am, modifié 2 fois.
~ Infernalis Creatorem ~
  • Rejoins le côté obscure, on a des cookies !
Donation Bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat
Donation Dash : XmowiBRku3tsEREp7PhpheY4TgeLLDyKdM

Avatar du membre
voxdemonix
Messages : 1336
Enregistré le : lun. févr. 02, 2015 7:28 pm

Re: [Tuto/HowTo] [GNU/Linux] Installer et configurer Rudder

Message par voxdemonix » mar. avr. 25, 2017 3:57 pm

Screenshot
Screenshot_2017-04-23-22-58-26-WEBUI_rudder4_smartphone.png
screenshot-2017_04_25-Rudder4-WEBUI-Directives_main.png
screenshot-2017_04_24-Rudder-Network-Server-VPN.png
Screenshot_2017-04-27-WEBUI_rudder4_Node_liste.png
Screenshot_2017-04-27-WEBUI_rudder4_Node_Details_Summary.png
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
~ Infernalis Creatorem ~
  • Rejoins le côté obscure, on a des cookies !
Donation Bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat
Donation Dash : XmowiBRku3tsEREp7PhpheY4TgeLLDyKdM

MacBuche
Messages : 1
Enregistré le : mar. mai 02, 2017 4:51 pm

Re: [Tuto/HowTo] [GNU/Linux] Installer et configurer Rudder

Message par MacBuche » mar. mai 02, 2017 5:06 pm

Tout d'abord je voulais te remercier pour le tuto et l'article sur Linux FR au nom de toute l'équipe !! ( Je suis développeur sur Rudder)

Je voulais réagir sur 2 remarques:

* Le manque d'ajax: Tu n'es pas obligé de rafraîchir les pages pour mettre a jour les données des tables, sur tous ( sauf "Accept new Nodes" ) tu as un bouton en haut a droite qui permet de mettre a jour les données en ajax ! Mais sinon tu as raison plus d'ajax et d'information mise à jour automatiquement ca serait un plus ... Je pense qu'on devrait avoir un systeme de notifications permettant de tenir au courant les utilisateurs de ce qu'il se passe en direct ( Michel a modifié la Directive "xxx" avec un lien vers la directive par exemple)

* Le dashboard: Merci pour le lien je vais regarder Piwik en détail !! On a comme projet de rendre cliquables les graphes pour afficher les noeuds concernés, mais pas le temps malheureusement pour le faire, et afficher d'autres informations ( derniers evenements, les Règles avec moins de compliance ....)

Avatar du membre
voxdemonix
Messages : 1336
Enregistré le : lun. févr. 02, 2015 7:28 pm

Re: [Tuto/HowTo] [GNU/Linux] Installer et configurer Rudder

Message par voxdemonix » mar. mai 02, 2017 8:41 pm

MacBuche a écrit :
mar. mai 02, 2017 5:06 pm
Tout d'abord je voulais te remercier pour le tuto et l'article sur Linux FR au nom de toute l'équipe !! ( Je suis développeur sur Rudder)

Gros merci à toi de t'être "déplacé" pour apporter un complément d'informations, ça fait vraiment plaisir. :)
N'hésitez (ni toi ni les autres) à corriger toute erreur de ma part dans mes tutos.
J'aime bien créer des thèmes/styles geek (exemple), si un jour vous intégrez le multi thèmes, n'hésitez pas à le marquer en gras sur LinuxFR :) Pareil pour les traductions au quelles je participerai (ptete dans plusieurs langues suivant la motivation de mes amis bilingue).

MacBuche a écrit :
mar. mai 02, 2017 5:06 pm
* Le manque d'ajax: Tu n'es pas obligé de rafraîchir les pages pour mettre a jour les données des tables, sur tous ( sauf "Accept new Nodes" ) tu as un bouton en haut a droite qui permet de mettre a jour les données en ajax ! Mais sinon tu as raison plus d'ajax et d'information mise à jour automatiquement ca serait un plus ... Je pense qu'on devrait avoir un systeme de notifications permettant de tenir au courant les utilisateurs de ce qu'il se passe en direct ( Michel a modifié la Directive "xxx" avec un lien vers la directive par exemple)

Vous devriez mettre en exergue cette option afin que l'on sache que ça se renouvelle seule. Ça éviterait les boulets comme moi qui rafraîchissent la page inutilement ^^
C'est une très bonne idée de permettre de l'autoriser ou de le bloquer (pour les petites installations)!
Pour les notifications, ce n'est pas une mauvaise idée, par contre avec l'utilisation toujours plus massive des smartphones et autres mobile, ça promet pas mal de boulot. :P

MacBuche a écrit :
mar. mai 02, 2017 5:06 pm
* Le dashboard: Merci pour le lien je vais regarder Piwik en détail !! On a comme projet de rendre cliquables les graphes pour afficher les noeuds concernés, mais pas le temps malheureusement pour le faire, et afficher d'autres informations ( derniers evenements, les Règles avec moins de compliance ....)
Si vous voulez un petit résumé du dashboard de piwik :)
  1. Vous pouvez déplacer (via glisser déposer) les éléments du Dashboard.
  2. Vous pouvez choisir quel "module" afficher sur le Dashboard (et même, lorsque vous passez la souris dans la liste des "modules", un aperçu avec des infos réels est généré).
  3. Le dashboard tient à jours les éléments affichés avec, pour certains modules (par exemple le suivis temps réel des visiteurs) la possibilité de bloquer l'update (pour éviter de faire tout planter sur une grosse installation).
  4. Les modules sur le dashboard permettent une interaction (par exemple sur la mapmonde des visiteurs, si je clique sur un continent ça zoom sur le continent et m'affiche des informations par pays).
  5. Le dashboard dans l'application piwik pour smartphone/tablette android affiche les mêmes modules, et dans le même ordre, que la WEBUI.
  6. Chaque user dispose de son propre Dashboard
PS : rudder est vraiment prometteur, j'attends avec impatience que le client raspbian soit packagé. Une intégration dans Yunohost pourrait aussi augmenter la portée de rudder en lui offrant un nouveau pannel d'utilisateurs moins calé que les pro (ceux qui tentent de s'auto héberger et se retrouvent, comme pour mon cas, avec de plus en plus de machines, raspberry pi et co gérant des services croisés entre eux et de plus en plus complexe à gérer). C'est juste une astuce vous en faites se que vous voulez :P

PS2 : merci à toi et les autres développeurs et contributeurs du projet :)
~ Infernalis Creatorem ~
  • Rejoins le côté obscure, on a des cookies !
Donation Bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat
Donation Dash : XmowiBRku3tsEREp7PhpheY4TgeLLDyKdM

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 0 invité