• [^] # Re: Par rapport à Ansible

    Posté par (site web personnel) . En réponse à la dépêche Rudder 4 — nouvelle version de la solution de Continuous Configuration. Évalué à 2.

    L'équivalent d'un ansible-role semble être une Technique. L'équivalent du ansible-workbook est une config graphique dans Rudder.

    Effectivement, un playbook correspond plus ou moins à une Règle dans Rudder (qui est configurée via l'interface Web ou l'API). Une Règle regroupe des éléments de configurations issus de Techniques ("configuration de nginx", "configuration du serveur SSH", etc.) en un ensemble qui a un sens métier ("serveur de cache Web", "serveur de base de données", etc.), et les associe à un groupe de machines.

    Je n'ai pas trouvé la doc expliquant comment rajouter une Technique et si il y a des contraintes (e.g. FAUT utiliser ncf ?)

    La création de Techniques peut se faire de deux manières :

    • en utilisant le Technique Editor (accessible dans https://demo.rudder-project.org/, Utilities -> Technique editor) qui est une interface Web de construction de techniques à partir de méthodes de base ("s'assurer de la présence d'un package", "s'assurer qu'un service est démarré", etc.). Il est intégré à Rudder et très simple d'utilisation, tout en permettant d'établir des liens entre les actions (n'exécuter une action que si une autre est en erreur, ou quand un fichier a été modifié, etc.) ou de manipuler des variables. C'est la solution conseillée en général.
    • en écrivant du code de configuration, ainsi qu'un fichier de description des paramètres en entrée (ce qui correspond au contenu du dépôt https://github.com/Normation/rudder-techniques). C'est la méthode la plus souple, mais elle demande un apprentissage particulier (notamment le framework de configuration ncf).

    Ansible peut lire la config Rudder http://www.rudder-project.org/doc-4.0/_use_the_inventory_in_ansible.html

    Plus précisément, Ansible peut utiliser Rudder comme inventaire dynamique, pour récupérer la liste des noeuds et leurs propriétés (groupe, variables clé-valeur associées). Rudder et Ansible peuvent ainsi être utilisés de manière complémentaire, avec Rudder pour le maintien du socle (gestion des programmes installés, configuration système: utilisateurs, sécurité, etc.) et Ansible pour l'exécution d'actions ponctuelles et de tâches d'orchestration (déploiement, etc.).