У меня вопрос с кубернетами при развертывании новой версии.
Моя yaml-конфигурация Kubernetes имеет RollingUpdate strategy
. Проблема возникает, когда дело доходит до смены версий таким образом. Если у меня есть php-fpm, который выполняет действие, это действие теряется? В случае, если он просто меняет этот модуль на новую версию.
Мой главный вопрос заключается в том, учитывает ли Kubernetes с этой стратегией, используется ли модуль, и если да, то ждет ли он, пока он закончит то, что он должен делать, и изменит его.
Спасибо!
Чтобы расширить то, что @Fady сказал выше, для тех, кому все еще может быть любопытно.
Вызвав хук контейнера PreStop, вы можете закрыть все свободные концы до того, как контейнер будет завершен. Из документации «PreStop: эта ловушка вызывается непосредственно перед завершением работы контейнера». [1]
Хук PreStop может выполнять определенную команду (команды) или HTTP-запрос к конечной точке в контейнере. Кроме того, стандартный льготный период составляет 30 секунд. Однако вы можете указать произвольное время, добавив --grace-period=<seconds>
. [2]
[1] https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
[2] https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods