Ansible playbook: простой пример установки пакета

Категория: Nginx · Язык: YAML · Обновлено:

Ansible playbook описывает последовательность задач для выбранных серверов в YAML. Ниже пример обновляет кеш пакетов и устанавливает Nginx; перед запуском проверьте inventory, подключение по SSH и права пользователя.

Playbook для Debian/Ubuntu

YAML
---
- name: Install nginx
  hosts: web
  become: true
  tasks:
    - name: Update apt cache
      ansible.builtin.apt:
        update_cache: true
        cache_valid_time: 3600

    - name: Install nginx package
      ansible.builtin.apt:
        name: nginx
        state: present

Пример inventory:

Текст
[web]
web-1 ansible_host=192.0.2.10 ansible_user=deploy

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

Bash
ansible-playbook -i inventory.ini site.yml --syntax-check
ansible -i inventory.ini web -m ping
ansible-playbook -i inventory.ini site.yml --check --diff

Флаг

Назначение

--syntax-check

Проверить синтаксис без выполнения задач

-m ping

Проверить доступность и Python на узле

--check --diff

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

become: true

Выполнять задачу с повышенными правами

Что означает hosts: web?

Это группа из inventory-файла. Убедитесь, что группа существует и включает только нужные серверы.

Как установить конкретную версию пакета?

Укажите версию в поле name в формате, который поддерживает дистрибутив, и зафиксируйте репозиторий пакетов при необходимости.