sql >> Databáze >  >> RDS >> Mysql

Nelze připojit kontejner tomcat ke kontejneru databáze mysql v kubernetes?

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:

  1. Chcete-li zkontrolovat nastavení, všechny moduly lze umístit do stejného uzlu vytvořením PV pro obě nasazení.
  2. 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.




  1. Vytvořte dotaz v SQL Server 2017

  2. Jak vypočítat rozdíl mezi dvěma daty a časy v T-SQL

  3. Jak pomocí připraveného příkazu vrátím ID vloženého řádku?

  4. Instalace balíčků RODBC/ROracle na OS X Mavericks