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

#kubernetes #kubernetes-pod

Вопрос:

У меня есть 2 стручка — P1 amp; P2 .

  • P1 работает прокси-сервер Nginx.
  • P2 запуск пользовательского приложения envoy .

Из-за какой-то проблемы приложение перестает отвечать на перенаправленные запросы P1 .

Но локально зонды K8s нормально работают в P2.
В этом состоянии возможно ли перезапустить P2 на основе количества ошибок, наблюдаемых в P1? (В этой настройке не используется служебное месиво).

Комментарии:

1. But locally K8s probes are working fine — сначала исправь свои зонды. Тогда пусть k8s сделает свою работу

2. Спасибо. Исправление приложения может занять некоторое время. Так что пытаюсь найти обходной путь. Как справиться, если проблема связана с сетевым подключением или внешним по отношению к приложению?

Ответ №1:

В этом состоянии возможно ли перезапустить P2 на основе количества ошибок, наблюдаемых в P1? (В этой настройке не используется служебное месиво).

У вас есть несколько способов сделать это, но они немного «взломаны».

CronJob

Добавьте CronJob , который проверяет, отвечает ли модуль, и если нет, перезагрузите его

kubectl get events

Напишите свой собственный «Обработчик событий», чтобы перехватывать события остановки из событий kubectl get events K8S . вы можете точно настроить события --field-selector , например, с помощью.

введите описание изображения здесь