Выбор ответа Middle Ansible обновлено
Rolling-обновление в Ansible
Вопрос
Нужно обновить приложение на 20 серверах за балансировщиком, не уронив сервис. Что поможет в плейбуке?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: serial: 2 (или процент) и вывод хоста из балансировщика на время обновления. serial разбивает хосты на партии: play целиком проходит по первой партии, затем по следующей.
Варианты ответа
forks: 20, чтобы все хосты обновились одновременно и окно простоя было минимальнымgather_facts: false, чтобы не нагружать хосты во время выкаткиserial: 2(или процент) и вывод хоста из балансировщика на время обновленияправильный ответstrategy: free, чтобы каждый хост шёл по задачам в своём темпе
Разбор
serial разбивает хосты на партии: play целиком проходит по первой партии, затем по следующей. Вместе с max_fail_percentage выкатка остановится, если партия упала. forks: 20 обновит все сразу, gather_facts про сбор фактов, а strategy: free позволяет хостам идти независимо, но не ограничивает число одновременно обновляемых.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.