Анзибль (программное обеспечение)
![]() | Эта статья может быть слишком технической для понимания большинства читателей . ( Апрель 2022 г. ) |
![]() | |
Оригинальный автор(ы) | Майкл ДеХаан |
---|---|
Разработчик(и) | Сообщество Ansible / Ansible Inc. / Red Hat Inc. |
Первоначальный выпуск | 20 февраля 2012 г нужна ссылка ] | [
Стабильная версия | 2.17.2 [1] ![]() |
Репозиторий | |
Написано в | Питон , PowerShell , оболочка |
Операционная система | Linux , Unix-подобные , MacOS , Windows |
Доступно в | Английский |
Тип | Управление конфигурацией , инфраструктура как код (IaC), механизм оркестрации |
Лицензия | Стандартная общественная лицензия GNU версии 3. |
Веб-сайт | www ![]() |
Ansible — это набор программных инструментов, которые позволяют использовать инфраструктуру в виде кода . Это открытым исходным кодом пакет с , который включает в себя предоставление программного обеспечения , управление конфигурацией и развертывания приложений . функции [2]
Первоначально написанный Майклом ДеХааном в 2012 году и приобретенный Red Hat в 2015 году, Ansible предназначен для настройки как Unix-подобных систем, так и Microsoft Windows . Ansible не требует агентов и полагается на временные удаленные подключения через SSH или удаленное управление Windows , что позволяет выполнять PowerShell . Узел управления Ansible работает в большинстве Unix-подобных систем, поддерживающих Python , включая Windows с установленной подсистемой Windows для Linux . [3] Конфигурация системы частично определяется с помощью собственного декларативного языка .
История
[ редактировать ]Термин « ансибль » был придуман Урсулой К. Ле Гуин в ее романе 1966 года «Мир Роканнона» . [4] и относится к вымышленным системам мгновенной связи. [5] [6]
Инструмент Ansible был разработан Майклом ДеХааном, автором серверного приложения Cobbler и соавтором инфраструктуры Fedora Unified Network Controller (Func) для удаленного администрирования. [7]
Ansible, Inc. (первоначально AnsibleWorks, Inc.) — компания, основанная в 2013 году ДеХааном, Тимоти Герлой и Саидом Зиуани для коммерческой поддержки и спонсирования Ansible. [8] [9] [10] Red Hat приобрела Ansible в октябре 2015 года. [11] [12]
Ansible включен в состав дистрибутива Linux Fedora , принадлежащего Red Hat , а также доступен для Red Hat Enterprise Linux , CentOS , openSUSE , SUSE Linux Enterprise , Debian , Ubuntu , Scientific Linux и Oracle Linux через дополнительные пакеты для Enterprise. Linux, а также для других операционных систем. [13]
Архитектура
[ редактировать ]Обзор
[ редактировать ]Ansible помогает управлять несколькими машинами, выбирая части инвентаря Ansible, хранящиеся в простых текстовых файлах. Инвентаризация настраивается, а инвентаризация целевого компьютера может быть получена динамически или из облачных источников в различных форматах ( YAML , INI ). [14]
Конфиденциальные данные можно хранить в зашифрованных файлах с помощью Ansible Vault. [15] с 2014 года. [16] В отличие от других популярных программ управления конфигурацией, таких как Chef , Puppet , Salt и CFEngine , Ansible использует безагентную архитектуру. [17] с Программное обеспечение Ansible обычно не работает и даже не установлено на контролируемом узле. [17] Вместо этого Ansible управляет узлом, модули временно устанавливая и запуская на нем через SSH. Во время выполнения задачи оркестрации процесс, запускающий модуль, взаимодействует с управляющей машиной с помощью протокола на основе JSON через стандартный ввод и вывод. [18] Когда Ansible не управляет узлом, он не потребляет ресурсы на узле, поскольку не демоны и не устанавливается программное обеспечение. запускаются [17]
Зависимости
[ редактировать ]Ansible требует , чтобы Python был установлен на всех управляющих компьютерах, включая менеджер пакетов pip , а также программное обеспечение для управления конфигурацией и зависимые от него пакеты. Управляемые сетевые устройства не требуют дополнительных зависимостей и не требуют агентов. [19]
Узел управления
[ редактировать ]Узел управления (главный хост) предназначен для управления (оркестрирования) целевыми машинами (узлы, называемые « инвентаризация », см. ниже). [20] Узлы управления могут запускаться из Linux и Unix-подобных операционных систем (включая MacOS ); Операционные системы Windows поддерживаются только через подсистему Windows для Linux . [21] Допускается использование нескольких узлов управления. [20] Ansible не требует единой управляющей машины для оркестровки. [22] обеспечение простоты аварийного восстановления. [22] Узлы управляются управляющим узлом через SSH .
Цели дизайна
[ редактировать ]Цели проектирования Ansible включают в себя: [18]
- Минималистичный по своей природе. Системы управления не должны налагать дополнительные зависимости от окружающей среды. [17]
- Последовательный. С помощью Ansible можно создавать согласованные среды.
- Безопасный. Ansible не развертывает агентов на узлах. только OpenSSH и Python. На управляемых узлах требуются [17] [22]
- Надежный. При тщательном написании сборник сценариев Ansible может быть идемпотентным , чтобы предотвратить неожиданные побочные эффекты на управляемые системы. [23] Можно написать неидемпотентные пьесы.
- Требуется минимальное обучение. В Playbooks используется простой и описательный язык, основанный на шаблонах YAML и Jinja .
Модули
[ редактировать ]Модули [24] в основном автономны и могут быть написаны на стандартном языке сценариев (например, Python, Perl , Ruby , Bash и т. д.). [ нужна ссылка ] . Одной из основных целей модулей является идемпотентность, которая означает, что даже если операция повторяется несколько раз (например, при восстановлении после сбоя), она всегда переводит систему в одно и то же состояние. [18] [ нужен неосновной источник ]
Конфигурация инвентаря
[ редактировать ]Местоположение целевых узлов указывается с помощью списков конфигурации инвентаря (в формате INI или YAML), расположенных по адресу /etc/ansible/hosts
(в Linux). [14] [25] В файле конфигурации указан либо IP-адрес , либо имя хоста каждого узла, доступного для Ansible. Кроме того, узлы можно объединять в группы. [14]
Пример формата инвентаря ( INI-файл ):
192.168.6.1
[webservers]
foo.example.com
bar.example.com
В этом файле конфигурации указаны три узла: первый узел указан по IP-адресу, а два последних узла указаны по именам хостов. Кроме того, последние два узла сгруппированы под webservers
группа.
Ansible также может использовать собственный сценарий динамической инвентаризации , который может динамически извлекать данные из другой системы. [26] и поддерживает группы групп. [27]
Учебники
[ редактировать ]Playbooks — это YAML- файлы, в которых хранятся списки задач для повторения. [28] [20] выполнения на управляемых узлах. [20] [29] Каждый Playbook сопоставляет (связывает) группу хостов с набором ролей. Каждая роль представлена вызовами задач Ansible. [30]
Платформа автоматизации Ansible
[ редактировать ]Платформа автоматизации Ansible (AAP) — это REST API , веб-сервис и веб-интерфейс (приложение), предназначенные для того, чтобы сделать Ansible более доступным для людей с широким спектром ИТ-навыков. Это платформа, состоящая из нескольких компонентов, включая инструменты разработчика, операционный интерфейс, а также Automation Mesh, позволяющую решать задачи автоматизации в масштабе всех центров обработки данных. AAP — это коммерческий продукт, поддерживаемый Red Hat, Inc., но на его основе создано более 17 исходных проектов с открытым исходным кодом, включая восходящий проект AWX (ранее производный от Ansible Tower), исходный код которого является открытым с сентября 2017 года. [31] [32] [33] [34]
Существует также еще одна альтернатива Tower с открытым исходным кодом — Semaphore, написанная на Go . [35] [36]
Поддержка платформы
[ редактировать ]Управляющие машины должны быть хостами Linux/Unix (например, BSD , CentOS , Debian , macOS , Red Hat Enterprise Linux , SUSE Linux Enterprise , Ubuntu). [13] ), и требуется Python 2.7 или 3.5. [19]
Управляемые узлы, если они Unix-подобны, должны иметь Python 2.4 или более поздней версии. Для управляемых узлов с Python 2.5 или более ранней версии python-simplejson
пакет тоже необходим. [37] Начиная с версии 1.7, Ansible также может управлять Windows. [38] узлы. [37] В этом случае вместо SSH используется собственное удаленное взаимодействие PowerShell, поддерживаемое протоколом WS-Management.
Ansible можно развертывать на физических хостах, виртуальных машинах и в облачных средах. [18]
AnsibleFest
[ редактировать ]AnsibleFest — это ежегодная конференция сообщества пользователей, участников и т. д. Ansible. [39]
Год | Расположение |
---|---|
2014 | Сан-Франциско, Калифорния, США |
2015 | Лондон, Великобритания |
2016 | Лондон, Великобритания |
2016 | Сан-Франциско, Калифорния, США |
2016 | Бруклин, Нью-Йорк, США |
2017 | Лондон, Великобритания |
2017 | Сан-Франциско, Калифорния, США |
2018 | Остин, Техас, США |
2019 | Атланта, Джорджия, США |
2020 | Виртуальный только из-за пандемии COVID-19 |
2021 | Виртуальный только из-за пандемии COVID-19 |
2022 | Чикаго, Иллинойс, США |
2023 | Бостон, Массачусетс, США |
2024 | Денвер, Колорадо, США |
2025 | Лас-Вегас, Невада, США |
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Выпуск 2.17.2» . 15 июля 2024 г. Проверено 21 июля 2024 г.
- ^ Штатный писатель. «Обзор — как работает Ansible» . ansible.com . Red Hat , Inc. с. 1 . Проверено 7 декабря 2016 г.
- ^ «Руководство по установке документации Ansible» . docs.ansible.com . Проверено 7 июля 2022 г.
- ^ Бернардо, Сьюзен; Мерфи, Грэм Дж (2006). Урсула К. Ле Гуин: критический собеседник . Вестпорт, Коннектикут: Greenwood Press. п. 18 . ISBN 978-0-313-02730-7 . OCLC 230345464 .
- ^ «Часто задаваемые вопросы» . docs.ansible.com . Анзибль-документация. Red Hat , Inc. с. 1 . Проверено 7 марта 2023 г.
- ^ ДеХаан, Майкл (29 января 2014 г.). «Почта в группах Google – проект Ansible» . groups.google.com . п. 1 . Проверено 26 апреля 2017 г.
- ^ Моэн, Майк (17 апреля 2012 г.). «Интервью с автором Ansible Майклом ДеХааном» . coloandcloud.com . ООО Могансем. п. 1. Архивировано из оригинала 14 ноября 2012 года . Проверено 5 ноября 2012 г.
- ^ «Об Ансибле» . Ansible, Inc. с. 1. Архивировано из оригинала 5 сентября 2015 года . Проверено 8 июля 2016 г.
- ^ Исследование Блумберга. «Ansible, Inc.: Информация о частной компании» . Интернет-программное обеспечение и услуги . Bloomberg LP с. 1 . Проверено 8 июля 2016 г.
- ^ «О команде» . 05.09.2015. Архивировано из оригинала 5 сентября 2015 г. Проверено 7 апреля 2021 г.
- ^ Новет, Иордания (15 октября 2015 г.). «Источник: Red Hat покупает Ansible более чем за 100 миллионов долларов» . www.venturebeat.com . VentureBeat , Inc. с. 1 . Проверено 16 октября 2015 г.
- ^ Штатный автор (16 октября 2015 г.). «Red Hat приобретает компанию Ansible, лидера в области ИТ-автоматизации и DevOps» . redhat.com . Красная шляпа , Inc. Проверено 16 октября 2015 г.
- ^ Перейти обратно: а б Ульяницкий, Николай. «Загрузка ansible (DEB, RPM, TGZ, TXZ, XZ)» . pkgs.org . Поиск пакетов Linux. п. 1 . Проверено 5 ноября 2012 г.
- ^ Перейти обратно: а б с «Инвентарь» . docs.ansible.com . Анзибль-документация. Red Hat , Inc. с. 1 . Проверено 7 марта 2023 г.
- ^ «Ansible Vault — Документация Ansible» . docs.ansible.com .
- ^ «Ansible vault: платформа для шифрования любого файла playbook или var. · ansible/ansible@427b8dc» . Гитхаб .
- ^ Перейти обратно: а б с д и «Преимущества безагентной архитектуры» (PDF) . Red Hat , Inc. с. 5.
- ^ Перейти обратно: а б с д «Подробно об Ansible» (PDF) . Red Hat , Inc. с. 5.
- ^ Перейти обратно: а б «Поддержка Python 3» . docs.ansible.com . Анзибль-документация. Red Hat , Inc. с. 1. Архивировано из оригинала 10 июля 2017 года . Проверено 6 июля 2017 г.
- ^ Перейти обратно: а б с д «Концепции Ansible — Документация Ansible» . docs.ansible.com . Проверено 19 ноября 2021 г.
- ^ «Установка Ансибла» . docs.ansible.com . Проверено 4 января 2023 г.
- ^ Перейти обратно: а б с «Руководство по установке — Документация Ansible» . docs.ansible.com . Проверено 30 ноября 2018 г.
- ^ «Обеспечение чередующихся обновлений и непрерывного развертывания с нулевым временем простоя» (PDF) . Red Hat , Inc. с. 7.
- ^ «Указатель модуля — документация Ansible» . docs.ansible.com .
- ^ «Работа с инвентарем — документация Ansible» . docs.ansible.com . Проверено 30 ноября 2018 г.
- ^ «Динамическая инвентаризация» . docs.ansible.com . Анзибль-документация. Red Hat , Inc. с. 1. Архивировано из оригинала 5 августа 2019 года . Проверено 25 ноября 2016 г.
- ^ «Как составить инвентарь — Документация Ansible» . docs.ansible.com .
- ^ «Игровые книжки» . docs.ansible.com . Анзибль-документация. Red Hat, Inc. с. 1 . Проверено 7 марта 2023 г.
- ^ «Введение в плейбуки — документация Ansible» . docs.ansible.com . Проверено 19 ноября 2021 г.
- ^ «Организация задач и обработчиков для роли» . docs.ansible.com . Анзибль-документация. Red Hat , Inc. с. 1. Архивировано из оригинала 17 июля 2017 года . Проверено 25 ноября 2016 г.
- ^ Реддиторы (19 февраля 2016 г.). «Ansible объявляет, что Tower станет открытым исходным кодом в ближайшем будущем на AnsibleFest!» . Reddit.com . Реддит . п. 1 . Проверено 20 июля 2017 г.
- ^ Штатный писатель. «Проект Открытая башня» . ansible.com/open-tower . Red Hat , Inc. с. 1 . Проверено 21 января 2017 г.
- ^ Шляпа Ансибл, красная (7 мая 2024 г.). «Часто задаваемые вопросы по проекту AWX | Ansible.com» . www.ansible.com .
{{cite web}}
: CS1 maint: несколько имен: список авторов ( ссылка ) - ^ "ансибль/awx" . 25 марта 2020 г. – через GitHub.
- ^ Семафорное сообщество. «API-семафор» . ansible-semaphore.com . п. 1 . Проверено 19 сентября 2023 г.
- ^ Семафорное сообщество. "ансибль-семафор" . github.com/ansible-semaphore . ООО «Кастауэй Консалтинг» . Проверено 5 февраля 2021 г.
- ^ Перейти обратно: а б "Начиная" . docs.ansible.com . Анзибль-документация. Red Hat , Inc. с. 1 . Проверено 7 марта 2023 г.
- ^ ДеХаан, Майкл (6 августа 2014 г.). «Выпущена Ansible 1.7 – бета-версия Windows и многое другое!» . ansible.com/блог . Внутренняя книга игр. Ansible, Inc. с. 1 . Проверено 7 августа 2014 г.
- ^ «АнсиблФест» . Анзибль . Красная шляпа, Inc. Проверено 4 октября 2018 г.