Vaše soubory YAML jsou správné. Znovu jsem vytvořil celé prostředí uvedené v otázce a mám zdravého Tomcata s aplikací ve stavu Spuštěno.
Pokud ji chce někdo také otestovat, uživatelské jméno/heslo správce Tomcat je:
username="the-manager" password="needs-a-new-password-here"
V protokolu kocourků nebyly nalezeny žádné ZÁVAŽNÉ chyby, mám odpověď z aplikace:
{"text":"Data-core"}
což vypadá jako správná odpověď. Také mám prázdnou sekvenci tabulky v datovém jádru databáze Mysql.
Odhaduji, že jste měli nějaký problém s připojením, pravděpodobně způsobený nesprávnou prací síťového doplňku Kubernetes (Calico/Flannel/atd.)
Jak to vyřešit:
- Chcete-li zkontrolovat nastavení, všechny moduly lze umístit do stejného uzlu vytvořením PV pro obě nasazení.
-
Chcete-li otestovat připojení ke zdrojům Mysql nebo Tomcat, můžeme spustit jejich moduly a spustit testy pomocí jednoduchých příkazů:
$ kubectl exec mysql-pod-name -it -- mysql -hlocalhost -uroot -proot data-core --execute="show tables;"
nebo stačí spustit další modul a zkontrolovat, zda služby správně ukazují na modul mysql:
$ kubectl run mysql-client --rm -it --image mysql --restart=Never --command -- mysql -hmysql -uroot -proot data-core --execute="show tables;"
Pro Tomcat pod můžeme použít následující příkazy ke kontrole uživatelských hesel a odezvy aplikace:
$ kubectl exec -ti tomcat-pod-name -- cat /usr/local/tomcat/conf/tomcat-users.xml
$ kubectl exec -ti tomcat-pod-name -- curl http://localhost:8080/data-core-0.0.1-SNAPSHOT/
nebo použijte samostatný pod s curl
nebo wget
zkontrolovat, zda služba Tomcat a NodePort fungují dobře:
$ kubectl run curl -it --rm --image=appropriate/curl --restart=Never -- curl http://tomcat:8080/data-core-0.0.1-SNAPSHOT/
$ curl http://Cluster.Node.IP:30000/data-core-0.0.1-SNAPSHOT/
Pomocí IP různých uzlů můžete zkontrolovat také připojení clusteru, protože služba NodePort otevírá stejný port na všech uzlech clusteru a pravidla iptables na uzlech pak předává provoz na IP podu.
Pokud je pod umístěn na jiném uzlu, Flannel /Calico/atd. síťový plugin jej doručí do správného uzlu a do modulu.