Вступить в клуб →
лёгкаявопросКонтейнеры, Kubernetes и эксплуатация сервиса

При каждом деплое часть запросов к сервису обрывается

func main() {
    srv := &http.Server{Addr: ":8080", Handler: router()}
    log.Fatal(srv.ListenAndServe())
}

При раскатке новой версии Kubernetes отправляет старым подам SIGTERM, и клиенты получают обрывы соединения на запросах, которые как раз выполнялись. Что добавить?

  • Ловить SIGTERM и вызывать srv.Shutdown с таймаутом
  • Перехватывать SIGKILL вместо SIGTERM
  • Вызывать os.Exit(0) при получении SIGTERM
  • Увеличить число реплик вдвое

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела