Mysql
 sql >> база данни >  >> RDS >> Mysql

Не можете да свържете контейнера tomcat с контейнера на база данни mysql в kubernetes?

Вашите YAML файлове са правилни. Пресъздадох цялата среда, спомената във въпроса, и имам здрав Tomcat с приложението в състояние Running.
Ако някой също иска да го тества, потребителско име/парола на мениджъра на Tomcat са:

 username="the-manager" password="needs-a-new-password-here"

В регистрационния файл на tomcat не бяха открити СЕВЕРИ грешки, получих отговора от приложението:

{"text":"Data-core"}

което изглежда като правилен отговор. Имам и празната последователност на таблицата в базата данни на Mysql.

Предполагам, че сте имали някакъв проблем със свързаността, вероятно причинен от неправилна работа на мрежовата добавка на Kubernetes (Calico/Flannel/и т.н.)

Как да го отстраните:

  1. За да проверите настройката, всички модули могат да бъдат поставени на един и същ възел, като се създаде PV и за двете разгръщания там.
  2. За да тестваме свързаността към ресурсите на Mysql или Tomcat, можем да изпълним техните модули и да стартираме тестове с помощта на прости команди:

    $ kubectl exec mysql-pod-name -it -- mysql -hlocalhost -uroot -proot data-core --execute="show tables;"
    

    или просто стартирайте допълнителен модул, за да проверите дали услугите сочат правилно към mysql pod:

    $ kubectl run mysql-client --rm -it --image mysql --restart=Never --command -- mysql -hmysql -uroot -proot data-core --execute="show tables;"
    

За tomcat pod можем да използваме следните команди, за да проверим потребителските пароли и отговора на приложението:

   $ 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/

или използвайте отделна капсула с curl или wget за да проверите дали Tomcat Service и NodePort работят добре:

   $ 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/

Като използвате IP адреси на различни възли, можете да проверите и свързаността към клъстера, тъй като услугата NodePort отваря един и същ порт на всички възли на клъстер и след това iptables правила за възлите пренасочва трафика към IP на Pod.
Ако pod се намира на различния възел, Flannel /Калико/и др. мрежовият плъгин го доставя до правилния възел и до Pod.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Динамична заявка, използваща променлив брой IN (p1, p2, p3) аргументи

  2. Наистина ли си струва да се нормализира начинът на Toxi? ( 3NF )

  3. Как да получите нови потребители на ден в MySQL

  4. UNPIVOT mysql данни към друга таблица

  5. MySQL WITH клауза