Настройка ansible debian 10

Обновлено: 06.07.2024

Созда­дим тесто­вую груп­пу хостов, на кото­рой будем тести­ро­вать уда­лен­ную уста­нов­ку приложения.

Откры­ва­ем файл хостов ansible:

Добав­ля­ем груп­пу хостов или редак­ти­ру­ем ее:

* в дан­ном при­ме­ре мы созда­ем 2 груп­пы хостов — redhat-servers для сер­ве­ров семей­ства Red Hat и debian-servers — для deb-сер­ве­ров. В каж­дую груп­пу вхо­дят по одно­му сер­ве­ру — 192.168.0.11 и 192.168.0.12.

Про­ве­рить доступ­ность хостов для ansible мож­но командой:

ansible -m ping all -u ansible -k

* дан­ной коман­дой мы про­пин­гу­ем все хосты из инвен­та­ри­за­ци­он­но­го фай­ла hosts.

Создание плейбука

Созда­ем файл для playbook:

  • --- — нача­ло фай­ла YAML . Дан­ный фор­мат име­ет стро­гую струк­ту­ру — важен каж­дый пробел;
  • hosts — груп­па хостов, к кото­рым будут при­ме­нять­ся пра­ви­ла плей­бу­ка (если мы хотим, что­бы пра­ви­ла при­ме­ня­лись ко всем хостам, ука­зы­ва­ем hosts: all);
  • become — ука­зы­ва­ет на необ­хо­ди­мость эска­ла­ции привилегий;
  • become_method — метод эска­ла­ции привилегий;
  • become_user — поль­зо­ва­тель под кото­рым мы захо­дим с помо­щью become_method;
  • remote_user — поль­зо­ва­тель, под кото­рым будем под­клю­чать­ся к уда­лен­ным серверам;
  • roles — спи­сок ролей, кото­рые будут при­ме­нять­ся для плейбука.

* В дан­ном слу­чае мы задей­ству­ем нашу груп­пы хостов, кото­рые созда­ли в самом нача­ле; повы­ша­ем при­ви­ле­гии мето­дом su под поль­зо­ва­те­лем root (su - root) для груп­пы redhat-servers и мето­дом sudo для debian-servers; под­клю­че­ние к сер­ве­рам выпол­ня­ет­ся от поль­зо­ва­те­ля ansible; исполь­зу­ем создан­ную нами роль nginx (саму роль мы созда­дим поз­же). Для систем RPM сна­ча­ла выпол­ним роль epel — она будет отве­чать за уста­нов­ку репо­зи­то­рия EPEL , так как в стан­дарт­ном репо­зи­то­рии nginx нет.

Сто­ит отдель­но уде­лить вни­ма­ние вопро­су повы­ше­ния при­ви­ле­гий. IT-сре­ды могут при­ме­нять раз­ные поли­ти­ки отно­си­тель­но без­опас­но­сти. Напри­мер, на сер­ве­рах CentOS, по умол­ча­нию, нет sudo и повы­шать при­ви­ле­гии нуж­но с помо­щью su. В Ubuntu наобо­рот — по умол­ча­нию есть sudo, а su не рабо­та­ет, так как пароль на root не уста­нав­ли­ва­ет­ся. В дан­ном слу­чае есть несколь­ко путей при рабо­те с Ansible:

  1. Как в нашем при­ме­ре, раз­де­лить груп­пы хостов на раз­ные семей­ства опе­ра­ци­он­ных систем и при­ме­нять к ним раз­ные мето­ды повы­ше­ния при­ви­ле­гий. Что­бы дан­ный плей­бук кор­рект­но отра­бо­тал, учет­ная запись, под кото­рой идет уда­лен­ное под­клю­че­ние к сер­ве­ру (в нашем при­ме­ре ansible) долж­на иметь такой же пароль, как у поль­зо­ва­те­лей root на сер­ве­рах семей­ства Red Hat. Дан­ный метод удо­бен с точ­ки зре­ния отсут­ствия необ­хо­ди­мо­сти при­во­дить к еди­но­му виду без­опас­ность сер­ве­ров раз­но­го семей­ства. Одна­ко, с точ­ки зре­ния без­опас­но­сти луч­ше, что­бы паро­ли у root и ansible были разные.
  2. Исполь­зо­вать метод для созда­ния плей­бу­ка, как опи­сан выше, но запус­кать его с клю­чом --limit, напри­мер, ansible-playbook --limit=debian-servers … — таким обра­зом, мы запу­стим отдель­ные зада­ния для каж­до­го семей­ства опе­ра­ци­он­ных систем и смо­жем вве­сти инди­ви­ду­аль­ные паро­ли для каж­до­го случая.
  3. Мы можем на всех сер­ве­рах deb уста­но­вить пароль для поль­зо­ва­те­ля root, таким обра­зом, полу­чив воз­мож­ность для become_method: su.
  4. И нако­нец, мож­но для сер­ве­ров Red Hat уста­но­вить sudo и про­хо­дить become с помо­щью мето­да sudo.

