Установка Ansible на Ubuntu 20.04/22.04: Пошаговая инструкция | AdminWiki

Установка Ansible на Ubuntu: Полное руководство для DevOps-инженеров

18 декабря 2025 6 мин. чтения #ansible #devops #ubuntu #автоматизация #конфигурация #установка ansible

Если ты устал от ручного управления серверами и хочешь автоматизировать свою инфраструктуру, то установка Ansible на Ubuntu — твой первый шаг к DevOps-раю. Ansible — это мощный инструмент автоматизации, который работает по принципу "инфраструктура как код". Давай разберем, как правильно его установить и настроить.

Подготовка системы перед установкой

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

bash
sudo apt update
sudo apt upgrade -y
Важно: Ansible требует Python на управляющем узле. В Ubuntu 20.04 и 22.04 Python 3 уже предустановлен. Проверь версию командой python3 --version.

Методы установки Ansible на Ubuntu

Есть несколько способов установки. Выбери тот, который лучше подходит под твои задачи:

Способ 1: Установка из официальных репозиториев Ubuntu (самый простой)

Этот метод подходит для большинства пользователей и обеспечивает стабильную версию:

bash
# Установка Ansible из репозиториев Ubuntu
sudo apt install ansible -y

Способ 2: Установка через PIP (последняя версия)

Если тебе нужна самая свежая версия Ansible, используй установку через pip:

bash
# Установка pip для Python 3
sudo apt install python3-pip -y

# Установка Ansible через pip
sudo pip3 install ansible
Внимание: При установке через pip могут возникнуть конфликты с системными пакетами. Рекомендуется использовать виртуальное окружение Python.

Способ 3: Установка из PPA репозитория (промежуточный вариант)

PPA репозиторий предоставляет более свежие версии, чем официальные репозитории Ubuntu:

bash
# Добавление PPA репозитория
sudo apt-add-repository --yes --update ppa:ansible/ansible

# Установка Ansible
sudo apt install ansible -y

Проверка установки Ansible

После завершения установки убедись, что Ansible работает корректно:

bash
# Проверка версии Ansible
ansible --version

# Должен вывести что-то вроде:
# ansible [core 2.14.3]
#   config file = /etc/ansible/ansible.cfg
#   configured module search path = ['/home/user/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
#   ansible python module location = /usr/lib/python3/dist-packages/ansible
#   ansible collection location = /home/user/.ansible/collections:/usr/share/ansible/collections
#   executable location = /usr/bin/ansible
#   python version = 3.10.6 (main, Nov 14 2022, 16:10:14) [GCC 11.3.0]
#   jinja version = 3.0.3
#   libyaml = True

Настройка управления узлами (Managed Nodes)

Для работы Ansible нужно настроить управляемые узлы. Создай инвентарный файл:

config
# ~/ansible/inventory.ini
[webservers]
web1.example.com ansible_user=ubuntu
web2.example.com ansible_user=ubuntu

[database]
db1.example.com ansible_user=ubuntu

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

Настройка SSH ключей для безпарольного доступа

Ansible использует SSH для подключения к узлам. Настрой безпарольный доступ:

bash
# Генерация SSH ключа (если еще нет)
ssh-keygen -t rsa -b 4096

# Копирование ключа на управляемые узлы
ssh-copy-id ubuntu@web1.example.com
ssh-copy-id ubuntu@web2.example.com

Сравнение методов установки Ansible

Метод Версия Сложность Рекомендация
Официальные репозитории Стабильная Низкая Для production
PPA репозиторий Свежая Средняя Для тестирования
PIP установка Последняя Высокая Для разработки

Первый плейбук для проверки работы

Создай простой плейбук для проверки связи с узлами:

yaml
# ~/ansible/test_playbook.yml
---
- name: Test Ansible Installation
  hosts: all
  gather_facts: yes
  
  tasks:
    - name: Display host information
      debug:
        msg: "Hello from {{ ansible_hostname }}"
    
    - name: Check disk space
      command: df -h
      register: disk_space
    
    - name: Display disk space
      debug:
        var: disk_space.stdout_lines

Запусти плейбук для проверки:

bash
ansible-playbook -i inventory.ini test_playbook.yml

Частые проблемы и их решение

Проблема 1: Host key verification failed

Решение: Добавь опцию в ansible.cfg или используй параметр командной строки:

# Временное решение
ansible-playbook -i inventory.ini playbook.yml --ssh-common-args='-o StrictHostKeyChecking=no'

# Постоянное решение в ~/.ssh/config
Host *
    StrictHostKeyChecking no
    UserKnownHostsFile /dev/null

Проблема 2: Python не найден на удаленном узле

Решение: Укажи правильный интерпретатор Python в инвентарном файле:

[webservers]
web1.example.com ansible_python_interpreter=/usr/bin/python3

FAQ: Ответы на частые вопросы

Как обновить Ansible до последней версии?

Если устанавливал через apt:

sudo apt update
sudo apt upgrade ansible -y

Если через pip:

sudo pip3 install --upgrade ansible

Нужно ли устанавливать Ansible на все узлы?

Нет! Ansible устанавливается только на управляющий узел (control node). На управляемые узлы требуется только Python и SSH доступ.

Какая версия Ubuntu лучше для Ansible?

Ansible хорошо работает на всех LTS версиях Ubuntu. Рекомендуем:

  • Ubuntu 22.04 LTS (самая стабильная на момент написания)
  • Ubuntu 20.04 LTS (поддержка до 2025 года)
  • Ubuntu 18.04 LTS (если есть legacy системы)

Заключение

Ты успешно завершил установку Ansible на Ubuntu! Теперь у тебя есть мощный инструмент для автоматизации инфраструктуры. Помни основные моменты:

  • Выбирай метод установки в зависимости от твоих потребностей
  • Всегда настраивай SSH ключи для безпарольного доступа
  • Проверяй соединение с узлами перед запуском плейбуков
  • Начинай с простых плейбуков и постепенно усложняй

Следующий шаг — изучение Ansible плейбуков, ролей и модулей. Удачи в автоматизации!

Поделиться:
Сохранить гайд? В закладки браузера