constructed: группировка узлов по меткам
Создавайте группы из облачных метаданных
«constructed: группировка узлов по меткам» — бесплатный урок Ansible Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Ansible Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Ansible Academy содержит 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: constructedgroups: построение по выражению
В разделе 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) и разблокировать остальной курс Ansible Academy, подпишись на CoddyKit PRO. Курс Ansible Academy содержит 4 уроков всего.
Чему я научусь в уроке «constructed: группировка узлов по меткам»?
Создавайте группы из облачных метаданных Ты практикуешь Ansible Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Ansible Academy?
Предыдущий опыт не требуется. Ansible Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «constructed: группировка узлов по меткам»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Ansible Academy?
Да. Каждый урок Ansible Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Ограничения статической модели и плагина инвентаря
- Плагин инвентаря aws_ec2
- constructed: группировка узлов по меткам
- Кэширование и несколько источников инвентаря