Обычно в Кубернетесе просто сбой. Обязательно запишите исключение или сообщение об ошибке.
Звучит плохо, но в реальности произойдет то, что Kubernetes по умолчанию перезапустит разбитые капсулы. Учитывая время запуска JVM, скорее всего, второй запуск займет 10 секунд. Если ваш процесс запускается очень быстро, вы кратко войдете в состояние CrashLoopBackOff, что означает, что Kubernetes делает паузу между перезапусками модуля.
Одним из важных следствий этого подхода является то, что если бэкэнд-сервис фактически не запускается, сервисы, которые зависят от него, также будут отображаться как сбойные (они застрянут в CrashLoopBackOff). Затем вы можете диагностировать это с помощью kubectl logs
и посмотреть, что на самом деле происходит.
Другие приемы, такие как сценарий wait-for-it.sh , который часто встречается в настройках Docker Compose или просто помещает ваш вызов connect в цикл for, тоже будет работать, но для сбоя потребуется больше времени, если система в целом вредно для здоровья.