Ansible (программное обеспечение) - Ansible (software)

Ansible
Ansible logo.svg
Оригинальный автор (ы)Майкл ДеХаан
Разработчики)Сообщество Ansible / Ansible Inc. / Red Hat Inc.
изначальный выпуск20 февраля 2012 г.; 8 лет назад (2012-02-20)
Стабильный выпуск
2.10.2 / 6 октября 2020 г.; 54 дней назад (2020-10-06)[1]
Репозиторий Отредактируйте это в Викиданных
Написано вPython, PowerShell, Оболочка, Рубин
Операционная системаLinux, Unix-подобный, MacOS, Windows
Доступно ванглийский
ТипУправление конфигурацией, инфраструктура как код (IaC), Механизм оркестрации
ЛицензияПроприетарный / Стандартная общественная лицензия GNU
Интернет сайтwww.ansible.com Отредактируйте это в Викиданных

Ansible является Открытый исходный код программного обеспечения обеспечение, управление конфигурацией и развертывание приложений инструмент, позволяющий инфраструктура как код.[2] Он работает на многих Unix-подобный систем, и может настраивать как Unix-подобные системы, так и Майкрософт Виндоус. Он включает в себя декларативный язык описать конфигурация системы.Ansible был написан Майклом ДеХааном и приобретен Красная Шапка в 2015 году. Ansible - это безагентный, временное удаленное подключение через SSH или Удаленное управление Windows (позволяя удаленный PowerShell исполнение) для выполнения своих задач.

История

Период, термин "анзибль "был придуман Урсула К. Ле Гуин в ее романе 1966 года Мир Роканнона,[3] и относится к вымышленным системам мгновенной связи.[4][5]

Инструмент Ansible был разработан Майклом ДеХааном, автором приложения сервера подготовки. Сапожник и соавтор Единый сетевой контроллер Fedora (Func) фреймворк для удаленного администрирования.[6]

Ansible, Inc. (первоначально AnsibleWorks, Inc.) была компанией, созданной для коммерческой поддержки и спонсирования Ansible.[7][8] Красная Шапка приобрел Ansible в октябре 2015 года.[9][10]

Ansible входит в состав Fedora дистрибутив Linux, принадлежащий Красная Шапка, а также доступен для Red Hat Enterprise Linux, CentOS, openSUSE, SUSE Linux Enterprise, Debian, Ubuntu, Научный Linux, и Oracle Linux через Extra Packages для Enterprise Linux (EPEL), а также для других операционных систем.[11]


Архитектура

В отличие от большинства программного обеспечения для управления конфигурацией, Ansible не требует единой управляющей машины, на которой начинается оркестровка.[12] Ansible работает с несколькими системами в вашей инфраструктуре, выбирая части инвентаря Ansible, хранящиеся в виде текстовых файлов ASCII с возможностью редактирования и поддержки версий. Этот инвентарь не только настраивается, но вы также можете использовать несколько файлов инвентаризации одновременно и извлекать инвентарь из динамических или облачных источников или различных форматов (YAML, INI, так далее.).[13] Любая машина с установленными утилитами Ansible может использовать набор файлов / каталогов для оркестровки других узлов. Отсутствие требования к центральному серверу значительно упрощает планирование аварийного восстановления.[12] Узлы управляются этой управляющей машиной - обычно через SSH. Управляющая машина описывает расположение узлов через свои инвентарь.[13] Конфиденциальные данные можно хранить в зашифрованных файлах с помощью Ansible Vault.[14] с 2014 года.[15]В отличие от других популярных программ для управления конфигурацией, таких как Повар, Кукольный, и CFEngine - Ansible использует безагентный архитектура,[16] с программным обеспечением Ansible, которое обычно не работает или даже не установлено на контролируемом узле.[16] Вместо этого Ansible управляет узлом, временно устанавливая и запуская модули на узле через SSH. На время выполнения задачи оркестрации процесс, запускающий модуль, обменивается данными с управляющей машиной с помощью JSON протокол на основе стандартного ввода и вывода.[17] Когда Ansible не управляет узлом, он не потребляет ресурсы на узле, потому что никакие демоны не выполняются или программное обеспечение не установлено.[16]

Цели дизайна

Цели дизайна Ansible включают:[17]

  • Минимальный характер. Системы управления не должны навязывать дополнительную зависимость от окружающей среды.[16]
  • Последовательный. Используя Ansible, можно создавать согласованные среды.
  • Надежно. Ansible не развертывает агентов на узлах. Только OpenSSH и Python требуются на управляемых узлах.[16][12]
  • Высокая надежность. При тщательном написании Ansible playbook может быть идемпотент, чтобы предотвратить непредвиденные побочные эффекты в управляемых системах.[18] Вполне возможно иметь плохо написанный сценарий, который не является идемпотентным.
  • Требуется минимальное обучение. В пособиях используется простой и наглядный язык, основанный на YAML и Шаблоны Jinja.

