ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Ansible. Знакомство с Ansible

Ansible. Знакомство с Ansible

В этой серии статей по Ansible вы изучите все навыки, необходимые для управления и автоматизации операций ИТ-инфраструктуры с помощью Ansible.

 

Что такое Ansible?

Ansible – это инструмент с открытым исходным кодом для управления конфигурацией, инициализацией программного обеспечения и развертыванием приложений, который упрощает автоматизацию развертывания приложений и работы ИТ-инфраструктуры.

Ansible очень легок, прост в настройке и не требует ресурсов, потому что ему не нужен агент для работы (без агента), в отличие от других инструментов автоматизации, например, Puppet, который основан на агентах и немного сложен в настройке.

Это объясняет, почему популярность Ansible растет с каждым днем и становится инструментом автоматизации перехода для многих предприятий.

В научной фантастике слово Ansible относится к гипотетическому устройству, которое позволяет пользователям мгновенно общаться на больших расстояниях; то есть устройство связи быстрее скорости света. Теперь вы знаете, откуда Ansible получил свое название.

 

Создание вашей игровой площадки

Чтобы извлечь максимальную пользу из этой серии и безболезненно следовать ей, я советую вам использовать ту же настройку, что и я.

Мы создали одну виртуальную машину RHEL (Red Hat Enterprise Linux) 8, которая будет служить управляющим узлом. Узел управления, как следует из названия, в основном представляет собой сервер, который используется для управления другими удаленными хостами (управляемыми узлами).

Мы создали три виртуальные машины CentOS 8 для управляемых узлов: node1, node2 и node3. Мы также создали Ubuntu 18.04 для последнего управляемого узла.

У нас недостаточно ресурсов на компьютере для создания всех этих виртуальных машин без сбоя компьютера. Итак, мы использовали Microsoft Azure на всех виртуальных машинах, как вы можете видеть на скриншоте ниже:

Ansible. Знакомство с Ansible

 

Вы можете использовать любых других поставщиков облачных серверов.

 

Установка Ansible

Ansible полагается на SSH и Python для выполнения всей магии автоматизации, поэтому вам нужно только установить Ansible на контрольном узле и убедиться, что OpenSSH и Python установлены как на контрольном, так и на управляемых узлах.

Короче говоря, вам не нужно устанавливать Ansible на управляемых узлах!

Теперь мы собираемся показать вам, как установить Ansible в различных системах.

 

Установка Ansible в системах RHEL

Сначала мы покажем вам, как установить Ansible в системе RHEL 8.

Войдите в свой управляющий узел и переключитесь на пользователя root:

[andreyex@control ~]$ sudo su -
Last login: Tue Oct 20 01:05:00 UTC 2020 on pts/0

 

Проверяя информацию о версии Linux, вы можете увидеть, что мы запускаем RHEL 8.2 и собираюсь использовать его в качестве узла управления:

[root@control ~]# cat /etc/redhat-release
Red Hat Enterprise Linux release 8.2 (Ootpa)

 

Чтобы установить Ansible в системе RHEL 8, вам сначала нужно зарегистрировать свою систему с помощью команды subscription-manager :

[root@control ~]# subscription-manager register
Registering to: subscription.rhsm.redhat.com:443/subscription
Username:xxxxx
Password: xxxxx
The system has been registered with ID: 1d8ace59-c140-4f8c-b4bb-b4cd0f4fb811
The registered system name is: control

 

Вам будет предложено ввести имя пользователя и пароль, как видите, если у вас нет учетной записи Red Hat, вы можете создать учетную запись и получить бесплатную пробную версию.

Затем вы должны присоединить новую подписку с помощью следующей команды:

[root@control ~]# subscription-manager attach --auto
Installed Product Current Status:
Product Name: Red Hat Enterprise Linux for x86_64
Status: Subscribed

Product Name: Red Hat Enterprise Linux for x86_64 - Extended Update Support
Status: Subscribed

 

Обратите внимание, что вы могли зарегистрировать и присоединить подписку с помощью одной команды:

subscription-manager register --username=<USER_NAME> --password=<PASSWORD> --auto-attach

 

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

