Поиск по сайту:

Как установить и настроить узел управления 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.