为In-Tree EKS控制器创建的NLB附加安全组问题求助
解决AWS NLB通过Kubernetes注解直接配置安全组的问题
你当前使用的service.beta.kubernetes.io/aws-load-balancer-extra-security-groups注解是用于给目标组附加额外安全组的,无法直接配置NLB本身的安全组。要实现给NLB实例直接绑定安全组的需求,需要替换为专门的注解:
- 将
extra-security-groups替换为service.beta.kubernetes.io/aws-load-balancer-security-groups,这个注解会直接把指定安全组关联到NLB资源上,而非目标组。
正确的注解配置示例:
service.beta.kubernetes.io/aws-load-balancer-security-groups: sg-asdf1234 service.beta.kubernetes.io/aws-load-balancer-type: nlb service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: true
额外注意事项:
- 确保指定的安全组
sg-asdf1234配置了正确的入站/出站规则,比如开放NLB需要接收的流量端口,以及NLB到目标组的通信权限。 - 确认EKS集群的IAM角色具备管理NLB安全组的权限,比如
ec2:AssociateSecurityGroups、ec2:ModifyInstanceAttribute等相关权限。 - 若之前已创建NLB,修改注解后建议删除旧Service资源重新创建,或执行
kubectl apply更新后等待AWS侧完成配置同步(部分场景下手动重建能更快生效)。
内容的提问来源于stack exchange,提问作者nevotheless
相关产品推荐
相关产品推荐

