|

Как установить и настроить Ansible на Ubuntu 23.04

Хотя для систем Linux выпущено много популярных инструментов управления конфигурациями, в том числе Chef и Puppet, эти инструменты сложнее, чем требуется большинству людей. Система Ansible — отличная альтернатива этим инструментам, поскольку имеет простую архитектуру, не требует установки на узлы специального программного обеспечения, использует SSH для выполнения задач автоматизации и файлы YAML для определения деталей выделения ресурсов.

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

Итак перейдем к установке, для начала обновим индексы пакетов:

sudo apt update

Установим Ansible:

sudo apt install ansible

Проверьте версию Ansible:

ansible --version

Это должно вывести информацию о версии установленного Ansible.

Теперь Ansible установлен на вашем сервере Ubuntu. Вы можете начать использовать его для управления конфигурациями и автоматизации задач.

Настройка Ansible

Откройте файл конфигурации Ansible:

sudo nano /etc/ansible/ansible.cfg

**Раскомментируйте (уберите знак # в начале строки) и измените параметры по необходимости. Например, установите inventory (файл, описывающий ваши серверы) и remote_user (имя пользователя для подключения к удаленным серверам).

[defaults]
inventory = /etc/ansible/hosts
remote_user = ваш_пользователь
private_key_file = /путь/к/вашему/ключу.pem

Замените ваш_пользователь на имя вашего пользователя и укажите путь к вашему ключу (private_key_file).

Создание Inventory файла

Создайте файл Inventory (например, /etc/ansible/hosts):

sudo nano /etc/ansible/hosts

Добавьте IP-адреса или имена хостов в файл. Пример:

[servers]
сервер_1 ansible_host=IP_адрес_1
сервер_2 ansible_host=IP_адрес_2

Замените сервер_1, сервер_2, IP_адрес_1, IP_адрес_2 на ваши значения.

Проверка файла инвентаризации:

 ansible-inventory --list -y

Проверка подключения

Выполните команду для проверки подключения к вашим серверам:

ansible all -m ping

Если все настроено правильно, вы должны получить успешные ответы от ваших серверов.

Создание простого Ansible Playbook

Давайте начнем с создания и запуска нашего первого сборника Ansible playbook. На управляющем узле создайте простой файл YAML в каталоге /etc/ansible/ следующим образом:

sudo vim /etc/ansible/playbook-01.yml

Теперь заполните файл playbook следующим кодом:

---
- name: A simple playbook file
  hosts: all
  tasks:
  	- name: Print a sample message
      debug: 
      	msg: Hello World. Welcome to Ansible playbooks!

--- обозначает начало файла YAML.

В первом экземпляре name директивы указывается название playbook. Во втором экземпляре указывается название задачи.

hosts Директива определяет целевые хосты, на которых будет выполняться playbook. В этом примере playbook будет выполняться на всех хостах, указанных в файле инвентаря. Чтобы настроить таргетинг на конкретный хост, укажите IP-адрес хоста или доменное имя.

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

debug Ключевое слово — это встроенный модуль, который поставляется с Ansible и печатает инструкции во время выполнения Playbook. Кроме того, оно удобно при отладке инструкций и переменных без остановки playbook. debug Модуль поставляется с некоторыми опциями, такими как msg и varmsg Опция указывает строку для стандартного вывода.

Выполнить Ansible Playbook

Чтобы запустить сборник playbook, используйте ansible-playbook команду, как показано ниже:

ansible-playbook /path/to/playbook_file

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

ansible-playbook /etc/ansible/playbook-01.yml

Во время выполнения playbook вы должны увидеть следующий вывод:

Обратите внимание, что были выполнены две задачи, хотя в файле Playbook мы определили только одну.

Первая задача собирает факты об управляемом узле. Факты Ansible относятся к системным данным, относящимся к конкретному узлу, которые представлены в формате JSON, таким как информация BIOS, системная дата и время, тип и версия операционной системы и IP-адрес. Он также включает аппаратные данные, такие как блочные устройства, центральный процессор, оперативная память и пространство подкачки, и это лишь некоторые из них.

Вторая задача выводит простое сообщение в стандартный вывод, как указано в файле playbook. ok=2 Указывает, что две задачи были успешно выполнены.

Похожие записи

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *