Как установить и настроить узел управления Ansible — часть 2
В предыдущем разделе вы узнаете об основной терминологии и базовых понятиях Ansible. В этом разделе (часть 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
Если по какой-либо причине Python3 не установлен, установите его с помощью следующей команды dnf.
dnf install python3
Если в вашей системе RHEL 8 существует несколько версий Python, вы можете установить Python 3 в качестве версии Python по умолчанию. бегом.
alternatives --set python /usr/bin/python3
Шаг 2. Включите официальный репозиторий RedHat.
После установки Python3 убедитесь, что вы включили официальный репозиторий RedHat для Ansible, как показано ниже.
subscription-manager repos --enable ansible-2.8-for-rhel-8-x86_64-rpms
ПРИМЕЧАНИЕ. Чтобы приведенная выше команда работала, убедитесь, что вы зарегистрировали подписку RHEL 8 для RedHat.
Шаг 3. Установите Ansible на RHEL 8.
Чтобы установить Ansible на узле управления, которым является наша система RHEL 8, выполните команду.
dnf install ansible -y
После установки вы можете проверить установленную версию Ansible, выполнив команду.
ansible --version
Шаг 4. Создание статического файла инвентаризации хоста
На данный момент мы успешно установили ansible на управляющий узел, который является нашим сервером RHEL 8. Удаленные узлы, которыми будет управлять управляющий узел, должны быть определены в файле, который называется файлом инвентаря. Файл инвентаризации представляет собой обычный текстовый файл, который находится на управляющем узле и состоит из имен хостов или 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
На данный момент нам удалось установить Ansible на управляющем узле и определить управляемые хосты в статическом файле хоста, расположенном на управляющем узле.
Далее мы увидим, как мы можем управлять нашими удаленными или управляемыми хостами или контролировать их.
Шаг 5. Настройте узел управления Ansible для подключения к удаленным узлам
Для узла управления Ansible (RHEL 8) для управления удаленными хост-системами (Debian 10 и CentOS 8) нам нужно настроить SSH-аутентификацию без пароля на удаленных хостах. Чтобы это произошло, вам необходимо сгенерировать пару ключей SSH и сохранить открытый ключ на удаленных узлах.
На узле управления Ansible войдите в систему как обычный пользователь и сгенерируйте пару ключей SSH, выполнив команду.
su tecmint
ssh-keygen
Затем скопируйте открытый ключ ssh на удаленные узлы, как показано.
ssh-copy-id [email (For Debian 10 node)
ssh-copy-id [email (For CentOS 8 node)
Добавив открытые ключи ко всем нашим удаленным узлам, мы собираемся отправить команду ping с узла Ansible Control, чтобы убедиться, что они доступны.
ansible -m ping all
Из приведенного выше вывода мы ясно видим, что команда ping прошла успешно, и мы смогли проверить доступность всех узлов.
Заключение
В этом руководстве мы успешно установили и настроили Ansible на управляющем узле, на котором работает RHEL 8. Позже мы определили удаленные хосты в файле статического хоста и настроили узел управления для подключения и управления управляемыми хостами, настроив беспарольную аутентификацию SSH.