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
。
您应该设置它,以便所有三个配置使用相同的端口。
我正在尝试部署具有 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
。
您应该设置它,以便所有三个配置使用相同的端口。