Создание роли

Роли в Ansible исполь­зу­ют­ся для логи­че­ско­го раз­де­ле­ния плей­бу­ка. Они име­ют стро­гий син­так­сис и фай­ло­вую струк­ту­ру. Таким обра­зом, кон­фи­гу­ра­ция ста­но­вит­ся более упо­ря­до­чен­ной и понят­ной для даль­ней­шей поддержки.

И так, для ролей долж­на быть чет­кая фай­ло­вая струк­ту­ра — созда­ем каталоги:

Ansible на Debian может работать также успешно как и на Centos, клиентами могут быть машины с любыми ОС.

Ansible на Debian

Управление конфигурацией серверов осуществляется при помощи так называемых playbooks, которые являются файлами в формате yml. Инструкции довольно просты, чтобы освоить синтаксис достаточно прочитать соответствующий раздел документации к пакету.

Рассмотрим установку и настройку пакета Ansible на Debian 7 Wheezy

Обновляем список репозиториев

Пробуем установить пакет из репозитория

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

Установка Ansible на Debian 7 из бэкпортов

Подключаем репозитоирй с бэкпортами для wheezy

Далее вновь обновляем информацию и устанавливаем пакет из бэкпортов

Затем проверяем версию, если никаких ошибок при установке не возникло отобразится примерно такая информация:

Установка Ansible на Debian сервер завершена, переходим в каталог с конфигурационными файлами

Просматриваем основной конфиг

В нем задаются все параметры работы пакета, самым важным является hostfile = /etc/ansible/hosts, определяющим из какого файла будет браться список хостов на который распространяется конфигурация

Ansible получает доступ к серверам по ssh, в конфиге среди прочего задается таймаут соединения (по умолчанию это 10 секунд)

После этого генерируем ключи и отправляем публичный ключ на все сервера, которые были добавлены в hosts на предыдущем шаге

Если возникают ошибки может потребоваться установить некоторые дополнительные пакеты

apt-get install libffi-dev g++ libssl-dev

Попробуем вывести в консоль hostname всех серверов из hosts

Это один из стандартных сценариев из репозитория Ansible на github. Они находятся в свободном доступе и их можно использовать.

Конфигурация применится ко всем серверам при выполнении следующей команды:

Favorite

Добавить в избранное

Главное меню » Операционная система Linux » Краткое руководство: Как установить и настроить Ansible в Linux для автоматизации

(1 оценок, среднее: 5,00 из 5)

Краткое руководство: Как установить и настроить ansible в Linux для автоматизации

Почему необходимо установить и настроить Ansible в Linux.

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

Есть много таких инструментов, доступных для автоматизации, таких как Chef или Puppet. Однако эти инструменты имеют сложности в настройке. У нас есть отличная альтернатива для этих вариантов, это Ansible. С помощью ее, вы можете очень легко установить и настроить Ansible в Linux.

Это руководство быстро расскажет вам о том, как установить и настроить Ansible в Linux.

Сколько Ansible работает!

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

Детали установки для установки Ansible.

Детали для сервера управления Ansible:

Детали машины клиента:

Шаг 1: Установка Ansible на сервере управления.

Для Linux Mint, Ubuntu и Debian
Для RHEL, CentOS и Fedora

Пожалуйста, обратите внимание, что нет никакого официального репозитория Ansible для RedHat, мы все еще можем установить Ansible, добавляя репозиторий Epel под RHEL или Centos.

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

