मैंने अपने स्प्रिंग बूट एप्लिकेशन को परिनियोजित करने के लिए इस कमांड का उपयोग किया

sudo kubectl run mykubernetes-springboot 
--image=glgelopfalcon/springboot_docker_maven:0.0.1-SNAPSHOT --port=8080

डिप्लॉयमेंट बनाया जाता है, लेकिन जब मैं लॉग की जांच करता हूं

kubectl logs pod podname

यह अपवाद के रूप में दे रहा है

Connection to localhost:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.

मैंने अपनी स्थानीय मशीन पर पोस्टग्रेज स्थापित किए।

सेमाह उत्तर के लिए परीक्षण postgres.yaml

kind: Service
apiVersion: v1
metadata:
  name: postgres-svc
  namespace: default
spec:
  type: ExternalName
  externalName: 10.0.2.2

Kubectl svc देता है

postgres-svc       ExternalName   <none>           10.0.2.2      <none>           2m12s

स्प्रिंग बूट ऐप परिनियोजन लॉग देता है

IOException occurred while connecting to postgres-svc.external.svc:5432
java.net.UnknownHostException: postgres-svc.external.svc
-1
Dhanraj 31 मई 2019, 10:03

1 उत्तर

सबसे बढ़िया उत्तर

यदि आप अपने स्थानीय मशीन पर स्थापित डीबी से कनेक्ट करने का प्रयास कर रहे हैं और कुबेरनेट्स में नहीं, तो यह त्रुटि होना सामान्य है क्योंकि पॉड के अंदर लोकलहोस्ट का मतलब आपकी स्थानीय मशीन नहीं है, तो क्या आप बता सकते हैं कि आपका डीबी कहां चल रहा है?

इसे आज़माएं क्योंकि आपने पुष्टि की है कि आप स्थानीय में चलते हैं:

apiVersion: v1
kind: Service
metadata:
name: mysql-db-svc
spec:
ports:
- port: 5432

और इस सेवा में समापन बिंदु जोड़ें:

apiVersion: v1
kind: Endpoints
metadata:
name: mysql-db-svc
subsets:
- addresses:
 - ip: 10.0.2.2
 ports:
 - port: 5432

फिर इसका उपयोग करके एक्सेस करें:

url=jdbc:postgresql://mysql-db-svc/databasename
1
Semah Mhamdi 4 जून 2019, 14:51