Система управления конфигурациями Ansible

Система управления конфигурациями Ansible позволяет автоматизировать развертывание и управление множеством однотипных (а иногда и не очень) узлов сети. При всех плюсах Ansible, она даже не требует установки каких-либо агентов или дополнительного ПО на целевые хосты, достаточно просто доступа по SSH. А простота и удобство быстро сделали её одной из самых популярных.


Если вам интересна тематика UNIX/Linux, рекомендую обратиться к соответствующей категории на моем блоге.


Ansible

Начнем с установки.

Установка

Ansible вы можете поставить прямо из репов. Например на Debian:

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

Получение репозитория

Собственно цель этой статьи не столько рассказать именно про Ansible, сколько поделиться с вами моим новым репозиторием на Github. В нем я планирую выкладывать плейбуки Ansible для самых различных ролей. Вы можете пользоваться им на свой страх и риск, копировать и изменять его. Но для начала вам надо выкачать его к себе (см. гайд 2 из официальной документации). Для этого первым делом установим Git:

Клонируем репозиторий:

Проваливаемся в папку:

Далее все действия будем выполнять именно отсюда.

Инвентарь

Файл инвентаря (inventory file) — самое важно. Именно в нем должна находиться информация об удаленных хостах, на которых вы собрались проигрывать плейбуки. Рассмотрим разные варианты.

  1. Самый простой случай: у root-аккаунта разрешено удаленное подключение по ssh. Тогда вы можете просто указать DNS-имя хоста или его адрес. Пример файла инвентаря:

    Для проигрывания плейбука вам нужно явно указать пользователя и, после нажатия Enter, вы увидите приглашение для ввода пароля:

    Если все прошло как надо, вы сразу же должны увидеть этапы проигрывания;
  2. Предположим подключение под рутом у вас запрещено, есть только непривилегированный аккаунт (что отлично, так и надо делать). Подключаемся под обычной учеткой, а дальше запрашиваем повышение прав.

    Запуск плейбука:

    Обратите внимание на различия между -K и -k.
  3. Также у вас может и не быть root-доступа, а только sudo. В этом случае подключаемся под обычной учеткой, а дальше запрашиваем повышение прав — но! — для этого вам надо будет поменять тип эскалации с su на sudo в самом плейбуке, например:

    Файл инвентаря:

    Запускаем плейбук:

    Или вот так, если вы не указали пользователя в инвентаре:

    Вот и все.

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

comments powered by HyperComments