You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS EKS 1.32创建Service与TargetGroupBinding及Pod更新异常求助

AWS EKS 1.32中Service与TargetGroupBinding创建的已知问题及解决方案

问题根源分析

你遇到的错误核心是AWS Load Balancer Controller的webhook服务无可用端点,这是EKS 1.32升级后常见的兼容性问题:

  • EKS 1.32对Kubernetes API的webhook机制有版本适配要求,旧版本的AWS Load Balancer Controller可能不兼容
  • 升级EKS时,Controller的webhook服务可能未正确重启或更新,导致端点缺失

分步解决步骤

1. 检查AWS Load Balancer Controller状态

先确认Controller的Pod是否正常运行:

kubectl get pods -n kube-system -l app.kubernetes.io/name=aws-load-balancer-controller

如果Pod未运行或处于CrashLoopBackOff状态,查看日志排查启动失败原因:

kubectl logs -n kube-system <controller-pod-name>

常见原因包括:IAM权限不足、CRD版本不兼容、镜像拉取失败。

2. 升级AWS Load Balancer Controller至兼容版本

EKS 1.32要求AWS Load Balancer Controller版本至少为v2.7.0(建议使用最新稳定版),执行以下步骤升级:

  • 删除旧版本Controller(如果存在):
kubectl delete deployment aws-load-balancer-controller -n kube-system
  • 安装兼容版本的CRD:
kubectl apply -k "github.com/aws/eks-charts/stable/aws-load-balancer-controller/crds?ref=master"
  • 使用Helm重新安装Controller(确保已配置好IAM角色):
helm upgrade -i aws-load-balancer-controller eks/aws-load-balancer-controller \
  -n kube-system \
  --set clusterName=<your-cluster-name> \
  --set serviceAccount.create=false \
  --set serviceAccount.name=aws-load-balancer-controller

3. 修复webhook服务端点

如果Controller Pod正常运行但端点仍缺失,手动触发端点同步:

kubectl delete endpoints aws-load-balancer-webhook-service -n kube-system

Kubernetes会自动重新创建端点关联运行中的Controller Pod。

4. 恢复TargetGroupBinding的Pod更新功能

当webhook服务恢复后,强制刷新TargetGroupBinding关联:

kubectl patch targetgroupbinding some-tg-binding -p '{"spec": {"serviceRef": {"name": "some-service", "port": 8080}}}' --type merge

或者删除并重新创建TargetGroupBinding资源(确保先备份配置)。

5. 解决降级回1.31失败的问题

降级EKS版本失败通常是因为集群中存在1.32特有的API资源或CRD,需要先清理:

  • 删除所有使用elbv2.k8s.aws/v1beta1以外版本的TargetGroupBinding资源(如果有)
  • 确认所有Controller组件已回退到兼容1.31的版本
  • 再次尝试通过AWS Console或eksctl执行降级操作

验证解决方案

执行以下命令确认服务恢复:

# 检查webhook服务端点是否存在
kubectl get endpoints aws-load-balancer-webhook-service -n kube-system
# 重新应用Service和TargetGroupBinding配置
kubectl apply -f somefile.yaml
# 检查Pod是否成功注册到TargetGroup
aws elbv2 describe-target-health --target-group-arn <your-target-group-arn>

内容的提问来源于stack exchange,提问作者rajeshmj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 02:37:41