0Pricing
DevOps Bootcamp · Урок

Применение ролей и передача переменных роли

Подключите роль и задайте её параметры

«Применение ролей и передача переменных роли» — бесплатный урок DevOps Bootcamp на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения DevOps Bootcamp, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс DevOps Bootcamp содержит 4 уроков всего.

Применяйте роль с помощью roles:

Самый простой способ использовать роль — ключ roles в игре. Укажите имена ролей, и Ansible выполнит их по очереди.

- hosts: web
  roles:
    - nginx
    - firewall

Роли выполняются до задач

Роли, указанные в разделе roles, выполняются до любых задач в той же игре. Помните об этом порядке, смешивая роли и задачи.

Передавайте переменные непосредственно

Чтобы настроить роль, передайте переменные непосредственно в месте её применения. Ansible передаст их роли, переопределив значения по умолчанию.

roles:
  - role: nginx
    nginx_port: 8080

Ключ role: задаёт это явно

При передаче переменных используйте ключ role, чтобы указать роль, а затем добавьте переменные как соседние ключи под ним.

- role: postgres
  db_name: shop
  db_user: admin

Значения по умолчанию — резервный вариант

Если Вы не передали переменную, роль использует её значение из defaults/main.yml. Поэтому каждая роль работает сразу после установки.

Переопределяйте одну роль дважды

Вы можете применить одну роль несколько раз с разными переменными, например настроить два экземпляра базы данных с помощью одной роли.

Переменные групп доступны и ролям

Переменные из group_vars и host_vars автоматически передаются ролям, применяемым к этим узлам, поэтому передавать их непосредственно не требуется.

vars_files сохраняет чистоту игр

Вынесите настройки роли из игры в отдельный файл с помощью vars_files, чтобы плейбук оставался коротким и удобным для чтения.

vars_files:
  - web_settings.yml

include_role запускает роль в середине игры

Нужна роль в середине списка задач? Используйте include_role как задачу, чтобы применить её динамически именно в этом месте.

- name: Set up nginx
  ansible.builtin.include_role:
    name: nginx

Документируйте принимаемые переменные

Хорошая роль перечисляет ожидаемые переменные в README. Понятные входные данные делают роль удобной и безопасной для повторного использования кем угодно.

Одна роль — много серверов

Применяйте одну и ту же параметризованную роль к множеству узлов, настраивая каждый из них разными переменными. Это повторное использование без переписывания ни одной задачи.

Быстрая проверка

Подумайте, как переопределить значение роли по умолчанию при её применении.

Итоги

Применяйте роли с помощью ключа roles, передавайте переменные непосредственно для переопределения значений по умолчанию и повторно используйте одну параметризованную роль на множестве узлов. 🚀

Часто задаваемые вопросы

Урок «Применение ролей и передача переменных роли» бесплатный?

Да — полный текст урока «Применение ролей и передача переменных роли» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс DevOps Bootcamp, подпишись на CoddyKit PRO. Курс DevOps Bootcamp содержит 4 уроков всего.

Чему я научусь в уроке «Применение ролей и передача переменных роли»?

Подключите роль и задайте её параметры Ты практикуешь DevOps Bootcamp с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать DevOps Bootcamp?

Предыдущий опыт не требуется. DevOps Bootcamp на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Применение ролей и передача переменных роли»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке DevOps Bootcamp?

Да. Каждый урок DevOps Bootcamp включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Зачем нужны роли: от монолита к модулям
  2. Анатомия каталога роли
  3. Создание каркаса роли с ansible-galaxy init
  4. Применение ролей и передача переменных роли
← Назад к DevOps Bootcamp