127.0.0.1
est un localhost
(lo0
) l'adresse IP de l'interface. Les hôtes, les nœuds et les pods ont leurs propres interfaces localhost et ils ne sont pas connectés les uns aux autres.
Votre mongodb
s'exécute sur la machine hôte et n'est pas accessible à l'aide de localhost
(ou sa plage d'adresses IP) depuis l'intérieur d'un pod de cluster ou depuis l'intérieur de vm.
Dans votre cas, créez un service sans tête et Endpoint pour celui-ci à l'intérieur du cluster :
Votre mongodb-service.yaml
le fichier devrait ressembler à ceci :
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>
J'ai ajouté l'adresse IP que vous avez mentionnée dans la section des commentaires.
Après avoir créé le service et le point de terminaison, vous pouvez utiliser mongodb-service
nom et port <multipass-port-you-are-using>
à l'intérieur de n'importe quel pod de ce cluster en tant que point de destination.
Jetez un œil :mysql-localhost , mongodb-localhost .