Які обмеження Лялечки порівняно з Ansible?


17

Я хотів би зрозуміти відмінності між Ляльковим та Відповідальним, особливо, яке обмеження має ляльковий порівняно з Ansible.

Чи є речі, які ви не можете зробити в Лялькові, але ви можете в Ansible? Іншими словами, чому деякі люди відходять від Лялечки до відповіді?


Я відповів, що моя відповідь була відокремленою від цього, одна з причин може бути, всі гроші, що їх інвестують.
ᴳᵁᴵᴰᴼ

Відповіді:


20

Звичайно, є кілька плюсів і мінусів для кожного з ляльок, відповідей, шеф-кухаря, а також додайте тут свій улюблений інструмент . Тож я спробую утриматися від думки та поділитись тим, що є чудовим в Ansible.

Основна здатність, яка ставить Ansible вище за інших, - це не покладатися на якийсь спеціальний / додатковий агент, що працює на цільових вузлах, натомість заснований лише на ssh-з'єднаннях. Так, для цього все ще потрібен ssh-сервер, Python та купа бібліотек Python на вузлах, і якщо ваш дистрибутив на вибір (або, удача, є кілька вузлів Windows) не постачається з ними, це буде небагато боляче завантажуватися. Але це малоймовірно, і, можливо, навіть змусить вас задуматися про свій дистрибутив.

Це спростить моніторинг, не вживатиме додаткових ресурсів, не змусить систему постійно запускати демон, а загалом почувати себе краще у філософії UNIX. Шеф-кухар chef-solo, Лялечку можна запускати без магістра, але вони обидва працюють "в інший бік", клонуючи і через гачки відповідно. Хоча з Ansible, злиття у сховищі джерел може спричинити розгортання у такий спосіб, яким ми всі зручні, будь то в Дженкінсі, у git master або в іншому інструменті, наприклад Rundeck.


Варто зауважити, що якщо ви зіпсували свою ssh-конфігурацію з ansible, ви заблоковані з машини, це і є недоліком моделі push. Лялька чи шеф-кухар можуть працювати над роботою crontab, тому вони взагалі не впливатимуть на систему, ніж на відповідальний код Python
Tensibai

1
Примітка про агентів: Мене схвалили взяти на борт Ansible в HSE (середовищі підвищеної безпеки) команда з безпеки, яка відмовилася від шеф-кухаря та ляльки, навіть у бездоганній конфігурації. Агент без агентів є виграшним фактором у деяких випадках.
Woodland Hunter

2
Якщо ви зламаєте налаштування SSH, у вас у будь-якому випадку виникнуть проблеми поза програмою Ansible. Добре практика DevOps перевіряти такі речі, як зміни SSH в різних середовищах, перш ніж вони дістаються до виробництва, а також можливо перевірити правильність конфігурації SSH як частина його написання - templateмодуль Ansible робить це досить просто.
RichVel

Я чув, як люди доводили аргумент, що архітектура Ansible, що не потребує агентів, робить її більш придатною для управління, наприклад, маршрутизаторами, де ви не можете встановити ляльковий агент. Але чи приходять такі пристрої з інтерпретаторами Python? Можливо, ні, так чи справді Python є суттєвою вимогою до кожного компонента, яким керує Ansible?
Друкс

10

Ні, люди, які рухаються від Лялечки до Відповідального (або навпаки), не мають нічого спільного з тим, що можна чи не можна досягти за допомогою будь-якого інструменту. Лялька / шеф-кухар / відповідь - це переважно питання смаку.

Наприклад, Ansible базується на Python, і розробники Python, як правило, відчувають себе вдома більше (не потрібно вивчати DSL) або Ruby (для шеф-кухаря)). Розробникам Python простіше розширити і Ansible.

Але по суті вони всі дуже схожі з точки зору того, що ви можете досягти. Деякі мають відносні сильні сторони в одних сферах, а слабкі в інших, але зазвичай вибір між ними здійснюється за стилем / культурою / уподобанням колективу.


8

До Puppet 4.0 не було простого способу впорядкувати додаток, розповсюджений на декілька серверів або служб, оскільки важко було спеціально замовити дії в Puppet, що було вибором дизайну . Ansible було краще організовувати та замовляти кроки, особливо на декількох серверах. Це було особливо важливо в додатках, коли неправильний порядок дій може призвести до помилок, які не можна виправити через повторення цих кроків, поки не вдасться досягти можливої ​​послідовності.

Це вже не є питанням, тому розрізнення значною мірою ґрунтуються на перевазі.


2
Вибір дизайну ляльок був однією з причин того, що шеф-кухар почав, і головне, що я переїхав до шеф-кухаря для нашої інфраструктури та системи CD кілька років тому.
Тенсібай

2
Оркестрація ляльок є лише функцією "Лялькове підприємство" (комерційна), тоді як оркестрація в Ansible - у відкритій версії. Взагалі, Ansible набагато простіше встановити та вивчити, ніж Ляльковий - зробивши певну оцінку обох, я зараз використовую Ansible. Є й інші відмінності, тому це не лише питання особистої переваги.
RichVel

1
Я використовую Ansible як у своїй колишній, так і в теперішній роботі, але у неї є свої проблеми. Чим більше я використовую Ansible, тим більше мені цікаво вивчити іншу альтернативу. Я вважаю за краще, щоб ця альтернатива не використовувала Python для розробки модулів та була активна життєво важлива спільнота з відкритим кодом. Запит на витяг для Ansible потребує майже року, щоб його навіть переглянули. З цією швидкістю це може бути настільки ж фірмовим.
Jiri Klouda

1
Багато людей скаржаться на маріонеткового агента, але коли ви перебуваєте в хмарі, і ви автоматично розмовляєте групу, і не хочете перебудовувати образ свого vm, добре, що vm підключається до лялькового господаря, я не бачу жодної проблеми мати невеликого агента.
c4f4t0r
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.