Шаг 2: Настройка SSH для настройки Ansible.

Для развертывания или управления на клиентской машине с нашего сервера управления «destroyer», нам нужно установить пароль на SSH между ними. В этой демонстрации мы настроили пользователя lradmin для пароля SSH.

Генерировать ключи SSH на сервере управления для пользователя lradmin.

Здесь мы сделали генерацию ключей, в следующем шаге нам необходимо скопировать содержимое «/root/.ssh/id_rsa.pub» на клиентскую систему для пользователя lradmin. Пожалуйста, следуйте инструкциям, приведенные в этом посте, так чтобы пароль имел связь между сервером управления и машиной клиента web1 и web2.

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

Шаг 3: Создание файла инвентаризации для Ansible.

На следующем этапе нам нужно создать файл инвентаризации для списка клиентов. В основном его список IP клиента или имя хоста для машин, которые используются для автоматизации.

Пожалуйста, добавьте ниже строки кода в файл “/etc/Ansible/hosts” на нашем сервере управления.

Приведенные выше строки кода описывают, как список клиентских машин подпадает под категорию веб-пользователя, имеющего Ansible как lradmin.

Шаг 4: Проверьте соединение.

Теперь пришло время, чтобы проверить, является ли наша конфигурация правильно установлена или нет. Для этого мы будем использовать пинг в Ansible.

Шаг 4: Выполнение удаленных команд на клиентских машинах.

Теперь мы имеем возможность запускать произвольные команды на клиентских машинах, чтобы извлечь некоторую информацию о них. Таким образом, чтобы сделать это, необходимо использовать модуль «command» в пределах Ansiblensible.

  • В случае, если вы хотите использовать файловую систему на клиентской машине.
Проверка бесперебойной работы клиентских машин.

Вывод:

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Когда я говорю об инструментах управления конфигурацией, чаще всего упоминается название Ansible. Это кроссплатформенный инструмент, предназначенный для обработки системных конфигураций при работе с операционными системами Linux, macOS и Windows.

  • Как установить Gradle на Debian 10
  • Как установить Qmmp в Debian 10

Сегодня, Советы представит процесс установки Ansible в Debian 10.

Установка Ansible на Debian 10

Чтобы установить Ansible в Debian 10, вам нужно сделать три простых шага:

Шаг 1. Обновите свою систему Debian 10

Перед установкой Ansible в Debian 10 вы должны обновить его, используя команду, показанную ниже:

После обновления вашей системы Debian 10 вы должны увидеть в Терминале информацию, как показано на следующем изображении:

Шаг 2. Установите Ansible в системе Debian 10

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

Шаг 3: Подтверждение установки Ansible в системе Debian 10

Установка Ansible в системе Debian 10 настолько проста, что ее нужно выполнить за два шага, описанных выше. Однако вы все равно можете проверить, был ли он успешно установлен в вашей системе Debian 10. Это можно сделать, проверив версию Ansible с помощью следующей команды:

Версия Ansible, установленная в системе Debian 10 в этом примере, - 2.7.7.

Отредактируйте хост файла / etc / ansible / hosts чтобы добавить систему, которой вы хотите управлять с помощью Ansible.

Пожалуйста, добавьте следующее:

И сохраните файл.

Использовать Ansible

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

Используйте эту команду для генерации ключа SSH и аутентификации на основе ключа:

Выход:

Следующим шагом является копирование вновь созданного ключа в другую систему. Выполните эту команду:

IP 192.168.0.2 в приведенной выше команде следует заменить IP-адресом системы, которой вы хотите управлять с помощью Ansible.

Выход:

Теперь, когда пришло время провести первый тест, войдите в систему на другом компьютере, используя эту команду SSH:

Теперь логин должен работать без пароля.

Тестовый запуск Ansible

Установка завершена, теперь вы можете приступить к тестированию Ansible.

Выполните эту команду, чтобы проверить соединение:

Выход:

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

Теперь пора запустить команду в удаленной системе и получить результаты. В этом примере будет использоваться команда df.

Выход:

Результаты показывают использование жесткого диска в удаленной системе. Вы можете выполнить любую команду оболочки Linux, подобную этой, с помощью Ansible, а также создать полный сценарий для настройки и обслуживания сервера.

Читайте также: