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

使用AWS Load Balancer Controller在EKS部署NLB出现权限错误如何排查?

排查步骤
  • 第一步先定位具体缺失的权限项:先执行kubectl get pods -n kube-system | grep aws-load-balancer-controller获取控制器运行的Pod名称,再执行kubectl logs -n kube-system <替换为实际控制器Pod名> | grep -i error查看运行日志,日志中会明确返回被IAM拒绝的具体API操作名称,可直接定位权限缺口。
  • 检查控制器关联的IAM角色配置:执行kubectl describe pod <替换为实际控制器Pod名> -n kube-system | grep Annotations,确认Pod注解中存在eks.amazonaws.com/role-arn字段,且ARN指向正确的IAM角色。
  • 校验IAM角色的权限策略:确认上述IAM角色已关联AWS Load Balancer Controller所需的全套权限,NLB创建相关的必要权限包括elasticloadbalancingv2:CreateLoadBalancer、elasticloadbalancingv2:CreateTargetGroup、elasticloadbalancingv2:RegisterTargets、ec2:DescribeSubnets、ec2:DescribeSecurityGroups等,权限未全覆盖会直接触发权限错误。
  • 校验IAM角色的信任策略:确认信任策略中已允许EKS集群的OIDC身份提供商执行sts:AssumeRoleWithWebIdentity操作,且信任条件中包含system:serviceaccount:kube-system:aws-load-balancer-controller这一服务账号主体。
  • 确认EKS集群的OIDC身份提供商已在IAM侧正确创建,这是IRSA(服务账号关联IAM角色)功能正常运行的基础前提。
  • 补充校验:你提供的Service配置注解符合v2版本AWS Load Balancer Controller的要求,配置本身无错误,无需调整。
解决方案
  • 若日志明确返回缺失特定API操作权限,直接将对应操作项添加到控制器关联IAM角色的权限策略中即可。
  • 若为IRSA配置错误(包括角色关联错误、信任策略错误、OIDC未创建),重新修正对应配置后,执行kubectl rollout restart deployment aws-load-balancer-controller -n kube-system重启控制器Pod即可生效。
  • 若Quick Start默认分配的控制器权限策略不全,直接将官方最新的完整权限策略挂载到对应IAM角色即可解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 15:27:03