Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Tidak dapat menghubungkan wadah Tomcat ke wadah database mysql di kubernetes?

File YAML Anda sudah benar. Saya telah membuat ulang seluruh lingkungan yang disebutkan dalam pertanyaan dan saya mendapatkan Tomcat yang sehat dengan aplikasi dalam status Berjalan.
Jika seseorang juga ingin mengujinya, nama pengguna/kata sandi manajer Tomcat adalah:

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

Tidak ada kesalahan PARAH yang ditemukan di log kucing jantan, saya mendapat respons dari aplikasi:

{"text":"Data-core"}

yang terlihat seperti respons yang benar. Saya juga mendapatkan urutan tabel kosong di inti data database MySQL.

Saya kira Anda mengalami semacam masalah konektivitas, mungkin disebabkan oleh pekerjaan addon jaringan Kubernetes yang salah (Calico/Flannel/etc.)

Cara memecahkan masalah:

  1. Untuk memeriksa penyiapan, semua pod dapat ditempatkan pada node yang sama dengan membuat PV untuk kedua penerapan di sana.
  2. Untuk menguji konektivitas ke sumber daya Mysql atau Tomcat, kita dapat mengeksekusi ke pod mereka dan menjalankan pengujian menggunakan perintah sederhana:

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

    atau jalankan pod tambahan untuk memeriksa apakah layanan menunjuk dengan benar ke pod mysql:

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

Untuk Tomcat Pod, kita dapat menggunakan perintah berikut untuk memeriksa kata sandi pengguna dan respons aplikasi:

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

atau gunakan pod terpisah dengan curl atau wget untuk memeriksa apakah Layanan Tomcat dan NodePort berfungsi dengan baik:

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

Dengan menggunakan IP dari node yang berbeda, Anda juga dapat memeriksa konektivitas cluster karena Layanan NodePort membuka port yang sama pada semua node cluster dan kemudian aturan iptables pada node meneruskan lalu lintas ke IP Pod.
Jika pod terletak di node yang berbeda, Flannel /Calico/dll. plugin jaringan mengirimkannya ke node yang benar dan ke 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. lokasi direktori data mysql

  2. Bagaimana cara membaca gambar dari database MySQL menggunakan PHP?

  3. apache mysql - paket rusak pada 3306

  4. MySQL :transaksi dalam prosedur tersimpan

  5. Keamanan pegas beralih ke otentikasi Ldap dan otoritas basis data