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 .