我正在尝试在minikube(Windows-10)上部署简单的spring boot REST服务。以下是我的配置
Docker文件
FROM openjdk:8-jdk-alpine
ENTRYPOINT ["/usr/bin/java", "-jar", "/usr/share/myservice/minikube-spring-boot-demo-0.0.1-SNAPSHOT.jar"]
ADD target/minikube-spring-boot-demo-0.0.1-SNAPSHOT.jar /usr/share/myservice/lib
ARG JAR_FILE
ADD target/${JAR_FILE} /usr/share/myservice/minikube-spring-boot-demo-0.0.1-SNAPSHOT.jar
EXPOSE 8080
docker镜像运行良好,我能够运行该应用程序。
docker run -p 8080:8080 minikube-spring-boot-demo:0.0.1-SNAPSHO
部署
apiVersion: apps/v1
kind: Deployment
metadata:
name: minikube-spring-boot-demo
spec:
selector:
matchLabels:
app: minikube-spring-boot-demo
tier: backend
replicas: 3
template:
metadata:
labels:
app: minikube-spring-boot-demo
tier: backend
spec:
containers:
- name: demo-backend
image: nirajsonawane/minikube-spring-boot-demo:0.0.1-SNAPSHOT
imagePullPolicy: Always
ports:
- containerPort: 8080
服务
apiVersion: v1
kind: Service
metadata:
name: minikube-spring-boot-demo-service
spec:
selector:
app: minikube-spring-boot-demo
tier: backend
ports:
- port: 8080
targetPort: 8080
nodePort: 30008
type: NodePort
我无法使用service-ip:Nodeport/Uri
访问其余端点
http://127.0.0.1:30008/hello
我在这里想念什么吗?任何输入都会有用。
netstat -a
的输出答案 0 :(得分:2)
minikube
在虚拟机中运行。无法通过localhost
或127.0.0.1
在计算机外访问服务。
尝试运行minikube service minikube-spring-boot-demo-service
。它将显示服务详细信息并在浏览器中打开服务。
答案 1 :(得分:0)
您可以使用下面的命令
kubectl get nodes -o wide
然后在下面运行以获取节点端口
kubectl get svc -o wide -n <namespace>
获取NodePort Svc的端口
然后您的应用程序将在http://:port(svc Nodeport)上运行
就您而言,它可能正在运行 http://127.0.0.1:30008/hello