Estou tendo problemas para implantar um aplicativo Java .war no Tomcat no Kubernetes.
Eu tenho uma imagem Docker baseada em tomcat:8.5.40-jre8 contendo dois webapps Tomcat .war, um em ROOT e outro com seu próprio caminho. Quando eu puxo e executo esta imagem do Docker localmente no meu Mac, tudo funciona bem. No entanto, quando eu implanto a imagem em nosso serviço Microsoft Azure Kubernetes, o webapp ROOT responde apenas com um 404. Se eu conectar um terminal ao contêiner em execução, posso ver que o Tomcat descompactou o arquivo .war.
O problema começou quando atualizei a versão do Kubernetes usando o portal do Azure, mas quando criei um segundo serviço do Azure Kubernetes com uma versão inferior, o problema ainda existe.
Não parece ser um problema de rede. Quando conecto um terminal à imagem em execução no Kubernetes e curl localhost, recebo um 404, mas quando faço o mesmo na minha máquina local, recebo a página que espero.
A mesma imagem Docker funcionou antes e o cluster executa outro serviço quase idêntico agora sem problemas.
Como é possível que a imagem do Docker funcione na minha máquina, mas não quando implantada no AKS?
Qualquer ajuda seria muito apreciada! Atenciosamente,
V
Responder1
Acontece que o aplicativo teve uma ClassNotFoundException durante a inicialização. Isso impossibilitou a inicialização do aplicativo após a atualização do Kubernetes.
Após corrigir o erro, encontrado no log localhost do Tomcat, o aplicativo é executado novamente.