Поиск по сайту:

Введение в платформу автоматизации Ansible

Учебное пособие по Ansible | Начало работы с Ansible

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

Если вы пытаетесь понять, что такое ansible и каковы его основные функции, то эта статья для вас.

Введение

Была ли у вас когда-нибудь возможность развертывать несколько ресурсов вручную в вашей профессиональной/личной среде?

Когда я говорю «ресурсы», это может быть что угодно, начиная с серверов, баз данных, сетевых устройств, веб-серверов и т. д. Вы знаете, как больно делать все вручную для нескольких ресурсов.

Как системный администратор, вы можете с радостью сказать, что те времена давно прошли. Изобретение средств автоматизации облегчило жизнь всем системным администраторам.

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

Сегодня я собираюсь рассказать вам, что такое ansible и основные компоненты, входящие в его состав.

Что такое Анзибль?

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

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

Ansible написан на Python, поэтому, если вы разработчик Python, создавать собственные модули в Ansible не составит труда.

Первоначально Ansible был создан Майклом ДеХааном, а затем приобретен Redhat в 2015 году. Ansible имеет открытый исходный код, и Redhat также предлагает коммерческую версию ansible.

Анзибль Архитектура

Первым шагом в изучении Ansible является понимание архитектуры Ansible.

Комбинация таких компонентов, как движок Ansible, Inventory, Playbooks и т. д., образует архитектуру ansible.

Вот графическая иллюстрация того, как работает Ansible:

Схема архитектуры Ansible

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

Ansible использует протокол ssh для связи со всеми клиентскими узлами и использует любой порт, который ssh прослушивает на клиентских узлах. Это тоже настраивается. Таким образом, вам не нужно открывать какие-либо специальные порты, предназначенные для Ansible.

В ansible есть два типа узлов. Если вам интересно, что означает термин "узел"? Это просто сервер или рабочая станция.

  • Главный/контроллерный узел — узел, на котором вы будете устанавливать программное обеспечение ansible.
  • Управляемые узлы — узлы, которыми будет управлять Ansible.

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

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

Ansible инвентарь

Инвентаризация — это место, где вы будете предоставлять ansible информацию об хосте/IP-адресе управляемого узла. По умолчанию файл инвентаризации будет в формате INI, а также поддерживает формат YAML.

Когда вы отправляете команды ansible-playbook или Adhoc, механизм ansible проанализирует этот файл инвентаризации и получит список хостов, с которыми он хочет работать.

Анзибль-модули

Модули — это программы, написанные на Python для конкретной задачи. Когда вы запускаете команды playbook или Adhoc, ansible отправит эту программу на все управляемые узлы.

Возьмем, к примеру, модуль apt. Модуль apt предназначен для управления пакетами в системах на базе Debian и Ubuntu.

Если вы отправите сценарий для установки пакетов на пяти управляемых узлах, то модуль apt будет скопирован на все управляемые узлы и программа apt будет выполнена.

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

Анзибль-плейбуки

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

Заключение

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

В наших следующих статьях мы подробно рассмотрим, как настроить и использовать Ansible в Linux.

Читать далее:

  • Установка и настройка Ansible в Linux
  • Автоматическая установка Ansible Lab с Vagrant и Virtualbox в Linux
  • Файлы инвентаризации и конфигурации Ansible
  • Аутентификация Ansible SSH и повышение привилегий
  • Начало работы с специальными командами Ansible
  • Начало работы с Ansible Playbooks
  • Как использовать модуль отладки в Ansible Playbooks
  • Как использовать переменные в Ansible Playbooks
  • Объяснение фактов об Ansible на примерах
  • Как использовать обработчики в Ansible Playbooks
  • Как использовать условные операторы When в Ansible Playbooks
  • Как использовать теги в Ansible Playbooks
  • Переменная регистра Ansible
  • Как использовать Ansible Vault для защиты конфиденциальных данных Playbook
  • Как использовать Ansible для автоматизации диспетчера логических томов (LVM) в Linux
  • Роли Ansible для начинающих
  • Обработка ошибок в Ansible Playbooks
  • Руководство по коллекциям Ansible
  • Как работать с включением и импортом в Ansible

Ресурсы:

  • https://www.ansible.com/use-cases
  • https://www.ansible.com/overview/it-automation

Статьи по данной тематике