滚动更新部署后,AWS ALB运行状况不佳

问题描述 投票:0回答:1

我有一个EKS集群,其中aws-alb-ingress-controller控制指向EKS集群的AWS ALB的设置。

在其中一个部署的滚动更新之后,应用程序失败,导致Pod永远不会启动(pod陷入状态CrashLoopBackOff)。然而,之前版本的Pod仍在运行。但似乎服务的状态仍然不健康:

enter image description here

这意味着现在所有流量都被重定向到默认后端,即不同的服务。在这种情况下,在Kubernetes中,部署的相关服务是NodePort类型:

Type:                     NodePort
IP:                       172.20.186.130
Port:                     http-service  80/TCP
TargetPort:               5000/TCP
NodePort:                 http-service  31692/TCP
Endpoints:                10.0.3.55:5000

是什么导致端点变得不健康?我希望它只是将流量重定向到仍在运行的旧版本的Pod。有什么方法可以确保端点保持健康吗?

kubernetes kubernetes-ingress aws-eks amazon-alb
1个回答
1
投票

问题是,在Kubernetes中,应用程序运行正常,ALB负载均衡器执行了自己的运行状况检查。默认情况下,此健康检查已配置为期望来自200端点的/响应,但是对于此特定应用程序,它未在该端点上返回200响应。

由于ALB由alb-ingress-controller控制,我在我的入口处添加了一个注释来配置正确的路径:alb.ingress.kubernetes.io/healthcheck-path: /health。由于我们正在使用Spring Microservices,因此该端点适用于我们的所有应用程序。

© www.soinside.com 2019 - 2024. All rights reserved.