Группировка узлов: web, db и app
Организуйте серверы в логические группы.
«Группировка узлов: web, db и app» — бесплатный урок DevOps Bootcamp на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения DevOps Bootcamp, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс DevOps Bootcamp содержит 4 уроков всего.
Зачем группировать узлы
Группа позволяет выполнять действия сразу над несколькими серверами. Вместо перечисления каждого узла Вы выбираете общую для них роль.
Называйте группы по роли
Хорошие имена групп описывают задачу сервера: web, db, app. По этому имени Вы выбираете соответствующий уровень в командах.
[web]
[db]
[app]Заполните группу web
Перечислите фронтенд-серверы под заголовком [web]. Теперь любая команда, направленная на web, будет выполнена на обоих серверах.
[web]
web1.example.com
web2.example.comДобавьте группу db
Объедините узлы базы данных под заголовком [db]. Разделение уровней гарантирует, что рискованная задача для db не затронет сервер web.
[db]
db1.example.comВыберите одну группу
Передайте имя группы там, где обычно указываете имя узла. Здесь Ansible отправит ping только на уровень db, не затрагивая остальные.
ansible db -i inventory.ini -m pingУзел может входить в несколько групп
Укажите один и тот же узел под двумя заголовками, и он войдёт в обе группы. Это удобно для машины, одновременно выполняющей роли app и web.
[web]
node1.example.com
[app]
node1.example.comГруппировка в YAML
В YAML каждая группа находится под ключом children и имеет собственный блок hosts. Идея та же, но структура вложенная.
all:
children:
web:
hosts:
web1.example.com:Выведите участников группы
Проверьте, кто к какой группе относится, с помощью --list-hosts. Команда выводит именно те серверы, которые соответствуют шаблону группы.
ansible app -i inventory.ini --list-hostsungrouped собирает одиночные узлы
Узлы, перечисленные без группы, попадают во встроенную группу ungrouped. Так проще заметить серверы, которые Вы забыли распределить.
ansible ungrouped -i inventory.ini --list-hostsГруппы соответствуют реальным уровням
Ваши группы web, db и app отражают классическую трёхуровневую архитектуру. Теперь автоматизация читается так же, как Ваша архитектура.
Соблюдайте единообразие имён
Выберите соглашение об именовании и придерживайтесь его. Единообразные имена групп в разных проектах делают сценарии повторно используемыми, а проверку — простой.
Быстрая проверка
Вы указали один узел в заголовках [web] и [app]. Что произойдёт?
Повторение
Группы web, db и app позволяют выбирать целые уровни по имени. Один узел может одновременно входить в несколько групп. 🗂️
Часто задаваемые вопросы
Урок «Группировка узлов: web, db и app» бесплатный?
Да — полный текст урока «Группировка узлов: web, db и app» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс DevOps Bootcamp, подпишись на CoddyKit PRO. Курс DevOps Bootcamp содержит 4 уроков всего.
Чему я научусь в уроке «Группировка узлов: web, db и app»?
Организуйте серверы в логические группы. Ты практикуешь DevOps Bootcamp с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать DevOps Bootcamp?
Предыдущий опыт не требуется. DevOps Bootcamp на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Группировка узлов: web, db и app»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке DevOps Bootcamp?
Да. Каждый урок DevOps Bootcamp включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Файлы инвентаря INI и YAML
- Группировка узлов: web, db и app
- Вложенные группы и ключевое слово children
- Переменные узлов и групп в инвентаре