我正在尝试在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 image运行良好,我能够运行该应用程序。
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
我无法使用< code > service-IP:node port/Uri < br > http://127 . 0 . 0 . 1:30008/hello访问restendpoint
http://172 . 17 . 0 . 2:30008/您好
我在这里错过了什么?任何输入都将是有用的。
净统计 -a 的输出
您可以使用以下命令获得集群ip
kubectl get nodes -o wide
然后在下面运行以获取节点端口
kubectl get svc -o wide -n <namespace>
获取NodePort Svc的端口
那么你的应用程序将在:p(svc 节点端口)上运行。
在您的情况下,它可能运行在http://127.0.0.1:30008/hello上
minikube
在虚拟机中运行。无法通过机器外的localhost
或127.0.0.1
访问服务。
尝试运行< code > minikube service minikube-spring-boot-demo-service 。它将显示服务详情,并在浏览器中打开服务。
我无法从外部访问我的服务。首先,这里是我的conf yaml文件: nginx-pod.yaml nginx-service.yaml metallb-config.yaml 然后我创建了集群。命令 打印: 一切正常,而且< code > ku bectl describe service/nginx-service 打印: curl命令在主服务器打印。接下来我试图从另一个网络打开,它不起作用,但
我正在尝试访问库伯内特斯集群部署的Spring Boot微服务并尝试测试REST API。我在部署脚本中配置了节点端口方法。但是当我尝试使用Postman工具访问时,我只得到“无法获得任何响应”的响应。 我配置了服务。yaml脚本类似于以下结构, 我的部署。yaml如下所示:, 当我使用时,输出如下所示, 我正在尝试通过以下方式访问我部署的API, 更新 当我为我的部署运行命令时,我得到如下响应:
我对Kubernetes和Helm图表是新的,我想在这里找到我的问题的答案。 我一直认为是向外部公开集群的端口,而port是在内部服务上公开的端口,它路由到pods上的。我从这里得到了这个理解。 但是,我似乎可以打开或,但不能打开或。我希望能够通过访问104.198.205.71,而不是通过端口。我的理解不正确吗?
工作节点1上的Curl对群集IP来说是最合适的(这是运行pod的节点) Curl在其他工作节点上也失败:
这是一个一般的错误,但我无法找到问题和解决方案。我的本地主机()上的Minecraft服务器位于端口上。可以通过主机的内部IP(localhost和)访问它,但无法通过外部IP()访问它。 是的。我重新启动了主机。服务器上还说 上启动Minecraft服务器 所以这一定是真的。 我可以通过驻留在设备上的一个简单的node.js服务器来验证端口是否对HTTP开放。这可以通过在同一网络上的移动设备上访
在云服务器上写一个linux上运行的Http服务器时,绑定了任意IP和8080端口, 云服务器上的telnet是能直接和这个服务器交互的, 但是在浏览器 或者 在我windows上的telnet不能连接这个Http服务器(云服务器的公网ip可以ping通) 浏览器向服务器发请求时,我是会把请求的报文全打印出来的,这里没打印是没有连接上 我的防火墙全部关了也连不了,怎么办? 求大佬指教 。。。