DataLife Engine / Установка и настройка Ansible в Ubuntu

Установка и настройка Ansible в Ubuntu


Предварительные требования

Для данного руководства требуется следующее:

* Один узел управления Ansible: узел управления Ansible — это система, которую мы будем использовать для подключения к хостам Ansible через SSH и управления этими хостами. В качестве узла управления Ansible может выступать локальный компьютер или специально выделенный для Ansible сервер.

* Один или несколько хостов Ansible: хост Ansible — это любой компьютер, для автоматизации которого настроен узел управления Ansible.

Убедитесь, что каждый хост Ansible соответствует следующим требованиям:

* Открытый ключ SSH узла управления Ansible добавлен в файл authorized_keys пользователя системы. Это может быть пользователь root или обычный пользователь с привилегиями sudo.

Step 1 — Установка Ansible

$ sudo apt update
$ sudo apt install ansible

Step 2 — Настройка файла инвентаризации
В следующем примере определяется группа [servers] с тремя разными серверами, каждый из которых имеет собственный индентификатор: server1, server2 и server3. Обязательно замените выделенные IP-адреса IP-адресами ваших хостов Ansible.
$ sudo vim /etc/ansible/hosts

[servers]
server1 ansible_host=192.168.1.10
server2 ansible_host=192.168.1.11
server3 ansible_host=192.168.1.12

[all:vars]
ansible_python_interpreter=/usr/bin/python3

Если вы захотите проверить файл инвентаризации, то вы можете запустить команду:

$ ansible-inventory --list -y

Результат будет выглядеть примерно так, только в нем будет показана ваша серверная инфраструктура, определенная в файле инвентаризации:

Output
all:
  children:
    servers:
      hosts:
        server1:
          ansible_host: 192.168.1.10
          ansible_python_interpreter: /usr/bin/python3
        server2:
          ansible_host: 192.168.1.11
          ansible_python_interpreter: /usr/bin/python3
        server3:
          ansible_host: 192.168.1.12
          ansible_python_interpreter: /usr/bin/python3
    ungrouped: {}

Step 3 — Тестирование подключения
После настройки файла инвентаризации для вашего сервера, вы можете проверить способность Ansible подключаться к этим серверам и запускать команды через SSH.
Запустите на локальном компьютере или узле управления Ansible следующую команду:

$ ansible all -m ping -u <user_name>

Результаты должны выглядеть примерно следующим образом:

Output
server1 | SUCCESS => {
    "changed": false,
    "ping": "pong"
}
server2 | SUCCESS => {
    "changed": false,
    "ping": "pong"
}
server3 | SUCCESS => {
    "changed": false,
    "ping": "pong"
}

Step 4 — Запуск ситуативных команд (опционально)
Например, вы можете проверить время uptime каждого хоста в группе servers с помощью следующей команды:

$ ansible servers -a "uptime" -u <user_name>

Можно указать несколько хостов, разделив их имена двоеточиями:

$ ansible server1:server2 -m ping -u <user_name>
22-08-2022, 14:39
Вернуться назад