Какой наиболее эффективный способ сохранить «идемпотентность» при применении файлов манифеста к развертываниям, к которым применены горизонтальные автомасштаберы? - PullRequest
0 голосов
/ 12 февраля 2019

Допустим, у вас есть конвейер CI / CD, и как часть этого конвейера у вас есть файл манифеста развертывания, в котором вы изменяете некоторые значения и повторно развертываете.

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

Затем однажды ваш горизонтальный автоскалер развернул 40 модулей, чтобы удовлетворить спрос, и вы запускаете конвейер с набором манифестов развертывания.на одну реплику.В тот момент, когда вы примените этот файл, он уничтожит все ваши реплики pod, а это означает, что вашему масштабатору потребуется восстановить их, это может повлиять на данные и обслуживание, что не очень хорошо.

Как вы можете применитьфайл манифеста, чтобы он не влиял на ваши масштабированные реплики?Все, что я могу придумать, это автоматизировать проверку количества реплик и изменить манифест развертывания, чтобы отразить это, но это кажется крайне уродливым решением.

Полагаю, что для этого должно быть лучшее решение, япросто не могу его найти, или, может быть, я смотрю не в том месте ...

1 Ответ

0 голосов
/ 16 февраля 2019

Независимо от того, насколько уродливым это может показаться, я не думаю, что у вас есть много альтернатив, потому что ваш автоскейлер works by modifying your deployment manifest file.

Таким образом, вы должны каким-то образом объединить автоматические изменения, сделанные в развернутом файле манифеста с помощью автоскейлерав версию манифеста, которую вы будете развертывать в конвейере CI / CD, чтобы иметь достаточную «емкость» кластера для обработки нагрузки трафика во время развертывания.

Вы могли быУ есть альтернатива, если каким-то образом вы сможете поддерживать обе версии развертывания одновременно и постепенно переносить трафик со старой на новую, что даст автоскалеру нового развертывания время для ускорениянеобходимое количество реплик.Не говорите, если GKE предлагает что-то подобное, это рекомендуемая стратегия развертывания для GAE для решения таких случаев.

...