Модули

Модули[19] в основном являются автономными и могут быть написаны на стандартном языке сценариев (например, Python, Perl, Ruby, Bash и т. д.). Одно из основных свойств модулей: идемпотентность, что означает, что даже если операция повторяется несколько раз (например, при восстановлении после сбоя), она всегда переводит систему в одно и то же состояние.[17]

Конфигурация инвентаря

Инвентарь - это описание узлов, к которым может получить доступ Ansible. По умолчанию инвентарь описывается файлом конфигурации в INI или YAML формат,[20] чье местоположение по умолчанию находится в / etc / ansible / hosts. В файле конфигурации указан IP-адрес или имя хоста каждого узла, доступного Ansible. Кроме того, узлы можно назначать в группы.[13]

Пример инвентаря:

192.168.6.1[веб-серверы]foo.example.combar.example.com

Этот файл конфигурации определяет три узла: первый узел определяется IP-адресом, а последние два узла задаются именами узлов. Кроме того, последние два узла сгруппированы под веб-серверы группа.

Ansible также может использовать пользовательский Динамический инвентарь скрипт, который может динамически извлекать данные из другой системы, [21] и поддерживает группы групп.[22]

Учебники

Пособия YAML файлы, которые выражают конфигурации, развертывание и оркестровку в Ansible,[23] и позволяют Ansible выполнять операции на управляемых узлах. Каждое пособие сопоставляет группу хостов с набором ролей. Каждая роль представлена ​​обращениями к задачам Ansible.[24]

Ансибл Тауэр

Ansible Tower - это REST API, веб-сервис, а также веб-консоль, призванная сделать Ansible более удобным для использования ИТ-командами, имеющими различные технические знания и навыки. Это центр для задач автоматизации. Tower - коммерческий продукт, поддерживаемый Red Hat, Inc., но созданный на основе восходящего проекта AWX, который является открытым исходным кодом с сентября 2017 года.[25][26][27][28]

Была также еще одна альтернатива Tower с открытым исходным кодом, Семафор, написано в Идти но не поддерживается.[29][30]

Поддержка платформы

Управляющие машины должны быть хостом Linux / Unix (например, SUSE Linux Enterprise, Red Hat Enterprise Linux, Debian, CentOS, macOS, BSD, Ubuntu[11]), и требуется Python 2.7 или 3.5.[31]

Управляемые узлы, если они Unix-подобны, должны иметь Python 2.4 или новее. Для управляемых узлов с Python 2.5 или более ранней версии python-simplejson пакет также требуется.[32] Начиная с версии 1.7, Ansible также может управлять Windows[33] узлы.[32] В этом случае вместо SSH используется собственное удаленное взаимодействие PowerShell, поддерживаемое протоколом WS-Management.

Облачная интеграция

Ansible можно развернуть на оголенный метал хосты, виртуализированные системы и облачные среды, в том числе Веб-сервисы Amazon, Атомная, Люмен, Облачная шкала, CloudStack, DigitalOcean, Данные измерения, Докер, Облачная платформа Google, KVM, Линод, LXC, LXD, Microsoft Azure, OpenStack, Oracle Cloud, OVH, OVirt, Пакет, Profitbricks, PubNub, Rackspace, Scaleway, SmartOS, SoftLayer, Univention, VMware, Webfaction и XenServer.[17][34]

AnsibleFest

AnsibleFest - это ежегодная конференция сообщества пользователей, участников и т. Д. Ansible.[35]

ГодРасположение
2016Лондон
2016Сан-Франциско
2016Бруклин
2017Лондон
2017Сан-Франциско
2018Остин, Техас
2019Атланта
2020Виртуальный только из-за COVID-19 пандемия

Смотрите также

