MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come accedere all'host locale dell'host dall'interno del cluster kubernetes

127.0.0.1 è un localhost (lo0 ) indirizzo IP dell'interfaccia. Host, nodi e pod hanno le proprie interfacce localhost e non sono collegati tra loro.

Il tuo mongodb è in esecuzione sulla macchina Host e non può essere accessibile utilizzando il localhost (o è l'intervallo IP) dall'interno di un pod del cluster o dall'interno della macchina virtuale.

Nel tuo caso, crea un servizio headless ed Endpoint per esso all'interno del cluster:

Il tuo mongodb-service.yaml il file dovrebbe assomigliare a questo:

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>

Ho aggiunto l'IP che hai menzionato nella sezione commenti.

Dopo aver creato il servizio e l'endpoint, puoi utilizzare mongodb-service nome e porta <multipass-port-you-are-using> all'interno di qualsiasi pod di questo cluster come punto di destinazione.

Dai un'occhiata a:mysql-localhost , mongodb-localhost .