Minikube springboot收到请求并且没有正确响应

时间:2019-07-29 14:16:38

标签: spring-boot docker kubernetes web-deployment minikube

我从kubernetes和docker开始,面临一个问题。

在将minikube转换为docker映像(使用minikube的docker)后,在minikube上部署了springboot应用程序。该应用程序处于联机状态,正在接收请求,正如您在以下屏幕截图中所见,但未按预期答复。< / p>

例如,当我正常部署该应用程序时(像往常一样在我的计算机上),一切正常,我可以在所有html页面上运行,但是一旦部署到minikube中,它就无法正确答复。 (所有工作部分都是接收春天的图标)

用于部署应用程序的YAML:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: esse-deployment-1
  labels:
    app: esse
spec:
  replicas: 1
  selector:
    matchLabels:
      app: esse-1
  template:
    metadata:
      labels:
        app: esse-1
    spec:
      containers:
      - image: mysql:5.7
        name: esse-datasource
        ports:
        - containerPort: 3306
        env: 
          - name: MYSQL_ROOT_PASSWORD
            value: esse_password 
      - image: esse_application
        name: esse-app-1
        imagePullPolicy: Never
        ports:
        - containerPort: 8080
      volumes:
        - name: esse-1-mysql-persistent-storage
          persistentVolumeClaim:
            claimName: mysql-persistent-storage-claim
---

apiVersion: v1
kind: Service
metadata:
  name: esse-service-1
spec:
  selector:
    app: esse-1
  ports:
    - protocol: TCP
      port: 8080
  type: NodePort

----

kind: PersistentVolume
apiVersion: v1
metadata:
  name: mysql-persistent-storage
  labels:
    type: local
spec:
  storageClassName: manual
  capacity:
    storage: 1Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/home/docker/data"

---

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: mysql-persistent-storage-claim
spec:
  storageClassName: manual
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 200Mi

用于构建映像的Docker文件:

FROM openjdk:8
ADD ESSE_Application.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "app.jar"]

App log Result in brower

2 个答案:

答案 0 :(得分:0)

我可以看到您有.yml文件来定义部署和服务,但是看不到“ Ingress”。为了告诉kubernetes应该有一个指向您的服务的外部url,需要一个{y {1}}的.yml文件。一个最小的Ingress资源示例:

kind: Route

**请不要直接使用此代码,我只是想在此处草拟一些示例代码,可能与您的命名/数据不完全匹配:)

答案 1 :(得分:0)

最终解决了这个问题。

一切正常,因为我正在从Eclipse IDE启动应用程序,并且打包 .jar 文件时, / webapp中包含的 jps 文件/ WEB-INF / jsps 文件夹未包含在 .jar 文件中,甚至包含它们也无法将<resources>标记扔到pom.xml文件中由于 jar 包装不适用于 jsp 文件。

我通过在 pom.xml 文件中添加<packaging>war</packaging>来更改打包方法,以解决此问题,因为.jsp文件在 .war 中感觉很舒适文件。

感谢@Marc的帮助。