MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment accéder au localhost de l'hôte depuis l'intérieur du cluster kubernetes

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 .