Развертывание root Tomcat не работает в Kubernetes (AKS)

У меня проблемы с развертыванием приложения Java .war в Tomcat на Kubernetes.

У меня есть образ Docker, основанный на tomcat: 8.5.40-jre8, содержащий два веб-приложения Tomcat .war, одно в ROOT и одно с собственным путем. Когда я вытаскиваю и запускаю этот образ Docker локально на своем Mac, все работает нормально. Однако, когда я развертываю образ в нашей службе Microsoft Azure Kubernetes, веб-приложение ROOT отвечает только 404. Если я подключаю терминал к работающему контейнеру, я вижу, что Tomcat распаковал файл .war.

Проблема началась, когда я обновил версию Kubernetes с помощью портала Azure, но когда я создал вторую службу Azure Kubernetes с более низкой версией проблема все еще существует.

Похоже, это не проблема сети. Когда я подключаю терминал к работающему образу в Kubernetes и заворачиваю localhost, я получаю 404, но когда я делаю то же самое на моем локальном компьютере, я получаю страницу, которую ожидаю.

Тот же образ Docker работал раньше, и кластер запускается другой почти идентичный сервис прямо сейчас без каких-либо проблем.

Как возможно, что образ Docker работает на моей машине, но не при развертывании на AKS?

Любая помощь будет принята с благодарностью! С уважением,

V

0
задан 19 August 2020 в 13:59
1 ответ

Оказалось, что приложение имело ClassNotFoundException во время запуска. Из-за этого приложение не могло запуститься после обновления Kubernetes.

После исправления ошибки, обнаруженной в локальном журнале Tomcat, приложение снова запускается.

1
ответ дан 20 August 2020 в 08:53

Теги

Похожие вопросы