WSL2, how access minikube pod from docker container?

Viewed 22

I am using WSL2 on Windows. I made a flask service in minikube in WSL2 and a docker container in WSL2 separately. I want to make a request to flask service in minikube from container in WSL2.

  1. Steps to create a flask service

flask_service.py (only last line, service is running on /rss)

if __name__ == '__main__':
    app.run(debug=False, host='0.0.0.0', port=8001)

Dockerfile

FROM python:3
COPY flask_service.py ./
WORKDIR .
RUN apt-get update
RUN apt install nano
RUN pip install numpy pandas Flask connectorx sqlalchemy pymysql jsonpickle
EXPOSE 8001
ENTRYPOINT ["python"]
CMD ["flask_service.py"]

minikube setting

minikube start --mount --mount-string="/home/sjw/kube:/home/sjw/kube"
kubectl proxy --address 0.0.0.0 --port 30001
minikube tunnel

getdb service menifest

apiVersion: apps/v1
kind: Deployment
metadata:
  name: getdbdp
spec:
  replicas: 1
  selector:
    matchLabels:
      app: getdb
  
  template:
    metadata:
      labels:
        app: getdb
    spec: 
      containers:
      - name: getdb
        image: "desg2022/01getdb:v02"
        env:
          - name: "PORT"
            value: "8001"

---
apiVersion: v1
kind: Service
metadata:
  name: getdb-lb
spec:
  type: LoadBalancer
  selector:
    app: getdb 
  ports:
  - protocol: TCP
    port: 8080 
    targetPort: 8001

First, local access(from windows) to the flask service was possible with the address below.

http://localhost:30001/api/v1/namespaces/default/services/http:getdb-lb:8080/proxy/rss

Second, when connecting in the same minikube

http://localhost:8001/rss

My question. I created a docker container in wsl2 as follows.

docker-compose.yaml (image is ubunut with only installed python and pip )

version: '2.3'
services:
    master:
        container_name: gputest1
        image : desg2022/ubuntu:v01
        stdin_open: true # docker run -i
        tty: true        # docker run -t
        ports:
            - 8080:8888
        command: 
            "/bin/bash"
        extra_hosts:
          - "host.docker.internal:host-gateway"
        ipc: 'host'

Inside this container I want to access getdb in minikube, what address should i put in?

0 Answers
Related