В чем разница между Ansible, Ansible Galaxy и Ansible Tower?

Ansible — это инструмент управления конфигурацией с открытым исходным кодом и платформа автоматизации ИТ. Это помогает автоматизировать подготовку программного обеспечения, управление конфигурацией и развертывание приложений.

Ansible не похож на другие приложения для управления конфигурацией. Именно это отличает его от других инструментов управления конфигурацией, таких как Chef, CFEngine, Salt и Puppet.

Ansible Tower предоставляет веб-интерфейс для управления Ansible. Пользователям Ansible нужен был интуитивно понятный интерфейс, который был бы прост в использовании для быстрого развертывания и мониторинга конфигурации.

Ansible Tower стала ответом руководства Ansible. Каждый язык и каждый фреймворк имеют свои уникальные возможности и нюансы. В этом посте будут обсуждаться различия между Ansible, Ansible Tower и Ansible Tower.

Ansible Введение

Ansible — это инструмент с открытым исходным кодом для управления конфигурацией, который автоматизирует предоставление программного обеспечения и управление конфигурацией. Вы можете контролировать и настраивать несколько компьютеров с одного сервера.

Он работает с системой, основанной на проталкивании, где конфигурация «проталкивается» с главной машины на все ее узлы.

Конфигурации написаны с использованием YAML. Они понятны и достаточно просты для администраторов серверов. Он работает через SSH и использует OpenSSH в качестве транспортного уровня.

Все конфигурации Ansible можно найти в наборе файлов YAML, которые мы называем playbook. Этот плейбук содержит задания или пьесы. Для настройки узлов задача использует модуль.

Плейбуки — это место, где можно записывать конфигурации. Все задачи, написанные в плейбуке, выполняются в одном и том же порядке. Он поддерживает как синхронное, так и асинхронное выполнение.

На изображении выше вы можете увидеть несколько хост-компьютеров. Эти хост-машины используются для выполнения всех созданных нами конфигураций.

Плюсы Ансибл:

  • Это бесплатно и с открытым исходным кодом
  • Просто: нет проблем с настройкой Ansible
  • Мощный: с помощью Ansible вы можете одновременно настраивать тысячи машин.
  • Гибкость: его можно использовать в различных средах.
  • Без агента: не полагается на узлы агента, такие как Jenkins.
  • Эффективность: для запуска не требуется никакого дополнительного программного обеспечения.

Минусы Ансибл:

  • Трудно установить
  • Не работает в Windows
  • Обратная совместимость

Ansible Галактика Введение

Ansible Galaxy позволяет пользователям обмениваться ролями и получать их. Ansible Galaxy поощряет использование повторно используемых ролей в конфигурации сервера. Ansible Galaxy часто используется в проектах.

Ansible Galaxy — это общедоступный репозиторий описаний ролей Ansible. README включены во все роли. Они предоставляют информацию об использовании роли и переменных.

Ansible Galaxy имеет множество ролей, которые постоянно развиваются и растут. Роли позволяют разбивать большие сборники сценариев и создавать структурированную структуру. Вы можете изменить свои собственные роли, а затем использовать их по своему усмотрению.

Структура ролей Ansible Galaxy

  • README.md — это файл Readme, описывающий роль. Файл readme содержит все сведения о входных параметрах роли и пример yml.
  • задачи — все задачи могут быть зачислены ролью в задачи. Точка входа для роли — Main.yml. Здесь начинается выполнение. Этот файл может содержать другие файлы.
  • обработчики — в эту категорию входят обработчики, которые могут использоваться в этой или любой другой роли.
  • defaults — переменные по умолчанию для роли.
  • vars — переменные, которые более важны, чем значения по умолчанию для роли.
  • файлы — эти файлы можно развернуть с помощью роли.
  • шаблоны — этот раздел содержит шаблоны, которые можно использовать через роль.
  • мета — метаданные могут использоваться для определения ролей в мета. Этот файл также должен включать любые зависимости Ролей.
  • тесты — тесты CI, которые необходимо выполнить.
  • библиотека — встраивание модулей или плагинов в роли. Не создается командой init. Вы также можете создать в этой папке пользовательский модуль на Python и затем использовать его в своих задачах.

Ansible Galaxy — это инструмент, который позволяет создавать роли и управлять ими. Вы увидите новые версии Ansible, и будут изменения. В Ansible версии 2.2.8 появилась функция сбора. Содержимое Ansible распространяется в виде коллекций. Они используются для упаковки и распространения модулей, плейбуков и плагинов.

Плюсы Ansible Galaxy:

  • Находите, повторно используйте и делитесь содержимым, связанным с Ansible, централизованно
  • Легко скачивайте повторно используемые роли для установки приложения
  • Увеличивает скорость развертывания

Минусы Ansible Galaxy

  • Он управляется сообществом, поэтому работа над модулем не гарантируется.
  • Многие роли галактики Ansible имеют плохую документацию
  • Большинство ролей Ansible Galaxy не являются идемпотентными

Введение в Ansible Tower

Ansible Tower — это пользовательский интерфейс для Ansible. Это веб-решение, которое может использоваться различными ИТ-командами.

