首页 > 解决方案 > 我在哪里可以找到部署在 minikube 中的应用程序的主机 IP 地址

问题描述

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

标签: minikubeifconfig

解决方案


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

Minikube 在您的机器上作为 VM 启动。您需要知道 Minikube 以哪个 IP 开头。这可以使用minikube statusor来完成minikube ip,输出可能如下所示:

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

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

a 的示例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和端口从集群内部连接到 webapp 31317

我还建议阅读Hello Minikube教程。


推荐阅读