Выбор ответа Middle Ansible обновлено

Rolling-обновление в Ansible

Вопрос

Нужно обновить приложение на 20 серверах за балансировщиком, не уронив сервис. Что поможет в плейбуке?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: serial: 2 (или процент) и вывод хоста из балансировщика на время обновления. serial разбивает хосты на партии: play целиком проходит по первой партии, затем по следующей.

Варианты ответа

  1. forks: 20, чтобы все хосты обновились одновременно и окно простоя было минимальным
  2. gather_facts: false, чтобы не нагружать хосты во время выкатки
  3. serial: 2 (или процент) и вывод хоста из балансировщика на время обновленияправильный ответ
  4. strategy: free, чтобы каждый хост шёл по задачам в своём темпе

Разбор

serial разбивает хосты на партии: play целиком проходит по первой партии, затем по следующей. Вместе с max_fail_percentage выкатка остановится, если партия упала. forks: 20 обновит все сразу, gather_facts про сбор фактов, а strategy: free позволяет хостам идти независимо, но не ограничивает число одновременно обновляемых.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.