Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

История [ править ]

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

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

Ansible, Inc. (первоначально AnsibleWorks, Inc.) - это компания, основанная в 2013 году Майклом ДеХааном, Тимоти Герла и Саидом Зиуани для коммерческой поддержки и спонсирования Ansible. [7] [8] [9] Red Hat приобрела Ansible в октябре 2015 года. [10] [11]

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

Архитектура [ править ]

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

Цели дизайна [ править ]

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

  • Минимальный характер. Системы управления не должны навязывать дополнительную зависимость от окружающей среды. [17]
  • Последовательный. С помощью Ansible можно создавать согласованные среды.
  • Безопасный. Ansible не развертывает агентов на узлах. На управляемых узлах требуются только OpenSSH и Python . [17] [13]
  • Надежный. При тщательном написании сборник сценариев Ansible может быть идемпотентным , чтобы предотвратить неожиданные побочные эффекты в управляемых системах. [19] Можно писать неидемпотентные пьесы.
  • Требуется минимальное обучение. Playbooks используют простой и наглядный язык, основанный на шаблонах YAML и Jinja .

Модули [ править ]

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

Конфигурация инвентаря [ править ]

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

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

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

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

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

Пособия [ править ]

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

Ansible Tower [ править ]

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

Была также еще одна альтернатива Tower с открытым исходным кодом, Semaphore , написанная на Go [30] [31]

Поддержка платформы [ править ]

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

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

Облачная интеграция [ править ]

Ansible может развертываться на голых хостах, виртуальных машинах и облачных средах, включая Amazon Web Services , Atomic, Lumen , Cloudscale, CloudStack , DigitalOcean , Dimension Data , Docker , Google Cloud Platform , KVM , Linode , LXC , LXD, Microsoft Azure , OpenStack , Oracle Cloud , OVH , oVirt , Packet, Profitbricks, PubNub , Rackspace , Scaleway ,SmartOS , SoftLayer , Univention , VMware , Webfaction и XenServer . [18] [35]

AnsibleFest [ править ]

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

См. Также [ править ]

  • Сравнение программного обеспечения для управления конфигурацией с открытым исходным кодом
  • Инфраструктура как код (IaC)
  • Инфраструктура как инструменты кода

Ссылки [ править ]

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

Внешние ссылки [ править ]

  • Официальный веб-сайт