2017-10-18 2 views
1

Wir versuchen, zwei Pods eins mit mondodba dn ein anderes mit Java-Anwendung zu implementieren. Und Java-Anwendung erfordert Bindung mit Mongodb. Wie können wir db und app binden, wenn sie auf zwei verschiedenen Pods und mit verschiedenen Subnetzen laufen?Anwendungs-Pod und Datenbank-Pod in Kubernetes binden

+0

Könnten Sie bitte Ihre Pod-Definitionen (Mongo und Java-App) zu Frage hinzufügen, so ist es einfacher, Ihre Einrichtung zu sehen – Alex

+0

Fügen Sie Setup-Dateien.updated Git URL zu Frage. –

Antwort

0

Sie können service für Ihre mongo Pod verwenden. Sie müssen ein Etikett z. name: mongo-zu-Pod und einen Dienst zu erstellen:

apiVersion: v1 
kind: Service 
metadata: 
    name: mongo 
spec: 
    ports: 
    - port: 27017 
    selector: 
    name: mongo 

Dann wird mondgo mit mongo:27017 Adresse von Java-Anwendung pod zugänglich sein.

Für ein schnelles Experiment können Sie kubectl expose pod _MONGO_POD_NAME_ --port=27017 --name=mongo

Diese tutorial kann sehr nützlich sein, als auch nutzen.

+0

Ich schrieb in zwei separaten Dateien eins für Mongodb np-Mongo-Service.yaml wie unten und ähnlich einer für Java-Anwendung. APIVERSION: v1 Typ: Service Metadaten: Labels: Name: Name mongo: venkatmongo spec: Typ: LoadBalancer Ports: - port: 27017 targetPort: 27017 Name: mongodb - port: 9631 targetPort: 9631 name: habsup selector: name: mongo Aber wenn ich laufe mongodb funktioniert gut. Aber Java-Anwendung gibt mir Fehler, wie erforderlich Datenbank bindet. –