Как установить Ansible на Ubuntu 18.04 (Bionic)

by itisgood

Ansible описание

Ansible – это инструмент автоматизации для управления несколькими удаленными хостами с одной машины.

Он предоставляет вам легкую настройку для большого количества удаленных хостов.

Например, вы выполняете одни и те же задачи на нескольких компьютерах, Ansible предоставляет вам возможность автоматизировать эти задачи.

Этот учебник поможет вам установить Ansible на Ubuntu 18.04 (Bionic) LTS

Шаг 1 – Настройка доступа по SSH

Вы можете настроить ssh на основе ключей для удаленных хостов Linux Ansible.

Поэтому для SSH пароль не потребуется.

Ansible также позволяет использовать пароль для ssh, но основанный на ключах ssh более безопасен.

Создайте пару ssh-ключей на сервере Ansible:

ssh-keygen

Скопируйте открытый ключ на все удаленные хосты, которые необходимо подключить с помощью этого ключа ssh.

ssh-copy-id -i ~/.ssh/id_rsa.pub ssh_user@remote_host

Шаг 2 – Установка Ansible на Ubuntu 18.04

Ansible предоставляет официальный PPA для установки в системах Ubuntu.

Выполните следующую команду, чтобы настроить Ansible PPA в вашей системе Ubuntu 18.04.

После добавления репозитория Ansible выполните следующие команды для установки.

sudo apt update
sudo apt install ansible

Шаг 3 – Настройка Ansible: хосты и группы

Ваш сервер с Ansible готов для удаленного управления хостами и автоматизации.

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

Здесь вам нужно определить свои удаленные системы в файле Ansible hosts (/etc/ansible/hosts). Вы также можете создавать группы хостов с похожими типами. Здесь вам необходимо правильно организовать свои хосты в группы. Группы используются для выполнения одной задачи на всех удаленных хостах, определенных под ней.

Измените файл конфигурации Ansible hosts:

sudo nano /etc/ansible/hosts

Добавьте свои хосты и организуйте их группами. Хост может быть добавлен в несколько групп.

[webservers]
web-host1
web-host2

[dbservers]
db-host1

Картинка ниже поможет вам понять как организоны группы и хосты в группах.

Конфигурация единого хоста

Вам необходимо определить настройки для ваших хостов. Файл с конкретным хостом должен иметь то же имя, что и хост (например: web-host1) в каталоге host_vars.

sudo mkdir /etc/ansible/host_vars
sudo vi /etc/ansible/host_vars/web-host1

Добавьте настройки SSH в этот файл для веб-хоста1.

ansible_ssh_host: 192.168.1.15
ansible_ssh_port: 22
ansible_ssh_user: root

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

ansible_ssh_pass: secret_password
ansible_ssh_private_key_file: /home/rahul/.ssh/aws.pem

Конфигурация группы Vars

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

Имя файла группы должно быть таким же, как имя группы (например: webservers) в каталоге group_vars.

sudo mkdir /etc/ansible/group_vars
sudo vi /etc/ansible/group_vars/webservers

Добавьте общие переменные в этот файл, используемые всеми хостами, добавленными в эту группу.

ansible_ssh_port: 22
ansible_ssh_user: root

Шаг 4 – Тестирование Ansible

Ваша установка Ansible готова к тестированию. Чтобы проверить подключение всех хостов с помощью модуля ping, выполните:

ansible -m ping all

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

ansible -m ping web-host1        ## хост
ansible -m ping webservers       ## группа

Вы также можете запустить команду с использованием shell-модуля.

Например, проверьте свободную память на web-host1.

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

Просто используйте имя группы вместо имени хоста.

ansible -m shell -a 'free -m' web-host1

You may also like

Leave a Comment