127.0.0.1 ist ein localhost (lo0 ) IP-Adresse der Schnittstelle. Hosts, Nodes und Pods haben ihre eigenen Localhost-Schnittstellen und sind nicht miteinander verbunden.
Ihre mongodb läuft auf dem Host-Rechner und kann nicht mit localhost aufgerufen werden (oder dessen IP-Bereich) von innerhalb eines Cluster-Pods oder von innerhalb von vm.
Erstellen Sie in Ihrem Fall einen headless service und Endpunkt dafür innerhalb des Clusters:
Ihre mongodb-service.yaml Datei sollte so aussehen:
apiVersion: v1
kind: Service
metadata:
name: mongodb-service
spec:
clusterIP: None
ports:
- protocol: TCP
port: <multipass-port-you-are-using>
targetPort: <multipass-port-you-are-using>
selector:
name: example
type: ClusterIP
---
apiVersion: v1
kind: Endpoints
metadata:
name: mongodb-service
subsets:
- addresses:
- ip: 10.62.176.1
ports:
- port: <multipass-port-you-are-using>
Ich habe IP hinzugefügt, die Sie im Kommentarbereich erwähnt haben.
Nachdem Sie Dienst und Endpunkt erstellt haben, können Sie mongodb-service verwenden Name und Port <multipass-port-you-are-using> innerhalb eines beliebigen Pods dieses Clusters als Zielpunkt.
Werfen Sie einen Blick auf:mysql-localhost , mongodb-localhost .