Java/Micronaut 的 Kubernetes 部署错误:ERR_CONNECTION_REFUSED

Kubernetes deployment error with Java/Micronaut: ERR_CONNECTION_REFUSED

我正在尝试部署具有 3 个服务的应用程序 - 前端 (Angular)、后端 1 (Java/Micronaut) 和后端 2 (Java/Micronaut)。

我的前端工作正常,但 Java 应用程序不工作。

有时,我观察到它在 20 分钟后开始。部署一个 Java 应用程序,但这次即使在 1 小时后它也不起作用。

部署、pod 服务 - 在 Kubernetes 中都处于 运行 状态,但是当我尝试点击 URL 时,我看到以下错误:

deployment.yaml for java app

apiVersion: apps/v1
kind: Deployment
metadata:
  name: authentication-deploy
  labels:
    name: authentication-deploy
    app: supply-chain-app
spec:
  replicas: 1
  selector:
    matchLabels:
      name: authentication-pod
      app: supply-chain-app

  template:
    metadata:
      name: authentication-pod
      labels:
        name: authentication-pod
        app: supply-chain-app
    spec:
      containers:
        - name: authentication
          image: cawishika/authentication-service:1.1
          ports:
            - containerPort: 80

service.yaml for java app

apiVersion: v1
kind: Service
metadata:
  name: authentication-service
  labels:
    name: authentication-service
    app: supply-chain-app
spec:
  type: NodePort
  ports:
    - port: 80
      targetPort: 80
      nodePort: 30006
  selector:
    name: authentication-pod
    app: supply-chain-app

Docker file

FROM adoptopenjdk/openjdk11:latest
EXPOSE 8002
ADD target/authentication-service-0.1.jar authentication-service-0.1.jar
ENTRYPOINT ["java", "-jar", "/authentication-service-0.1.jar"]

kubectl 记录 podname

您的 Dockerfile 正在公开端口 8002 (EXPOSE 8002),但您的应用程序在端口 8080.

上启动

此外,您的 Kubernetes 配置指向您 pod 的端口 80

您应该设置它,以便所有三个配置使用相同的端口。