serial и поэтапное пакетное выполнение
Разворачивайте изменения безопасными волнами
«serial и поэтапное пакетное выполнение» — бесплатный урок Ansible Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Ansible Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Ansible Academy содержит 4 уроков всего.
Выполнение всего сразу рискованно
Обновление каждого сервера за один проход выполняется быстро, но неудачное изменение может одновременно вывести из строя весь Ваш парк. Пошаговые обновления позволяют этого избежать.
Познакомьтесь с serial
Ключевое слово serial указывает сценарию обрабатывать узлы пакетами, а не все сразу. Сначала обновляется одна группа, затем выполняется переход к следующей.
- hosts: web
serial: 2Число задаёт размер пакета
Укажите для serial число, и в каждом пакете будет столько узлов. При значении serial 2 Ansible полностью выполняет сценарий на двух узлах, прежде чем перейти к остальным.
Используйте процент
Процент масштабируется вместе с размером парка. Значение serial: 25% обновляет четверть узлов за одну волну — независимо от того, 8 у Вас серверов или 800.
serial: 25%Увеличивайте пакет списком
Передайте список, чтобы увеличивать пакеты по мере роста уверенности: начните с одного узла, затем добавляйте остальные. Это классический шаблон: сначала канареечное, затем полное развёртывание.
serial:
- 1
- 5
- 25%Весь сценарий для каждого пакета
Важно, что serial выполняет весь сценарий на одном пакете, прежде чем перейти к следующему. Первая группа полностью завершена, пока обработка последующих узлов ещё не началась.
Быстрая остановка с max_fail_percentage
Сочетайте serial с max_fail_percentage, чтобы прервать развёртывание, если в пакете отказало слишком много узлов. Так неудачное изменение не успеет распространиться.
- hosts: web
serial: 25%
max_fail_percentage: 30Уберите узлы перед обновлением
Безопасная волна сначала удаляет каждый пакет из балансировщика нагрузки, применяет изменения, а затем возвращает узлы обратно, чтобы пользователи не обратились к серверу во время обновления.
Сохраняйте работу сервиса
Поскольку остальные пакеты продолжают обслуживать трафик, последовательные обновления обеспечивают нулевой простой: приложение остаётся доступным на протяжении всего развёртывания.
serial и forks
Внутри пакета forks по-прежнему управляет параллелизмом. serial ограничивает число узлов, затрагиваемых одной волной, а forks — число узлов, выполняемых одновременно внутри неё.
Сначала проверьте на одном узле
Значение serial: 1 делает первый узел канареечным. Если что-то пойдёт не так, выполнение остановится на нём, а остальные узлы Вашего парка останутся исправными.
Быстрая проверка
Вы хотите обновлять 100 веб-серверов по нескольку за раз, не допуская простоя.
Итоги
Используйте serial, чтобы разворачивать изменения пакетами, увеличивайте размер пакетов с помощью списка и добавляйте max_fail_percentage для ранней остановки. Так выполняется развёртывание без простоя. 🌊
Часто задаваемые вопросы
Урок «serial и поэтапное пакетное выполнение» бесплатный?
Да — полный текст урока «serial и поэтапное пакетное выполнение» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Ansible Academy, подпишись на CoddyKit PRO. Курс Ansible Academy содержит 4 уроков всего.
Чему я научусь в уроке «serial и поэтапное пакетное выполнение»?
Разворачивайте изменения безопасными волнами Ты практикуешь Ansible Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Ansible Academy?
Предыдущий опыт не требуется. Ansible Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «serial и поэтапное пакетное выполнение»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Ansible Academy?
Да. Каждый урок Ansible Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Настройка forks и параллелизма
- Стратегии: linear, free и host_pinned
- Конвейер SSH и повторное использование соединений
- serial и поэтапное пакетное выполнение