在哪里可以找到在minikube中部署的应用程序的主机IP地址

时间:2019-04-13 16:30:21

标签: minikube ifconfig

我正在minikube中部署一个Spring Boot应用程序,该应用程序连接到主机上运行的数据库。我在哪里可以找到应用可用于返回主机的IP地址?对于docker,我可以使用ifconfig并从docker0条目中获取IP地址。 ifconfig显示了另一个IP地址为172.18.0.1的设备。那将是我的应用回到主机的方式吗?

2 个答案:

答案 0 :(得分:0)

我想我正确地理解了你,这就是你要的。

Minikube作为计算机上的VM启动。您需要知道Minikube起始的IP。可以使用minikube statusminikube ip完成,输出可能类似于:

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

这只会为您提供Minikube的IP地址,而不是您的应用程序。 为了从Minikube外部连接到您的应用,您需要将其公开为Service

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从群集内部连接到webapp。

我还建议您阅读Hello Minikube教程。

答案 1 :(得分:0)

它是172.18.0.1 IP地址。我将它传递给在minikube中运行的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_PASSWORDSPRING_DATASOURCE_USERNAME设置为机密。

关于configmap和secret的更多信息是here