Est-ce une bonne idée de faire Ansible et Rundeck travailler ensemble, ou à l'aide de l'un des deux est suffisant?
Récemment, je suis à la recherche d'Ansible et souhaitez l'utiliser dans des projets. Et il y a également un autre outil de Rundeck peut être utilisé pour faire toutes sortes d'Opérations de travaux. J'ai de l'expérience avec ni l'outil, et c'est ma compréhension actuelle à leur sujet:
Des points similaires
-
Les deux outils sont à l'agent de moins et d'utiliser SSH pour exécuter des commandes sur des serveurs distants
-
Rundeck du concept principal est le Nœud, le même que Ansible de l'inventaire, l'idée clé est de définir/gérer/groupe de serveurs cible
- Rundeck peut exécuter des commandes ad hoc sur les nœuds sélectionnés, Ansible pouvez également le faire très facilement.
- Rundeck pouvez définir des flux de travail et de faire de l'exécution sur les nœuds sélectionnés, ce qui peut être fait avec Ansible par écrit playbook
- Rundeck peut être intégré avec CI comme outil Jenkins faire déployer travail, nous pouvons aussi définir un Jenkins exécution du travail de ansible-playbook à faire de déployer travail
Différents points
-
Rundeck est le concept de Travail, qui Ansible ne pas
-
Rundeck a Job Scheduler, qui Ansible ne pourrez le faire qu'avec d'autres outils comme Jenkins ou des tâches Cron
-
Rundeck a l'INTERFACE Web par défaut est gratuite, mais vous devez payer pour Ansible Tour
Semble à la fois Ansible et Rundeck peut être utilisé pour faire de la configuration/gestion/déploiement travail, peut-être d'une manière différente. Donc mes questions sont:
- Sont ces deux outils complémentaires, ou ils sont conçus à des fins différentes? Si ils sont des outils complémentaires, pourquoi est-Ansibl seulement par rapport à des outils comme Chef/Puppet/Lattes, mais pas avec Rundeck? Si ils ne sont pas pourquoi ils ont tellement de nombreuses fonctionnalités similaires?
- Nous sommes déjà à l'aide de Jenkins pour l'IC, de construire une ceinture de Livraison de pipeline, l'outil(Ansible/Rundeck) est une meilleure idée de l'utiliser pour faire le déploiement?
- Si elles peuvent être utilisées ensemble, quelle est la meilleure pratique?
Toutes les suggestions et le partage d'expérience sont grandement appréciés.
- peut-être que c'est une aide de lien
- C'est vraiment une opinion fondée question, il est donc peu probable d'ajouter beaucoup de valeur à partir de ce point de vue.
Vous devez vous connecter pour publier un commentaire.
TL;DR - compte tenu de votre environnement de Jenkins pour la CI/CD, je vous recommande d'utiliser seulement Ansible.
Vous avez repéré qu'il est important de cross-over entre Ansible & Rundeck, donc c'est probablement mieux de se concentrer sur l'endroit où chaque produit met l'accent sur le style et l'utilisation.
L'accent
Je crois Rundeck, l'accent est mis en permettant aux administrateurs systèmes de construire un (web) portail en libre-service qui est accessible à tous, les autres administrateurs système et, potentiellement, de moins en moins "technique"/sysadmin personnes. Rundeck du site dit "Transformer votre des procédures de fonctionnement en libre-service emplois. En toute sécurité à donner à d'autres le contrôle et la visibilité dont ils ont besoin.". Rundeck aussi se sent comme il a une plus centralisée vue sur le monde: vous vous chargez de l'emploi dans une base de données et c'est là où ils vivent.
Pour moi, Ansible est pour devops - ainsi, la construction et l'automatisation des déploiements de (auto-construction) des applications d'une façon telle qu'ils sont hautement reproductibles. Je dirais que Ansible est plus ciblée pour les entreprises de développement logiciel qui construisent leurs propres produits: Ansible 'tablettes playbook" sont des fichiers texte, qui sont normalement stockées dans la source de contrôle et, normalement, à côté de l'application que les tablettes playbook va déployer.
Travail de création de
Avec Rundeck en général, vous créez des emplois via l'INTERFACE web.
Avec Ansible vous créez des tâches/tablettes playbook dans des fichiers via un éditeur de texte.
Fonctionnement/Travail/Travail De Style
Rundeck par défaut est impératif pour vous d'écrire des scripts qui sont exécutés (via SSH).
Ansible est à la fois impératif (c'est à dire exécuter bash états), mais aussi déclarative, dans certains cas, dire, démarrage d'Apache, vous pouvez utiliser le
service
tâche de veiller à ce qu'il est en cours d'exécution. Ce qui est plus proche à d'autres la gestion de la configuration des outils comme Puppet et Chef.Complexe emplois /scripts
Rundeck a la possibilité d'exécuter un autre travail par la définition d'une étape de la Tâche de flux de travail mais, par expérience, cela se sent comme une cloué sur plus de sérieux de haut niveau de fonctionnalité.
Ansible est conçu pour créer des opérations complexes; l'exécution de/y compris/etc sont de haut niveau de fonctionnalités.
Comment il fonctionne,
Rundeck est un serveur d'application. Si vous souhaitez exécuter des travaux à partir de quelque part d'autre (comme CI), vous aurez soit besoin de faire appel à l'interface cli ou faire un appel d'API.
Droite Ansible est en ligne de commande.
Condition
En raison du cross-over et la flexibilité globale de Rundeck et Ansible, vous pouvait atteindre tous les objectifs ci-dessus dans chaque. Vous pouvez obtenir le contrôle de version de votre Rundeck emplois en les exportant vers YAML ou XML et du contrôle dans le contrôle de source. Vous pouvez obtenir une INTERFACE web en Ansible à l'aide de la Tour. etc. etc. etc.
Vos questions:
Outils complémentaires?
Je me suis imaginé un SaaS boutique en utilisant à la fois: on peut utiliser Ansible pour effectuer toutes les actions de déploiement et ensuite utiliser Rundeck pour effectuer un arrêt, adhoc emplois.
Cependant, alors que je pouvais l'imaginer je ne recommande pas que comme un point de départ. Moi, j'aimerais commencer avec juste Ansible et de voir jusqu'ou je peux aller. Je serais seule couche dans Rundeck si, plus tard, j'ai découvert que j'ai vraiment, vraiment besoin d'exécuter un compromis.
CI/CD
Ansible: votre environnement ressemble plus à un logiciel maison où vous déployez votre propre application. Il devrait probablement être reproductibles (d'autant que vous allez à la Livraison Continue) si vous voulez que votre déployer des scripts de contrôle de code source. Vous aurez envie de simplicité et d'Ansible est "juste les fichiers texte". J'espère que vous aurez également besoin de votre devs pour être en mesure d'exécuter des choses sur leurs machines (à droite?), Ansible est décentralisée.
Utilisés ensemble (pour la CI/CD)
L'appel de Rundeck de Ansible, pas. Bien sûr, il serait possible mais j'ai du mal à venir avec de bonnes raisons. Au moins, pas très spécialisées spécifiques-pour-un-particulier-app-ou-cadre raisons.
Appel Ansible de Rundeck, oui. Je pouvais imaginer quelqu'un d'abord de la construction de certains reproductible adhoc commandes dans Ansible. Ensuite, j'ai pu voir il y a un peu de demande pour pouvoir appeler sans une ligne de commande (dire: utilisateurs non techniques). Mais, encore une fois, c'est arriver spécifiques à votre environnement.
Il est basé uniquement sur vos besoins.
J'utilise rundeck à distance l'exécution du script et de l'application des déploiements. J'ai intégré avec Contremaître pour couvrir l'approvisionnement et la gestion de la configuration.
Si vous avez des contraintes de budget ne cherchez plus, Rundeck rochers. Vous risquez de manquer des fonctionnalités dans Ansible bien. Aussi le groupe Google est assez bien très actif dans le cas de soutien.
Si vous avez le budget à investir dans ansible tour et vous ne pouvez pas besoin d'autre chose.
Mon point de rundeck et ansible (gratuit, sans tour), différents type d'emploi
Ansible (sans tour) - gestion de la configuration ( serveur /app disposition, la masse config mises à jour)
Rundeck Centralisé planificateur de travail avec le contrôle d'accès, de notification, de sortie de travail etc. (archives de vieux journaux, exécuter des scripts, etc.)
À l'époque, cette question a été posée à l'auteur l'a si bien dit que Ansible seulement fourni une INTERFACE utilisateur pour une taxe.
L'INTERFACE utilisateur est maintenant open-source: AWX
Serveur normes ansible.
Adhoc/opération de la tâche d'aller rundeck.
C'est ce que j'utilise actuellement.
Si vous allez les utiliser en tant que portail libre service pour les développeurs ou les OPS équipe
alors je dirais que RBAC est plus simple et intuitive, plus claire de la mise en œuvre dans la Tour plutôt dans Rundeck. Examiner la façon dont beaucoup d'efforts et de complexité est nécessaire pour la mise en RBAC, car il peut être crucial pour les équipes de l'appui de cette de produits.
API REST dans la Tour est plus simple et plus facile à analyser plutôt que de Rundeck.
Dans la Tour, vous pouvez voir les événements par playbook tâche tout en Rundeck tout est jeté dans une sortie de la console.
Dynamique des stocks dans la Tour sont très utiles avec des déploiements de clouds publics.