Установка и базовая настройка Ansible на Linux CentOS

Обновлено Обновлено: Опубликовано Опубликовано:

Используемые термины: Ansible, CentOS.

Мы рассмотрим простую устаноку Ansible на Linux. Инструкция подойдет для CentOS версий 8 и 7.

Установка

По умолчанию Ansible нет в репозитории CentOS — устанавливаем EPEL:

yum install epel-release

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

yum install ansible

* система автоматически обновит список пакетов с учетом нового репозитория и начнет установку Ansible. Если появится запрос на подтверждение, отвечаем Y.

Начальная настройка и тестовый запуск Ansible

Откроем на редактирование файл с серверами, которыми хотим управлять:

vi /etc/ansible/hosts

и приведем его к следующему виду:

[test_servers]
192.168.1.100
192.168.1.101

* в данном примере создана группа серверов test_servers, в которую добавлены два сервера с IP-адресами 192.168.1.100 и 192.168.1.101.

Открываем конфигурационный файл ansible:

vi /etc/ansible/ansible.cfg

Снимаем комментарий с опции host_key_checking, приведя ее к виду:

host_key_checking = False

* данная настройка позволит нашему серверу управления автоматически принимать ssh fingerprint, избавляя нас от необходимости постоянно вводить yes, когда мы впервые конфигурируем новый сервер.

Теперь выполним проверку доступности добавленных серверов:

ansible -m ping test_servers -u root -kK

* данная команда проверит доступность по сети двух серверов из группы test_servers от учетной записи root.

Будет запрошен пароль от учетной записи (в нашем случае, root). После будет запрошен пароль суперпользователя на серверах.

На экране должно появиться, примерно, следующее:

192.168.1.100 | SUCCESS => {
    “ansible_facts”: {
        “discovered_interpreter_python”: “/usr/bin/python3”
    },
    “changed”: false,
    “ping”: “pong”
}
192.168.1.101 | SUCCESS => {
    “ansible_facts”: {
        “discovered_interpreter_python”: “/usr/bin/python”
    },
    “changed”: false,
    “ping”: “pong”
}

Наш сервер управления готов к работе.

Если не заработало

Если на экране появится ошибка, введите с сервера ansible следующую команду:

* в данном случае, мы пытаемся подключиться к серверу 192.168.1.100 по SSH от пользователя root.

Если подключиться к серверу 192.168.1.100 вышеописанной командой не удалось, возможно введен неправильный пароль или доступ по SSH от root запрещен. В этом случае, создайте служебную учетную запись на сервере 192.168.1.100 и используйте ее для подключения по SSH. Например, на удаленном сервере вводим:

useradd ansible

passwd ansible

* в даном примере мы создали учетную запись ansible и задали ей пароль.

Теперь вводим нашу команду для проверки:

ansible -m ping test_servers -u ansible -kK

* обратите внимание, что мы выполняем теперь запрос от пользователя ansible.