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

如何解决Kubernetes中AWS NLB处于Pending状态的问题

解决Kubernetes中AWS NLB始终处于Pending状态的问题
  • 检查子网配置
    AWS NLB要求至少部署在两个不同可用区的公有子网中,你当前只指定了一个子网,这会导致资源创建失败。修改service.beta.kubernetes.io/aws-load-balancer-subnets注解,添加多个跨可用区的公有子网,用逗号分隔:

    service.beta.kubernetes.io/aws-load-balancer-subnets: subnet-xxxxxx,subnet-yyyyyy
    

    同时确认这些子网已开启自动分配公有IP功能。

  • 验证IAM权限
    集群控制节点(或cloud-controller-manager组件)需要具备创建NLB相关资源的IAM权限,检查对应角色是否包含以下权限:

    • elasticloadbalancing:CreateLoadBalancer
    • elasticloadbalancing:CreateTargetGroup
    • elasticloadbalancing:RegisterTargets
    • ec2:DescribeSubnets
    • ec2:DescribeSecurityGroups
      缺失权限的话,补充对应的IAM策略即可。
  • 核对标签匹配
    确认Service的spec.selector中app: <pod label>与实际运行Pod的标签完全一致,标签不匹配会导致NLB无法关联目标Pod,进而卡在Pending状态。

  • 修正注解参数
    部分Kubernetes版本中,aws-load-balancer-type的正确值应为nlb而非external,修改注解:

    service.beta.kubernetes.io/aws-load-balancer-type: nlb
    

    若使用EKS较新版本,可尝试使用正式版注解前缀:service.kubernetes.io/aws-load-balancer-type。

  • 查看事件日志定位问题
    执行命令查看Service的事件详情,获取具体错误原因:

    kubectl describe service <service name>
    

    日志会明确提示比如子网不可用、权限不足等导致Pending的具体问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 07:06:32