Где найти IP-адрес хоста для приложения, развернутого в minikube

Я развертываю приложение весенней загрузки в minikube, которое подключается к базе данных, запущенной на хосте. Где мне найти IP-адрес, который приложение может использовать для возврата к хосту? Для докера я могу использовать ifconfig и получить IP-адрес из записи docker0. ifconfig показывает другое устройство с IP-адресом 172.18.0.1. Так мое приложение вернется на хост?


person Dean Schulze    schedule 13.04.2019    source источник


Ответы (2)


Думаю, я правильно вас понял, и это то, о чем вы просите.

Minikube запускается на вашем компьютере как виртуальная машина. Вам нужно знать IP, с которого начинается Minikube. Это можно сделать с помощью minikube status или minikube ip, вывод может выглядеть так:

$ minikube status
minikube: Running
cluster: Running
kubectl: Correctly Configured: pointing to minikube-vm at 192.168.99.1

Это предоставит вам только IP-адрес Minikube, а не ваше приложение. Чтобы подключиться к вашему приложению извне Minikube, вам необходимо предоставить его как Сервис.

Пример Service может выглядеть так:

apiVersion: v1  
kind: Service  
metadata:  
  name: webapp  
spec:  
  type: NodePort  
  ports:  
    - nodePort: 31317  
      port: 8080  
      protocol: TCP  
      targetPort: 8080  
  selector:  
    app: webapp

Вы можете увидеть результаты:

$ kubectl get services -o wide  
NAME       TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)          AGE       SELECTOR  
postgres   ClusterIP   10.0.0.140   <none>        5432/TCP         32m       app=postgres  
webapp     NodePort    10.0.0.235   <none>        8080:31317/TCP   2s        app=webapp

Вы сможете подключиться к веб-приложению изнутри кластера, используя 10.0.0.235:8080 из вне кластера, используя Minikube IP и порт 31317.

Я также рекомендую пройти курс Hello Minikube.

person Crou    schedule 15.04.2019

Это был 172.18.0.1 IP-адрес. Я передал его приложению Spring, работающему в minikube, с такой конфигурационной картой:

kubectl create configmap springdatasourceurl --from-literal=SPRING_DATASOURCE_URL=jdbc:postgresql://172.18.0.1:5432/bookservice

Приложению также необходимо, чтобы SPRING_DATASOURCE_DRIVER_CLASS_NAME было установлено в карте конфигурации, а учетные данные SPRING_DATASOURCE_PASSWORD и SPRING_DATASOURCE_USERNAME были установлены как секреты.

Дополнительную информацию о configmap и секрете можно найти здесь.

person Dean Schulze    schedule 18.04.2019