Где я могу найти IP-адрес хоста для приложения, развернутого в Minikube? - PullRequest
0 голосов
/ 13 апреля 2019

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

Ответы [ 2 ]

0 голосов
/ 18 апреля 2019

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

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 и secret * здесь .

0 голосов
/ 15 апреля 2019

Мне кажется, я вас правильно понял, и это то, о чем вы просите.

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 учебник.

...