Назад к вопросам
Junior
93
questionbank
Из каких компонентов состоит плейбук Ansible?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Плейбук Ansible состоит из следующих основных компонентов:
- Play (Игра): Основная единица выполнения в плейбуке. Представляет собой набор задач, выполняемых на определенной группе хостов с заданной конфигурацией.
- Hosts (Хосты): Указывает целевые хосты или группы хостов, на которых будет выполняться игра. Определяется с помощью инвентарного файла или динамических инвентарей.
- Become (Стать другим пользователем): Позволяет выполнять задачи с повышенными привилегиями (например, как root) или от имени другого пользователя. Используется для операций, требующих специального доступа.
- Tasks (Задачи): Список шагов, которые Ansible должен выполнить на целевых хостах. Каждая задача вызывает модуль Ansible для выполнения конкретного действия.
- Modules (Модули): Функциональные единицы Ansible, которые выполняют конкретные действия (установка пакетов, копирование файлов, запуск команд и т.д.). Например:
yum,apt,copy,shell. - Name (Имя): Необязательное, но рекомендуемое поле для каждого плейбука, игры и задачи. Предоставляет читаемое описание того, что делает компонент.
- Vars (Переменные): Позволяет определить переменные, которые могут быть использованы в задачах. Повышает гибкость и переиспользование плейбуков.
- Handlers (Обработчики): Специальные задачи, которые выполняются только в случае изменения конфигурации, инициированного другими задачами. Часто используются для перезапуска служб.
- Roles (Роли): Механизм для организации плейбуков, переменных, файлов и обработчиков в повторно используемую структуру. Упрощает управление более сложными конфигурациями.
- Tags (Теги): Позволяют помечать игры или задачи для выборочного выполнения или пропуска при запуске плейбука.
Пример простейшего плейбука:
---
- name: Install and start Apache
hosts: webservers # Целевая группа хостов
become: yes # Выполнять с root-правами
tasks:
- name: Install Apache package
yum: # Использование модуля yum
name: httpd
state: present # Убедиться, что установлен
- name: Ensure Apache service is running and enabled
service: # Использование модуля service
name: httpd
state: started # Убедиться, что запущен
enabled: yes # Убедиться, что включен при запуске системы
- name: Copy index.html
copy: # Использование модуля copy
src: files/index.html # Исходный файл
dest: /var/www/html/index.html # Место назначения
notify: Restart Apache # При изменении файла, вызвать обработчик Restart Apache
handlers:
- name: Restart Apache
service:
name: httpd
state: restarted