Kubernetes 为什么针对EKS托管服务的ALB端点上出现502个错误
我正在EKS中构建一个服务,它有两个部署、两个服务(NodePort)和一个入口Kubernetes 为什么针对EKS托管服务的ALB端点上出现502个错误,kubernetes,kubernetes-ingress,amazon-eks,aws-alb,Kubernetes,Kubernetes Ingress,Amazon Eks,Aws Alb,我正在EKS中构建一个服务,它有两个部署、两个服务(NodePort)和一个入口 我正在使用aws alb入口控制器 当我运行kubectl port forward POD 8080:80时,它确实会显示我的工作POD 当我查看alb生成的端点时,我得到502个错误 当我查看目标组的注册目标时,我看到消息,健康检查失败,代码为:[502] 这是我完整的yaml --- #Example game deployment and service apiVersion: extensions/v
- 我正在使用aws alb入口控制器
- 当我运行kubectl port forward POD 8080:80时,它确实会显示我的工作POD
- 当我查看alb生成的端点时,我得到502个错误
- 当我查看目标组的注册目标时,我看到消息,健康检查失败,代码为:[502]
---
#Example game deployment and service
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: "example-game"
namespace: "example-app"
spec:
replicas: 5
template:
metadata:
labels:
app: "example-game"
spec:
containers:
- image: alexwhen/docker-2048
imagePullPolicy: Always
name: "example-game"
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: "service-example-game"
namespace: "example-app"
spec:
ports:
- port: 80
targetPort: 80
protocol: TCP
type: NodePort
selector:
app: "example-app"
#Example nginxdemo Deployment and Service
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: "example-nginxdemo"
namespace: "example-app"
spec:
replicas: 5
template:
metadata:
labels:
app: "example-nginxdemo"
spec:
containers:
- image: nginxdemos/hello
imagePullPolicy: Always
name: "example-nginxdemo"
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: "service-example-nginxdemo"
namespace: "example-app"
spec:
ports:
- port: 80
targetPort: 80
protocol: TCP
type: NodePort
selector:
app: "example-app"
---
#Shared ALB ingress
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: "example-ingress"
namespace: "example-app"
annotations:
kubernetes.io/ingress.class: alb
alb.ingress.kubernetes.io/healthcheck-protocol: HTTP
Alb.ingress.kubernetes.io/healthcheck-port: traffic-port
alb.ingress.kubernetes.io/healthcheck-path: /
# alb.ingress.kubernetes.io/scheme: internal
# alb.ingress.kubernetes.io/load-balancer-attributes: routing.http2.enabled=true
labels:
app: example-app
spec:
rules:
- http:
paths:
- path: /game/*
backend:
serviceName: "service-example-game"
servicePort: 80
- path: /nginxdemo/*
backend:
serviceName: "service-example-nginxdemo"
servicePort: 80
我不知道为什么,但事实证明,安格尔的标签必须是唯一的
当我将标签从“示例应用程序”更改为“示例应用程序入口”时,它才开始工作。因此,在大量更改和尝试的最后,这似乎很愚蠢,我不认为这是答案,但我将入口的标签更改为与其他标签不同