Как работает rolling update?

Middle
679 просмотров
AFK Offer AI

Rolling update — постепенное обновление инстансов: один за другим заменяются со старой версии на новую. В любой момент часть подов работает на старой версии, часть — на новой.

В Kubernetes это дефолтная стратегия. Настраивается через maxUnavailable и maxSurge:

strategy:
  type: RollingUpdate
  rollingUpdate:
    maxUnavailable: 1  # максимум 1 под недоступен
    maxSurge: 1        # максимум 1 лишний под

Процесс: создаётся новый под → проходит readiness probe → старый под получает SIGTERM → graceful shutdown → удаляется. И так по одному, пока все не обновятся.

Важно для Go: обрабатывай SIGTERM правильно, закрывай HTTP-сервер через server.Shutdown(ctx), дожидайся in-flight запросов. Если readiness probe настроена криво или graceful shutdown не работает — часть запросов потеряется при обновлении.

Следующий вопрос

Как работает RETURNING в PostgreSQL?