Вам нужно будет более точно указать c какие именно тесты нагрузки вы выполняете. Какие инструменты вы используете.
Пожалуйста, проверьте описание pod
для журналов событий, которые приводят к перепланированию модуля, это можно сделать с помощью kubectl describe pod <pod_name>
. Возможно, у вашего модуля недостаточно памяти или процессора, поэтому вы можете посмотреть запросы и ограничения в Управление вычислительными ресурсами для контейнеров .
Вы упомянули, что готовность и liveness пробники не работают во время выполнения теста, что указывает на то, что вы используете http / https до предела, который больше не может обслуживать запросы.
Чтобы выполнить пробу, кублет отправляет запрос HTTPS GET на сервер, который работает в контейнере и прослушивает порт 8000. Если обработчик для пути сервера /health
возвращает код успеха, то кублет считает контейнер живым и исправным. Если обработчик возвращает код ошибки, кублет убивает контейнер и перезапускает его.
Любой код, больший или равный 200 и меньший, чем 400, указывает на успех. Любой другой код указывает на сбой.
Чтобы смягчить эти сбои, вы можете увеличить timeoutSeconds
и / или failureThreshold
, но я думаю, что вы должны работать над процессом, обслуживающим запросы.
Также я рекомендую прочитать это замечательное руководство. Лучшие практики Kubernetes: Настройка проверок состояния здоровья с помощью датчиков готовности и живучести .