Ansible Tower можно сравнить с приборной панелью автомобиля. Приборная панель показывает вам всю необходимую информацию о состоянии вашего автомобиля: скорость, уровень масла, оставшийся бензин и т. д. Ansible Tower выглядит как приборная панель, но Ansible — это двигатель.

Ansible Tower позволяет пользователям выполнять задачи удаленно через графический интерфейс пользователя. Задания Ansible можно выполнять через плейбуки. Эти плейбуки можно запускать с помощью Ansible CLI. Однако Ansible Tower позволяет управлять игрой и выполнять ее через графический интерфейс.

Вы можете либо выполнять уже существующие плейбуки, либо создавать свои собственные. Ansible Tower также предлагает встроенные уведомления. Это позволяет определенным группам получать уведомления о завершении или сбое задания. Этот тип перекрестной коммуникации жизненно важен для любой организации.

Он также обеспечивает управление доступом на основе ролей (RBAC), что позволяет проверять, кто имеет право запускать задания. Это позволяет только определенным пользователям выполнять задания в Ansible Tower. Это часто требуется для соблюдения правил промышленной безопасности.

Он предоставляет RBAC, а также показывает журнал аудита, в котором подробно описывается, кто за какую работу отвечал в любой момент времени. Это обеспечивает дополнительную безопасность, которую трудно найти, если вы используете Ansible отдельно.

Ansible Tower позволяет удаленно выполнять код в различных приложениях. Виртуальная машина может находиться в неправильном состоянии и ее необходимо перезапустить, и Ansible Tower позволяет легко и безопасно сделать это.

Удаленную установку программного обеспечения можно использовать для быстрого исправления брешей в безопасности или сброса паролей. Ansible Tower — это универсальный магазин для всей вашей сетевой инфраструктуры и виртуальных машин, развернутых с помощью Ansible.

Ansible Tower, в отличие от Ansible, не бесплатен. Существует две версии Ansible Tower: Premium и Standard. Какая версия лучше, зависит от вас и ИТ-требований вашей компании. Стандартные версии подходят для большинства ИТ-операций. Премиум предназначен для критически важных DevOps.

Red Hat предоставит вам точную информацию о ценах после того, как вы свяжетесь с ними. Стандартная версия будет стоить примерно 10 000 долларов в год за 100 узлов. Премиум обойдется вам примерно в 14 000 долларов в год за такое же количество узлов.

Плюсы Ансибл Тауэр:

  • Простой макет
  • Помогает построить конвейер CI/CD для управления рабочим процессом.
  • Позволяет запланировать задание и уведомляет о каждой ошибке
  • Графическое управление запасами
  • Очень легко настроить

Минусы Ansible Tower:

  • Дорогой
  • по подписке
  • Разрешение конфликта слияния невозможно/неясно
  • Отладка — это сложно

Ansible против Ansible Galaxy против Ansible Tower

Ansible можно использовать как инструмент автоматизации ИТ. Он может развертывать программное обеспечение и настраивать системы. Он также может управлять более сложными ИТ-задачами, такими как непрерывное развертывание или сводные обновления с нулевым временем простоя. Основные цели Ansible — простота и удобство использования.

Ansible Tower, с другой стороны, описывается как «самый мощный клиент Git для Mac и Windows». Вы можете использовать все мощные функции Git в более продуктивном графическом интерфейсе. Ansible Galaxy можно использовать для хранения ролей Ansible. Ansible Galaxy — это аналог PyPI для Python или Maven для Java.

Ansible Tower нельзя использовать без Ansible. Ansible Tower можно использовать с Ansible Tower. Ansible — это механизм, который управляет вашей инфраструктурой и развертыванием.

Ansible Tower позволяет нам увидеть внутреннюю работу всего. Это позволяет вам видеть и контролировать соответствие безопасности инфраструктуры вашей организации.

Ansible Tower может предоставить RBAC для ваших развертываний Ansible. Ansible Tower также является отличным вариантом, если вы ищете профессионалов, не умеющих программировать, для анализа вашей инфраструктуры.

Сравнение Ansible, Ansible Tower и Ansible Galaxy:

AnsibleAnsible TowerAnsible GalaxyИнструмент управления конфигурацией с открытым исходным кодомПользовательский интерфейс AnsibleРепозиторий ролей и коллекцийВыполняет плейбуки через CLIВыполняет плейбуки через GUIRЗапускает ansible-galaxy с помощью CLIIПервоначальный выпуск в 2012 годуПервоначальный выпуск в 2015 годуПервоначальный выпуск в 2016 годуБесплатно для использованияНачинается с 5000$ в год для 100 узловБесплатно для использованияОчень просто установить Создавать и использовать Обеспечивает видимость всей среды Ansible. Может повторно использовать блоки кода в разных книгах.

Вывод

Итак, это было все об Ansible, Ansible Tower и Ansible Galaxy, а также о различиях между Ansible, Ansible Galaxy и Ansible Tower. Организации следует учитывать свои требования в отношении Ansible Tower, потому что это очень дорого. Но в целом Ansible — отличный инструмент CM для любой Linux-подобной среды.

Вас также могут заинтересовать задачи системного администратора, которые можно автоматизировать с помощью Ansible.