Ansible playbook: простой пример установки пакета
Ansible playbook описывает последовательность задач для выбранных серверов в YAML. Ниже пример обновляет кеш пакетов и устанавливает Nginx; перед запуском проверьте inventory, подключение по SSH и права пользователя.
Playbook для Debian/Ubuntu
---
- 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Проверьте синтаксис и доступ к узлам до выполнения задач:
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Флаг | Назначение |
|---|---|
| Проверить синтаксис без выполнения задач |
| Проверить доступность и Python на узле |
| Предварительный режим и показ планируемых изменений |
| Выполнять задачу с повышенными правами |
Что означает hosts: web?
Это группа из inventory-файла. Убедитесь, что группа существует и включает только нужные серверы.
Как установить конкретную версию пакета?
Укажите версию в поле name в формате, который поддерживает дистрибутив, и зафиксируйте репозиторий пакетов при необходимости.