Ansible - учебники

В этой главе мы узнаем о Playbooks в Ansible.

Playbook - это файлы, в которых написан код Ansible. Плейбуки написаны в формате YAML. YAML означает еще один язык разметки.Playbooksявляются одной из основных функций Ansible и сообщают Ansible, что нужно выполнить. Они похожи на список дел для Ansible, который содержит список задач.

Playbooks содержат шаги, которые пользователь хочет выполнить на конкретной машине. Playbook запускается последовательно. Playbook - это строительные блоки для всех вариантов использования Ansible.

Структура учебника

Каждая игра представляет собой совокупность одной или нескольких пьес в ней. Пособия структурированы с использованием пьес. Внутри сборника пьес может быть несколько пьес.

Функция игры заключается в отображении набора инструкций, определенных для конкретного хоста.

YAML - это язык со строгой типизацией; поэтому при записи файлов YAML необходимо проявлять особую осторожность. Существуют разные редакторы YAML, но мы предпочтем использовать простой редактор, например notepad ++. Просто откройте блокнот ++, скопируйте и вставьте приведенный ниже yaml и измените язык на YAML (Language → YAML).

YAML начинается с --- (3 дефиса)

Создать учебник

Давайте начнем с написания образца файла YAML. Мы пройдемся по каждому разделу, написанному в файле yaml.

--- 
   name: install and configure DB
   hosts: testServer
   become: yes

   vars: 
      oracle_db_port_value : 1521
   
   tasks:
   -name: Install the Oracle DB
      yum: <code to install the DB>
    
   -name: Ensure the installed service is enabled and running
   service:
      name: <your service name>

Выше приведен образец Playbook, в котором мы пытаемся охватить базовый синтаксис playbook. Сохраните вышеуказанный контент в файле какtest.yml. Синтаксис YAML должен соответствовать правильному отступу, и нужно быть немного осторожным при написании синтаксиса.

Различные теги YAML

Давайте теперь рассмотрим различные теги YAML. Различные теги описаны ниже -

название

Этот тег определяет имя сборника пьес Ansible. Как в том, что будет делать этот сценарий. Плейбуку можно дать любое логическое имя.

хозяева

Этот тег определяет списки хостов или группы хостов, для которых мы хотим запустить задачу. Поле / тег хостов является обязательным. Он сообщает Ansible, на каких хостах запускать перечисленные задачи. Задачи можно запускать на одной или удаленной машине. Можно запускать задачи на нескольких машинах, и, следовательно, тег hosts также может иметь запись группы хостов.

варс

Тег Vars позволяет вам определять переменные, которые вы можете использовать в своей книге. Использование аналогично переменным в любом языке программирования.

задачи

Все playbooks должны содержать задачи или список задач, которые нужно выполнить. Задачи - это список действий, которые необходимо выполнить. Поле задач содержит название задачи. Это работает как текст справки для пользователя. Это не обязательно, но полезно при отладке playbook. Каждая задача внутренне связана с фрагментом кода, который называется модулем. Модуль, который должен быть выполнен, и аргументы, необходимые для модуля, который вы хотите выполнить.