Краткий справочник

Шпаргалка по быстрому старту Ansible для начинающих

Пошаговое руководство по Ansible для начинающих: установка, структура проекта, настройка inventory, написание плейбуков и запуск автоматизации.

· Опубликовано

Практическое руководство с нуля по установке Ansible, организации файлов инвентаря, написанию первого YAML-плейбука и оркестрации серверных задач.

🔗 Related: Основная шпаргалка по Ansible · Шпаргалка по ролям Ansible · Примеры плейбуков Ansible

Установка

# macOS (Homebrew)
brew install ansible

# Ubuntu / Debian
sudo apt update && sudo apt install -y ansible

# Python Pip (Universal)
pip install ansible

См.: Официальная документация по установке Ansible: Ansible Installation Docs


Настройка проекта

mkdir -p ~/ansible-setup
cd ~/ansible-setup

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


Конфигурационные файлы

Файл инвентаря (Inventory)

hosts

[webservers]
192.168.0.10
192.168.0.11

[databases]
192.168.0.20

[local]
localhost ansible_connection=local

Инвентарь определяет целевые узлы, сгруппированные логически. Можно указать localhost с ansible_connection=local для локального тестирования без SSH.

См.: Руководство по созданию инвентаря в Ansible: Ansible How to build your inventory


Определение плейбука (Playbook)

playbook.yml

---
- name: Basic Server Provisioning
  hosts: webservers
  become: true
  tasks:
    - name: Update apt package cache
      apt:
        update_cache: yes
        cache_valid_time: 3600

    - name: Ensure Nginx is installed
      apt:
        name: nginx
        state: present

    - name: Start Nginx and enable on boot
      service:
        name: nginx
        state: started
        enabled: yes

    - name: Create hello world banner
      shell: echo "Managed by Ansible" > /tmp/motd.txt

Выполнение

Проверка и запуск

Проверка доступности с помощью ad-hoc команды ping:

ansible -i hosts all -m ping

Запуск полного плейбука на указанном инвентаре:

ansible-playbook -i hosts playbook.yml

Тестовый запуск (Режим проверки Check Mode)

Предварительный просмотр возможных изменений без применения на удаленных узлах:

ansible-playbook -i hosts playbook.yml --check --diff

Ссылки

Связанные темы