0Pricing
DevOps Bootcamp · Урок

Вложенные группы и ключевое слово children

Создавайте иерархии групп групп.

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

Группы внутри групп

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

Ключевое слово children в INI

В INI заголовок вроде [prod:children] объявляет родительскую группу, участниками которой являются имена других групп, а не узлы.

[prod:children]
web
db

Сначала определите дочерние группы

Дочерние группы должны существовать и иметь собственные узлы. Затем родительская группа просто ссылается на них по имени.

[web]
web1.example.com

[db]
db1.example.com

Узлы объединяются в родительскую группу

Выберите prod, и Ansible подключится ко всем узлам внутри web и db. Одно имя теперь охватывает целую среду.

ansible prod -i inventory.ini --list-hosts

Вложенность в YAML

YAML естественным образом поддерживает вложенность: группа перечисляет другие группы под собственным ключом children, причём глубина вложенности не ограничена.

all:
  children:
    prod:
      children:
        web:
        db:

Создавайте настоящие иерархии

Объединяйте уровни, например регион и роль: datacenter содержит prod, а prod содержит web и db. Инвентарь отражает структуру Вашей организации.

[datacenter:children]
prod
staging

Узел наследует каждую родительскую группу

Если web — дочерняя группа prod, узел web входит и в web, и в prod, и в all. Принадлежность автоматически передаётся вверх.

Переменные передаются вниз

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

[prod:vars]
env=production

Избегайте циклических дочерних групп

Группа не может быть дочерней для самой себя — напрямую или через цикл. Ansible отклоняет циклические иерархии при разборе.

Проверьте дерево

Используйте граф инвентаря, чтобы наглядно увидеть вложенность. Флаг --graph рисует родителей и их дочерние группы в виде дерева.

ansible-inventory -i inventory.ini --graph

Иерархия помогает управлять масштабом

Вложенные группы позволяют точно выбирать prod или web-prod. По мере роста парка машин children поддерживает как широкое, так и точечное управление.

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

Вам нужна родительская группа, участниками которой являются группы web и db. Какой заголовок INI Вы используете?

Повторение

Ключевое слово children вкладывает группы в иерархии. Узлы наследуют всех родителей, а переменные групп передаются вниз по дереву. 🌳

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

Урок «Вложенные группы и ключевое слово children» бесплатный?

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

Чему я научусь в уроке «Вложенные группы и ключевое слово children»?

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

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

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

Сколько времени занимает урок «Вложенные группы и ключевое слово children»?

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

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

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

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

  1. Файлы инвентаря INI и YAML
  2. Группировка узлов: web, db и app
  3. Вложенные группы и ключевое слово children
  4. Переменные узлов и групп в инвентаре
← Назад к DevOps Bootcamp