использованная литература

  1. ^ "Релизы - анзибл / анзибл". Получено 22 апреля 2020 - через GitHub.
  2. ^ Штатный писатель. «Обзор - как работает Ansible». ansible.com. Красная Шапка, Inc. стр. 1. Получено 7 декабря, 2016.
  3. ^ Бернардо, Сьюзен; Мерфи, Грэм Дж (2006). Урсула К. Ле Гуин: критический товарищ. Вестпорт, Коннектикут: Greenwood Press. п.18. ISBN  9780313027307. OCLC  230345464.
  4. ^ Сообщество Ansible. "Часто задаваемые вопросы". docs.ansible.com. Ansible Documentation. Красная Шапка, Inc. стр. 1. Получено 30 апреля, 2013.
  5. ^ ДеХаан, Майкл (29 января 2014 г.). "Сообщение Google Групп - Ansible Project". groups.google.com. п. 1. Получено 26 апреля, 2017.
  6. ^ Maughan, Майк (17 апреля 2012 г.). "Интервью с писателем Ansible Майклом ДеХааном". coloandcloud.com. ООО "Маугансем". п. 1. Архивировано из оригинал 14 ноября 2012 г.. Получено 5 ноября, 2012.
  7. ^ "Об Ансибле". Ansible, Inc. стр. 1. Архивировано из оригинал 5 сентября 2015 г.. Получено 8 июля, 2016.
  8. ^ Bloomberg Research. "Ansible, Inc .: Информация о частной компании". Программное обеспечение и службы Интернета. Bloomberg L.P. п. 1. Получено 8 июля, 2016.
  9. ^ Новет, Иордания (15 октября 2015 г.). «Источник: Red Hat покупает Ansible более чем за 100 миллионов долларов». venturebeat.com. VentureBeat, Inc. п. 1. Получено 16 октября, 2015.
  10. ^ Штатный писатель (16 октября 2015 г.). «Red Hat приобретает лидера в области ИТ-автоматизации и DevOps - Ansible». redhat.com. Красная Шапка, Inc. Получено 16 октября, 2015.
  11. ^ а б Ульяницкий, Николай. "доступная загрузка (DEB, RPM, TGZ, TXZ, XZ)". pkgs.org. Поиск пакетов Linux. п. 1. Получено 5 ноября, 2012.
  12. ^ а б c «Руководство по установке - Ansible Documentation». docs.ansible.com. Получено 2018-11-30.
  13. ^ а б c Сообщество Ansible. «Инвентарь». docs.ansible.com. Ansible Documentation. Красная Шапка, Inc. стр. 1. Получено 26 апреля, 2014.
  14. ^ «Ansible Vault - Ansible Documentation». docs.ansible.com.
  15. ^ "Ansible vault: структура для шифрования любого playbook или файла var. · Ansible / ansible @ 427b8dc". GitHub.
  16. ^ а б c d е «Преимущества безагентной архитектуры» (PDF). Красная Шапка, Inc. стр. 5.
  17. ^ а б c d "Ансибл в глубине" (PDF). Красная Шапка, Inc. стр. 5.
  18. ^ «Достижение непрерывных обновлений и непрерывного развертывания с нулевым временем простоя» (PDF). Красная Шапка, Inc. стр. 7.
  19. ^ "Указатель модулей - Ansible Documentation". docs.ansible.com.
  20. ^ «Работа с инвентарем - Ansible Documentation». docs.ansible.com. Получено 2018-11-30.
  21. ^ Сообщество Ansible. «Динамический инвентарь». docs.ansible.com. Ansible Documentation. Красная Шапка, Inc. стр. 1. Получено 25 ноября, 2016.
  22. ^ «Как создать свой инвентарь - Ansible Documentation». docs.ansible.com.
  23. ^ Сообщество Ansible. "Playbooks". docs.ansible.com. Ansible Documentation. Red Hat, Inc. стр. 1. Получено 26 апреля, 2014.
  24. ^ Сообщество Ansible. «Организация задач и обработчиков для роли». docs.ansible.com. Ansible Documentation. Красная Шапка, Inc. стр. 1. Получено 25 ноября, 2016.
  25. ^ Redditors (19 февраля 2016 г.). «Ansible объявляет о том, что Tower в ближайшем будущем станет Open Source на AnsibleFest!». reddit.com. Reddit. п. 1. Получено 20 июля, 2017.
  26. ^ Штатный писатель. «Проект открытой башни». ansible.com/open-tower. Красная Шапка, Inc. стр. 1. Получено 21 января, 2017.
  27. ^ Шляпа, Ансибл, Красный. "Вопросы и ответы по проекту AWX | Ansible.com". www.ansible.com.
  28. ^ "ansible / awx". 25 марта 2020 г. - через GitHub.
  29. ^ Семафорное сообщество. «Семафор API». ansible-semaphore.github.io. п. 1. Получено 20 июля, 2017.
  30. ^ Семафорное сообщество. "анзибл-семафор". github.com/ansible-semaphore. Castaway Consulting LLC. Получено 21 января, 2017.
  31. ^ Сообщество Ansible. «Поддержка Python 3». docs.ansible.com. Ansible Documentation. Красная Шапка, Inc. стр. 1. Получено 6 июля, 2017.
  32. ^ а б Сообщество Ansible. "Начиная". docs.ansible.com. Ansible Documentation. Красная Шапка, Inc. стр. 1. Получено 6 февраля, 2014.
  33. ^ ДеХаан, Майкл (6 августа 2014 г.). «Выпущен Ansible 1.7 - бета-версия Windows и многое другое!». ansible.com/blog. The Inside Playbook. Ansible, Inc. стр. 1. Получено 7 августа, 2014.
  34. ^ Сообщество Ansible. «Список облачных модулей». docs.ansible.com. Ansible Documentation. Красная Шапка, Inc. стр. 1. Получено 28 апреля, 2017.
  35. ^ «АнсиблФест». Ansible. Red Hat, Inc. Получено 4 октября, 2018.

внешние ссылки