Необходимый синтаксис YAML для Ansible
Отступы, списки и отображения «ключ—значение».
«Необходимый синтаксис YAML для Ansible» — бесплатный урок Ansible Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Ansible Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Ansible Academy содержит 4 уроков всего.
Плейбуки — это просто YAML
Каждый плейбук Ansible написан на YAML — текстовом формате, созданном для удобного чтения и написания.
Документы начинаются с ---
Файл YAML обычно начинается с трёх дефисов. Эта последовательность --- обозначает начало документа, и Ansible ожидает её увидеть.
---
# my first playbook below this lineОтступы — это главное
YAML использует отступы для обозначения структуры. Пробелы показывают вложенность, поэтому всё, что находится с отступом под строкой, относится к ней.
Только пробелы, никаких табуляций
Всегда используйте в YAML пробелы для отступов. Символ табуляции недопустим, и Ansible откажется разобрать файл.
Отображения ключ—значение
Основа YAML — это отображение: ключ, двоеточие, пробел, затем значение. Так задаётся каждый параметр.
name: install nginx
state: presentПосле двоеточия нужен пробел
Этот единственный пробел после двоеточия обязателен. Запись name:value без пробела вводит анализатор в заблуждение, поэтому не убирайте этот пробел.
В списках используются дефисы
Список — это набор элементов, каждый из которых находится на отдельной строке и начинается с дефиса и пробела. Плейбуки на самом деле представляют собой списки play.
packages:
- nginx
- git
- curlСписки отображений
Задания Ansible объединяют обе идеи: это список отображений. Каждый дефис начинает задание, а ключи с отступом описывают его.
tasks:
- name: say hello
debug:
msg: hiСтрокам часто не нужны кавычки
Обычным текстовым значениям обычно не нужны кавычки. Добавляйте кавычки только тогда, когда значение содержит двоеточия, фигурные скобки или начинается со специального символа.
msg: "value: with a colon needs quotes"Логические значения и числа
YAML воспринимает true, false и отдельные цифры как логические значения и числа, а не как текст. Поэтому yes и 22 — типизированные значения, а не строки.
enabled: true
port: 22Комментарии начинаются с #
Всё после # в строке является комментарием. Ansible игнорирует его, поэтому используйте комментарии, чтобы объяснять назначение каждого задания.
# this task installs the web server
- name: install nginxБыстрая проверка
Вам нужно добавить отступ перед вложенной строкой в плейбуке. Что Вы используете?
Вы знаете достаточно о YAML
Вот и весь набор инструментов: отображения, списки и отступы, созданные с помощью пробелов. Освойте эти несколько правил — и каждый плейбук будет понятным. 🎉
Часто задаваемые вопросы
Урок «Необходимый синтаксис YAML для Ansible» бесплатный?
Да — полный текст урока «Необходимый синтаксис YAML для Ansible» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Ansible Academy, подпишись на CoddyKit PRO. Курс Ansible Academy содержит 4 уроков всего.
Чему я научусь в уроке «Необходимый синтаксис YAML для Ansible»?
Отступы, списки и отображения «ключ—значение». Ты практикуешь Ansible Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Ansible Academy?
Предыдущий опыт не требуется. Ansible Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Необходимый синтаксис YAML для Ansible»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Ansible Academy?
Да. Каждый урок Ansible Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Необходимый синтаксис YAML для Ansible
- От разовой команды к воспроизводимому плейбуку
- Запуск с помощью ansible-playbook
- Установка Nginx в пять строк