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

Шаг 3: Установите Ansible на RHEL 8

Чтобы установить Ansible на ноде управления, который является нашей системой RHEL 8, выполните команду.

# dnf install ansible -y

После установки вы можете проверить установленную версию Ansible, выполнив команду.
# 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
Теперь же нам удалось установить Ansible на управляющем узле и определить управляемые узлы в файле Hosts, находящемся на управляющем узле.
Далее мы увидим, как мы можем управлять или контролировать наши удаленные или управляемые хосты.

Шаг 5: Настройка главной ноды Ansible  для соединения с удаленными узлами

Чтобы управляющий узел Ansible (RHEL 8) мог управлять системами удаленных хостов (Debian 10 и CentOS 8), нам нужно настроить SSH-аутентификацию без пароля для удаленных хостов.

Для этого вам нужно сгенерировать пару ключей SSH и сохранить открытый ключ на удаленных узлах.

На узле управления Ansible войдите в систему как обычный пользователь и сгенерируйте пару ключей SSH, выполнив команду.

# su itisgood
$ ssh-keygen
Затем скопируйте открытый ключ ssh на удаленные узлы, как показано далее:
$ ssh-copy-id itisgood@192.168.0.15	        (Для ноды Debian 10)
$ ssh-copy-id itisgood@192.168.0.200	        (Для ноды CentOS 8)
Добавив открытые ключи всем нашим удаленным узлам, мы собираемся выполнить команду ping с узла Ansible Control, чтобы убедиться, что они доступны.
$ ansible -m ping all
Из вышеприведенного вывода мы ясно видим, что команда ping была успешной, и мы смогли проверить доступность  всех узлов.

Заключение

В этом руководстве мы успешно установили и настроили Ansible на узле управления, выполняющемся на RHEL 8.

Позже мы определили удаленные узлы в файле hosts и настроили узел управления для подключения и управления управляемыми узлами путем настройки аутентификации по паролю SSH.

 

Поделитесь статьей:

Добавить комментарий