kubernetes Minikube:无法从外部访问节点端口服务 [英] kubernetes Minikube : Node port service not accessible from outside

查看:60
本文介绍了kubernetes Minikube:无法从外部访问节点端口服务的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在 minikube (Windows-10) 上部署简单的 Spring Boot REST 服务.下面是我的配置

Docker 文件

FROM openjdk:8-jdk-alpine入口点 ["/usr/bin/java", "-jar", "/usr/share/myservice/minikube-spring-boot-demo-0.0.1-SNAPSHOT.jar"]添加目标/minikube-spring-boot-demo-0.0.1-SNAPSHOT.jar/usr/share/myservice/libARG JAR_FILE添加目标/${JAR_FILE}/usr/share/myservice/minikube-spring-boot-demo-0.0.1-SNAPSHOT.jar曝光 8080

docker 镜像运行良好,我可以运行该应用程序.

docker run -p 8080:8080 minikube-spring-boot-demo:0.0.1-SNAPSHO

部署

apiVersion: apps/v1种类:部署元数据:名称:minikube-spring-boot-demo规格:选择器:匹配标签:应用程序:minikube-spring-boot-demo层:后端复制品:3模板:元数据:标签:应用程序:minikube-spring-boot-demo层:后端规格:容器:- 名称:演示后端图像:nirajsonawane/minikube-spring-boot-demo:0.0.1-SNAPSHOTimagePullPolicy:始终端口:- 容器端口:8080

服务

apiVersion: v1种类:服务元数据:名称:minikube-spring-boot-demo-service规格:选择器:应用程序:minikube-spring-boot-demo层:后端端口:- 端口:8080目标端口:8080节点端口:30008类型:节点端口

kubectl 获取所有状态

kubectl 集群信息

minikube 日志

服务详情

我无法使用 service-ip:Nodeport/Uri
访问其余端点

解决方案

minikube 正在虚拟机中运行.机器外的localhost127.0.0.1都无法访问服务.

尝试运行 minikube service minikube-spring-boot-demo-service.它将显示服务详细信息并在浏览器中打开服务.

I am trying to deploy simple spring boot REST service on minikube (Windows-10). Below are my configuration

Docker file

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 is running fine and i am able to run the app.

docker run -p 8080:8080 minikube-spring-boot-demo:0.0.1-SNAPSHO

Deployment

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

Service

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

kubectl get all status

kubectl cluster-info

minikube logs

Service Details

i am not able to access the rest endpoint using service-ip:Nodeport/Uri
http://127.0.0.1:30008/hello

http://172.17.0.2:30008/hello

Anything i am missing here? any inputs will be useful.

output of netstat -a

解决方案

minikube is running in a virtual machine. Services can't be accessed through either localhost or 127.0.0.1 out of the machine.

Try to run minikube service minikube-spring-boot-demo-service. It will show service details and open the service in the browser.

这篇关于kubernetes Minikube:无法从外部访问节点端口服务的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