Как установить и настроить узел управления Ansible – часть 2
В предыдущем разделе вы узнали об основных терминологиях Ansible и основных понятиях.
📜 Понимание основных компонентов Ansible — часть 1
В этом разделе (часть 2 серии Ansible) мы покажем, как можно установить и настроить узел управления Ansible в RHEL 8.
В нашей настройке мы будем использовать 1 Ansible сервер и 2 удаленных узла Linux:
Control Node 1: RHEL 8 Server IP: 192.168.0.108 Ansible Server Managed Host 1: Debian 10 IP: 192.168.0.15 Webserver Managed Host 2: CentOS 8 IP: 192.168.0.200 Database Server
Что такое нода управления Ansible?
Управляющий узел – это сервер Linux, на котором установлен Ansible и который используется для управления удаленными нодами или хостами.
Эти удаленные системы известны как управляемые хосты или управляемые узлы.
В приведенной выше настройке управляющим узлом является сервер RHEL 8, на котором будет установлен Ansible, а Debian 10 и CentOS 8 являются управляемыми хостами.
ПРИМЕЧАНИЕ. Ansible устанавливается только на управляющем узле
Шаг 1: Установка Python 3
По умолчанию RHEL 8 поставляется с Python 3, и вы можете проверить версию Python, установленную на вашем сервере, запустив:
# python3 -V
# dnf install python3
# alternatives --set python /usr/bin/python3
Шаг 2: Включить официальный репозиторий RedHat
После установки Python3 убедитесь, что вы включили официальный репозиторий RedHat для Ansible, как показано ниже.
# subscription-manager repos --enable ansible-2.8-for-rhel-8-x86_64-rpms
Шаг 3: Установите Ansible на RHEL 8
Чтобы установить Ansible на ноде управления, который является нашей системой RHEL 8, выполните команду.
# dnf install ansible -y
# ansible --version
Шаг 4: Создание файла inventory – файла хостов
Мы успешно установили ansible на узле управления, который является нашим сервером RHEL 8.
Удаленные узлы, которыми должен управлять управляющий узел, должны быть определены в файле, называемом файлом inventory.
Этот файл – простой текстовый файл, который находится на узле управления и состоит из имен хостов или IP-адресов удаленных хостов.
Статический файл хостов – это простой текстовый файл, который содержит список управляемых узлов, определенных их IP-адресами или именами хостов.
Давайте создадим статический файл «hosts» в каталоге /etc/ansible/.
# vi /etc/ansible/hosts
Затем определите группу или группы для ваших управляемых хостов.
У нас есть 2 управляемых хоста, как мы увидели ранее при настройке этой темы.
Исходя из настройки, файл хостов будет определен следующим образом:
[webserver] 192.168.0.15 [database_server] 192.168.0.200
Сохраните и выйдите из инвентарного файла.
Для просмотра списка управляемых хостов выполните:
# ansible all -i hosts --list-hosts
Шаг 5: Настройка главной ноды Ansible для соединения с удаленными узлами
Чтобы управляющий узел Ansible (RHEL 8) мог управлять системами удаленных хостов (Debian 10 и CentOS 8), нам нужно настроить SSH-аутентификацию без пароля для удаленных хостов.
Для этого вам нужно сгенерировать пару ключей SSH и сохранить открытый ключ на удаленных узлах.
На узле управления Ansible войдите в систему как обычный пользователь и сгенерируйте пару ключей SSH, выполнив команду.
# su itisgood $ ssh-keygen
$ ssh-copy-id itisgood@192.168.0.15 (Для ноды Debian 10) $ ssh-copy-id itisgood@192.168.0.200 (Для ноды CentOS 8)
$ ansible -m ping all
Заключение
В этом руководстве мы успешно установили и настроили Ansible на узле управления, выполняющемся на RHEL 8.
Позже мы определили удаленные узлы в файле hosts и настроили узел управления для подключения и управления управляемыми узлами путем настройки аутентификации по паролю SSH.