【发布时间】:2021-07-26 20:36:34
【问题描述】:
我在访问 java 应用程序时收到 502 Badgateway(nginx)。我已经在 kubernetes 集群上以 pod 的形式部署了应用程序
deployment.yaml 文件
--
apiVersion: "apps/v1"
kind: "Deployment"
metadata:
name: "app-development"
namespace: "development"
spec:
selector:
matchLabels:
app: "app-development"
replicas: 1
strategy:
type: "RollingUpdate"
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
minReadySeconds: 5
template:
metadata:
labels:
app: "app-development"
spec:
containers:
-
name: "app-development"
image: "appimage:latest"
imagePullPolicy: "Always"
env:
-
name: "NODE_ENV"
value: "development"
ports:
-
containerPort: 40912
imagePullSecrets:
-
name: "app-service"
ingress.yaml 文件
---
apiVersion: "networking.k8s.io/v1beta1"
kind: "Ingress"
metadata:
name: "app-ingress"
namespace: "app-development"
annotations:
nginx.ingress.kubernetes.io/rewrite-target: "/"
spec:
rules:
-
host: "localhost"
http:
paths:
-
backend:
serviceName: "app-development"
servicePort: 40912
path: "/app-development"
service.yaml 文件
---
apiVersion: "v1"
kind: "Service"
metadata:
name: "app-development"
namespace: "app-development"
labels:
app: "app-development"
spec:
ports:
-
port: 40912
targetPort: 8010
selector:
app: "app-development"
码头文件
FROM openjdk:8-jdk-alpine
EXPOSE 8010
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
ADD . /usr/src/app
ADD target/app.jar /usr/src/app
ENTRYPOINT ["java","-jar","/usr/src/app/app.jar"]
从入口路径 url 访问我的应用程序时,我得到 502 Badgateway(nginx),我尝试做 curl,但从那里我也得到了错误的网关,并知道如何解决这个问题。
【问题讨论】:
-
您的
Service指向端口 8010,但您的 PodSpec 有containerPort: 40912所以我猜这只是一个错字 -
嘿,谢谢你的回复,问题解决了,我在 application.properties 文件(代码文件)中给出了一些不同的端口号,它是 8080(server.port=8080) 而不是8010,所以我在 service.yaml 文件中将目标端口更改为 8080
标签: java docker nginx kubernetes bad-gateway