URL: https://linuxfr.org/news/un-agent-rudder-pour-gerer-les-raspberry-pi Title: Un agent RUDDER pour gérer les Raspberry Pi Authors: amousset Davy Defaud, valentin.napoli et ZeroHeure Date: 2017年08月25日T17:14:48+02:00 License: CC By-SA Tags: raspberry_pi, rudder et gestion_de_configuration Score: 31 Les machines à architecture ARM sont maintenant très répandues, des appareils mobiles aux serveurs en passant par les machines embarquées, poussées par la « révolution IoT » (_Internet of Things Revolution_, l’Internet des objets connectés). Une bonne partie de ces machines utilise un système d’exploitation classique (distribution GNU/Linux, etc.) et les problématiques habituelles de gestion d’infrastructure se posent : supervision, gestion de configuration, etc. Suite à la sortie d’une version de l’agent RUDDER pour Raspberry Pi, nous allons aborder la gestion de configuration et de l’audit de conformité sur des machines présentant des contraintes liées à ces cas d’utilisation : - faible puissance des machines ; - latence réseau importante, réseaux potentiellement isolés ; - consommation réseau limitée. ---- [Site officiel du logiciel libre RUDDER](https://www.rudder-project.org/) [Atelier de découverte pratique de RUDDER le 19 octobre prochain](http://www.normation.com/fr/comment-demarrer/journee-dintroduction/) [Démo complète en vidéo](https://www.youtube.com/watch?v=_N_Xbs_yRaw) ---- RUDDER est une solution libre et multi‐plate‐forme de gestion de configuration et d’audit en continu (_Continuous Configuration_), visant particulièrement les besoins d’infrastructure de production. Vous pouvez trouver une présentation plus détaillée dans la [dépêche de sortie de la version 4](https://linuxfr.org/news/rudder-4-nouvelle-version-de-la-solution-de-continuous-configuration), ou sur le [site Web du projet](http://rudder-project.org/). ![Dashboard de RUDDER](https://img.linuxfr.org/img/68747470733a2f2f7777772e6e6f726d6174696f6e2e636f6d2f77702d636f6e74656e742f75706c6f6164732f323031372f30342f64617368626f617264342e312d66756c6c2d342d373638783432312e706e67/dashboard4.1-full-4-768x421.png) #Problématiques Au‐delà d’une utilisation domestique, quand ces machines sont utilisées à plus grande échelle (IoT, etc.) des problématiques de gestion d’infrastructure se posent : sécurité, supervision, déploiement, etc. Les solution utilisées sur des serveurs ne sont pas forcément adaptées à ce nouveau contexte. ## Faible puissance Au vu de la faible puissance des machines, les outils de gestion doivent être légers et ne pas accaparer les ressources. Ainsi, certains outils utilisés habituellement sur des serveurs plus puissants ne sont pas adaptés. ## Réseau limité Contrairement à un environnement _datacenter_, les machines embarquées ont souvent accès à un réseau de qualité variable, parfois très limité en volume (réseaux mobiles de type 3G/4G), voire pas d’accès au réseau pendant des périodes plus ou moins longues. Il faut donc plutôt limiter la consommation réseau et accepter une remontée d’information moins précise. Un outil de gestion de configuration autonome, basé sur un agent, permettra d’appliquer la configuration même en cas de déconnexion, ce qui ne serait pas possible avec un outil ne disposant pas d’agent ou avec un agent piloté depuis le serveur. ## Sécurité L’utilisation d’un outil de gestion de configuration et d’audit donne la capacité de mettre à jour les programmes et la configuration rapidement et à distance. #Utilisation de RUDDER ## Installation RUDDER utilise un agent installé sur chaque machine gérée pour assurer la configuration et la conformité en permanence. Un agent pour Raspbian _Jessie_ est disponible en test et sera officiellement supporté par la suite ; l’équipe de développement est preneuse de retours concernant son utilisation. Il faut évidemment avoir un serveur RUDDER installé ([documentation d’installation](https://www.rudder-project.org/doc/install-server.html)), l’agent s’installe simplement sur Raspberry Pi 3 (avec Raspbian _Jessie_) par les commandes : wget https://www.rudder-project.org/temporary/rudder-agent_4.1.6-0_armhf.deb dpkg -i rudder-agent_4.1.6-0_armhf.deb Cet agent est compatible ARMv7, une [documentation est disponible pour le compiler](https://www.rudder-project.org/doc-4.1/_building_the_rudder_agent.html#_building_the_rudder_agent) soi-même sur d’autres environnements. ## Configuration Nous pouvons configurer une politique à appliquer à notre agent. L’installation permet de gérer des composants de base du système (utilisateurs, clefs et serveur SSH, etc.), l’éditeur de techniques permet de développer simplement de nouvelles politiques de configuration sans avoir à apprendre le langage sous‐jacent : ![Éditeur de techniques](http://www.rudder-project.org/site/wp-content/uploads/2017/08/tech-editor.png) Certaines options peuvent se révéler utiles dans un contexte d’IoT, comme : - passer en mode « Non‐conformités uniquement » pour la remontée des rapports de l’agent, pour n’envoyer que les changements et les erreurs, et se passer des rapports corrects, permettant de diminuer fortement la consommation réseau. En cas d’absence d’événement à envoyer, l’agent produira un _heartbeat_ régulièrement pour faire la différence avec un nœud non accessible ; - la fréquence d’exécution, par défaut à cinq minutes, peut être réduite jusqu’à six heures ; - dans le cas de réseaux séparés, il peut être judicieux d’utiliser des serveurs relais. Ils permettent de centraliser les flux d’un ensemble de machines vers le serveur central et donc de réduire les problèmes réseau en se rapprochant des machines gérées. Nous pouvons maintenant appliquer la configuration à notre machine et mesurer la consommation de ressources : ![Résumé d’une exécution de l’agent sur Raspberry Pi 3](http://www.rudder-project.org/site/wp-content/uploads/2017/08/summary.png) - la mise à jour des politiques de configuration consomme autour de deux kilo‐octets quand il n’y a pas eu de changement de configuration cible, et environ 45 kilo‐octets quand une mise à jour est nécessaire. La remontée des rapports d’exécution représente quelques kilo‐octets (plus s’il y a de nombreux changements). Ainsi, passée une phase de configuration initiale qui peut générer un trafic plus important, l’agent consomme très peu de volume réseau ; - la mémoire consommée (RSS) lors de l’exécution se situe autour de 20 Mio ; - un cœur est utilisé, pour une durée de 10 secondes à 40 secondes pour une cinquantaine de composants vérifiés ou configurés ; - l’agent utilise au total autour de 120 Mio d’espace disque, qui pourraient encore être réduits par l’utilisation d’un paquet embarquant moins de dépendances (nommé _rudder-agent-thin_, pas encore disponible sur ARM pour l’instant). Les rapports d’exécution sont envoyés au serveur, qui nous fournit un calcul de conformité : ![Affichage global de la conformité de la machine](http://www.rudder-project.org/site/wp-content/uploads/2017/08/compliance.png) Avec possibilité de rentrer dans les détails : ![Détail d’une non‐conformité](http://www.rudder-project.org/site/wp-content/uploads/2017/08/noncompliance.png) # Conclusion L’équipe de développement de RUDDER est preneuse de vos avis, qu’ils concernent les besoins de gestion d’infrastructure sur des GNU/Linux embarqués/IoT, ou plus particulièrement sur l’utilisation de notre nouvel agent dans ce contexte ! La prise en charge va continuer à s’améliorer à l’avenir, avec plus de système d’exploitation gérés sur ARM et plus d’architectures (notamment AArch64). Pour en savoir plus et tester RUDDER, vous pouvez : - **consulter la [démo complète en vidéo sur YouTube](https://www.youtube.com/watch?v=_N_Xbs_yRaw)** ; - vous **connecter à la [démo en ligne](http://demo.rudder-project.org/)** pour découvrir l’interface (mais elle ne vous permettra pas d’appliquer de configuration) ; - **utiliser l’[environnement de démonstration](https://www.rudder-project.org/site/get-rudder/vagrant/)** basé sur Vagrant pour tester facilement l’application de configuration sur un environnement réel ; - **installer RUDDER** en utilisant les [paquets fournis](https://www.rudder-project.org/site/get-rudder/downloads/) et en suivant la [documentation d’installation](http://www.rudder-project.org/doc/_installation.html) ; - venir **discuter et poser vos éventuelles questions directement à l’équipe de développement** et à la communauté RUDDER [par courriel, sur IRC ou sur Twitter](http://www.normation.com/fr/communaute/mailing-list-irc/) ; - venir **participer à un atelier de découverte d’une journée** ; c’est ce que l’on appelle les [Journées d’Introduction RUDDER](http://www.normation.com/fr/comment-demarrer/journee-dintroduction/), et la prochaine aura lieu dans les locaux de Normation à Paris le 19 octobre prochain. [Inscrivez‐vous](https://www.eventbrite.fr/e/billets-atelier-decouverte-rudder-19102017-37274485991#tickets) et bénéficiez d’un rabais de 50 % avec le code de réduction `LINUXFR`.

AltStyle によって変換されたページ (->オリジナル) /