[root@control ~]# yum repolist all | grep ansible
ansible-2-for-rhel-8-x86_64-debug-rpms Red Hat Ansible E disabled
ansible-2-for-rhel-8-x86_64-rpms Red Hat Ansible E disabled
ansible-2-for-rhel-8-x86_64-source-rpms Red Hat Ansible E disabled
ansible-2.8-for-rhel-8-x86_64-debug-rpms Red Hat Ansible E disabled
ansible-2.8-for-rhel-8-x86_64-rpms Red Hat Ansible E disabled
ansible-2.8-for-rhel-8-x86_64-source-rpms Red Hat Ansible E disabled
ansible-2.9-for-rhel-8-x86_64-debug-rpms Red Hat Ansible E disabled
ansible-2.9-for-rhel-8-x86_64-rpms Red Hat Ansible E disabled
ansible-2.9-for-rhel-8-x86_64-source-rpms Red Hat Ansible E disabled

 

Теперь найдите репозиторий новейшей версии Ansible и включите его. На момент написания этой статьи ansible-2.9 является последней версией, поэтому мы собираемся включить ansible-2.9-for-rhel-8-x86_64-rpms с помощью команды yum_config_manager следующим образом:

[root@control ~]# yum-config-manager --enable ansible-2.9-for-rhel-8-x86_64-rpms
Updating Subscription Management repositories.

 

Теперь вы можете убедиться, что репозиторий Ansible действительно включен, перечислив все включенные репозитории в вашей системе:

[root@control ~]# yum repolist enabled
Updating Subscription Management repositories.
repo id                                                         repo name
ansible-2.9-for-rhel-8-x86_64-rpms Red Hat Ansible Engine 2.9 for RHEL 8 x86_64 (RPMs)
microsoft-azure-rhel8-eus Microsoft Azure RPMs for RHEL8 Extended Update Support
rhel-8-for-x86_64-appstream-eus-rhui-rpms Red Hat Enterprise Linux 8 for x86_64 - AppStream - Extended Update Support from RHUI (RPMs)
rhel-8-for-x86_64-appstream-rpms Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)
rhel-8-for-x86_64-baseos-eus-rhui-rpms Red Hat Enterprise Linux 8 for x86_64 - BaseOS - Extended Update Support from RHUI (RPMs)
rhel-8-for-x86_64-baseos-rpms Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)

 

Вся эта предварительная работа сделана. Теперь вы можете, наконец, установить Ansible:

[root@control ~]# yum install -y ansible

 

После завершения установки. Вы можете убедиться, что Ansible действительно установлен, выполнив команду:

[root@control ~]# ansible --version
ansible 2.9.14
config file = /etc/ansible/ansible.cfg
configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3.6/site-packages/ansible
executable location = /usr/bin/ansible
python version = 3.6.8 (default, Dec  5 2019, 15:45:45) [GCC 8.3.1 20191121 (Red Hat 8.3.1-5)]

 

Потрясающе! Теперь вы успешно установили Ansible на RHEL 8. Мы уверены, что вы могли подумать, что это был длительный процесс!

 

Установка Ansible на CentOS

В CentOS Ansible предоставляется репозиторием EPEL (Extra Package for Enterprise Linux).

Вы можете установить и включить репозиторий EPEL, установив пакет epel-release следующим образом:

[root@node1 ~]# yum install -y epel-release

 

Теперь вы можете установить ansible:

[root@node1 ~]# yum install -y ansible

 

Имейте в виду, что мы установили Ansible на одном из управляемых узлов здесь (node1) только в учебных целях; вам нужно только установить Ansible на контрольном узле.

 

Установка Ansible в Ubuntu

В Ubuntu вам необходимо убедиться, что в вашей системе включен репозиторий желаемой версии Ansible.

Вы можете добавить и включить репозиторий ansible-2.9 ppa, используя следующую команду:

root@node4:~# apt-add-repository --yes --update ppa:ansible/ansible-2.9

 

Наконец, вы можете установить Ansible в Ubuntu :

root@node4:~# apt-get -y install ansible

 

На этом мы подошли к концу нашего первого руководства в этой серии подготовки к RHCE Ansible. Следите за обновлениями в следующей статье, так как вы узнаете, как настроить Ansible и запустить несколько действительно крутых команд Ad-Hoc Ansible.

Exit mobile version