Назад | Перейти на главную страницу

Развертывание 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

Оказывается, при запуске у приложения возникло исключение ClassNotFoundException. Это сделало невозможным запуск приложения после обновления Kubernetes.

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