【发布时间】:2021-06-09 17:01:17
【问题描述】:
我想在 Minikube 中运行 this Spring Boot application,以便可以在浏览器中访问端口 8080(一旦应用程序运行)。
为此,我执行以下步骤。
- 启动 Docker。
- 运行
mvn spring-boot:build-image。 - 使用
minikube start启动 Minikube。 - 使用
kubectl create deployment example-1-engine-1 --image=example-1-engine-1创建 Minikube 部署。 - 使用
kubectl expose deployment example-1-engine-1 --type=NodePort --port=8080和kubectl port-forward service/example-1-engine-1 8080:8080公开端口8080。 - 在 Minikube 中启动应用程序。
- 使用
minikube service example-1-engine-1在 Minikube 中启动应用程序。
出现以下输出:
但是,浏览器无法在端口 8080 上打开 Web 应用程序(浏览器无法连接到位于 http://127.0.0.1:50947/ 的应用程序)。
我做错了什么?如何确保相关应用程序在 Minikube 中运行并且我可以在端口 8080 访问 Web 应用程序?
更新1:这是kubectl get pods的输出:
C:\Users\XXXXXXX>kubectl get pods
NAME READY STATUS RESTARTS AGE
example-1-engine-1-d9fc48785-zdvkf 0/1 ImagePullBackOff 0 2d18h
hello-minikube-6ddfcc9757-wj6c2 1/1 Running 1 5d
更新 2: 我尝试输入 eval $(minikube -p minikube docker-env)。为此,我首先在 Docker 中打开了 Minikube 容器的 shell。
在随后出现的窗口中,我输入了eval $(minikube -p minikube docker-env),得到了回复minikube: not found。
【问题讨论】:
-
你能显示
kubectl get pods的输出吗,我假设应用程序没有部署在minikube中。 -
minikube service --url <service-name>;然后尝试输出。 -
@Thomas 查看更新 1。
-
是的,证实了我的怀疑,请参阅 matt_j 的回答
标签: java spring-boot kubernetes minikube