0Pricing
DevOps Bootcamp · Урок

constructed: группировка узлов по меткам

Создавайте группы из облачных метаданных

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

Необработанных узлов недостаточно

Плоский список экземпляров EC2 трудно использовать для адресного управления. Вам нужны такие группы, как webservers или production, сформированные на основе метаданных каждого узла.

Два способа группировки

Можно выполнять группировку внутри плагина aws_ec2 с помощью keyed_groups или добавить сверху плагин constructed для более сложной логики.

keyed_groups по тегу

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

keyed_groups:
  - key: tags.Environment
    prefix: env

Префиксы сохраняют чистоту имён

Префикс вроде env превращает значение prod в группу env_prod, поэтому облачные теги не конфликтуют с именами ваших групп.

Плагин constructed

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

plugin: constructed

groups: построение по выражению

В разделе groups выражение Jinja2 определяет принадлежность к группе. Узлы, для которых оно истинно, присоединяются к этой группе.

groups:
  is_prod: "tags.Environment == 'prod'"

compose: задание переменных узла

Ключ compose задаёт новые переменные узла на основе выражений, например вычисляет имя приложения из тега для последующего использования.

compose:
  app: tags.Service | default('unknown')

keyed_groups здесь тоже доступны

Плагин constructed также поддерживает keyed_groups, позволяя создавать динамические имена групп на основе любого уже имеющегося факта или переменной.

strict обнаруживает опечатки

Установите strict: true, чтобы ошибочное выражение выдавало явную ошибку, а не молча пропускало узел, который вы собирались включить в группу.

strict: true

Теперь группы легко использовать как цели

После создания групп вы естественным образом пишете сценарии для них, например hosts: is_prod, и статический список узлов больше нигде не нужен.

- hosts: is_prod
  roles:
    - webserver

Последовательно объединяйте источники

Укажите Ansible каталог с файлами инвентаря. Сначала он загрузит aws_ec2, затем constructed дополнит эти узлы вашими группами.

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

Вспомните, какой параметр автоматически создаёт группы по тегу.

Итоги

Используйте keyed_groups вместе с плагином constructed и compose, чтобы превратить облачные теги в аккуратные группы Ansible, которые можно использовать как цели. 🏷️

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

Урок «constructed: группировка узлов по меткам» бесплатный?

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

Чему я научусь в уроке «constructed: группировка узлов по меткам»?

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

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

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

Сколько времени занимает урок «constructed: группировка узлов по меткам»?

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

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

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

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

  1. Ограничения статической модели и плагина инвентаря
  2. Плагин инвентаря aws_ec2
  3. constructed: группировка узлов по меткам
  4. Кэширование и несколько источников инвентаря
← Назад к DevOps Bootcamp