Введение в платформу автоматизации 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