Обновление Deployment в GKE принудительно завершило работу вашего приложения до того, как оно закрыло соединение с базой данных. Как следует изменить приложение, чтобы обеспечить корректное завершение работы?
Выберите ответ
Нажмите на вариант, чтобы проверить свой ответ.
Правильный ответ: Обновите свой код для обработки полученного сигнала SIGTERM, чтобы корректно отключиться от базы данных..
Почему это правильный ответ
При обновлении Deployment в GKE Kubernetes отправляет сигнал SIGTERM контейнерам, чтобы дать им время на корректное завершение работы. Если приложение не обрабатывает этот сигнал, оно может быть принудительно завершено до того, как завершит текущие операции, например, закроет соединения с базой данных. Изменение кода для обработки SIGTERM позволяет приложению выполнить необходимые действия по очистке (например, закрыть соединения с БД) перед выходом. PodDisruptionBudget предотвращает одновременное отключение слишком большого количества подов, но не решает проблему некорректного завершения работы отдельного пода. Увеличение terminationGracePeriodSeconds дает больше времени на завершение, но без обработки SIGTERM приложение все равно не будет использовать это время для корректного отключения. PreStop hook выполняется перед отправкой SIGTERM, но его основная цель — выполнение команд, а не обработка сигнала внутри приложения.
Сдайте экзамен — без бесконечного поиска ответов
Получите все проверенные вопросы и объяснения для этого экзамена в одном месте и сэкономьте часы подготовки. 1000+ сертификаций · 20+ языков · начните бесплатно.
Сдайте экзамен быстрее → Карта не требуется