Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

कुबेरनेट्स में टॉमकैट कंटेनर को mysql डेटाबेस कंटेनर से कनेक्ट करने में असमर्थ?

आपकी YAML फाइलें सही हैं। मैंने प्रश्न में उल्लिखित पूरे वातावरण को फिर से बनाया है और मुझे रनिंग स्थिति में एप्लिकेशन के साथ स्वस्थ टॉमकैट मिला है।
यदि कोई भी इसका परीक्षण करना चाहता है, तो टॉमकैट प्रबंधक उपयोगकर्ता नाम/पासवर्ड हैं:

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

टॉमकैट लॉग में कोई गंभीर त्रुटि नहीं मिली, मुझे एप्लिकेशन से प्रतिक्रिया मिली है:

{"text":"Data-core"}

जो सही प्रतिक्रिया की तरह दिखता है। मुझे MySQL डेटाबेस डेटा-कोर में खाली तालिका अनुक्रम भी मिला है।

मैं अनुमान लगा सकता हूं कि आपको किसी प्रकार की कनेक्टिविटी समस्या हुई है, शायद कुबेरनेट्स नेटवर्क एडऑन (कैलिको/फ्लानेल/आदि) के गलत काम के कारण।

इसका निवारण कैसे करें:

  1. सेटअप की जांच करने के लिए, सभी पॉड्स को एक ही नोड पर रखा जा सकता है, वहां दोनों परिनियोजन के लिए पीवी बनाकर।
  2. मैसकल या टॉमकैट संसाधनों से कनेक्टिविटी का परीक्षण करने के लिए हम उनके पॉड्स को निष्पादित कर सकते हैं और सरल कमांड का उपयोग करके परीक्षण चला सकते हैं:

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

    या बस यह जांचने के लिए अतिरिक्त पॉड चलाएँ कि क्या सेवाएँ सही ढंग से mysql पॉड की ओर इशारा करती हैं:

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

टॉमकैट पॉड के लिए हम उपयोगकर्ता पासवर्ड और एप्लिकेशन प्रतिक्रिया की जांच के लिए निम्नलिखित कमांड का उपयोग कर सकते हैं:

   $ 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 यह जांचने के लिए कि क्या टॉमकैट सेवा और नोडपोर्ट अच्छी तरह से काम करता है:

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

विभिन्न नोड्स के आईपी का उपयोग करके आप क्लस्टर कनेक्टिविटी की भी जांच कर सकते हैं क्योंकि नोडपोर्ट सेवा सभी क्लस्टर नोड्स पर एक ही पोर्ट खोलती है और फिर नोड्स पर iptables नियमों को पॉड के आईपी पर अग्रेषित करती है।
यदि पॉड अलग नोड पर स्थित है, तो फलालैन / केलिको / आदि। नेटवर्क प्लगइन इसे सही नोड और पॉड तक पहुंचाता है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql(i)_real_escape_string, पर भरोसा करना सुरक्षित है?

  2. कैसे पता करें कि क्या mysql इंडेक्स पूरी तरह से मेमोरी में फिट बैठता है?

  3. क्या डोमेन के बजाय स्थानीयहोस्ट पर MySQL को कनेक्ट/उपयोग करना तेज़ है (भले ही डोमेन उसी कंप्यूटर पर हल हो जाए)?

  4. मैं django में .save () के लिए क्वेरी कैसे प्राप्त कर सकता हूं?

  5. मैं एक MySQL तालिका में कॉलम के आकार को कैसे संशोधित कर सकता हूं?