AWS EKS-如何解决NLB规则导致的RulesPerSecurityGroupLimitExceeded



我有一个AVVPC,有三个私有子网(10.176.128.0/20、10.176.144.0/20和10.176.160.0/20(和三个公用子网(101.76.0.0/20、101.76.16.0/20和101.76.32.0/20(。所有私有子网的标签为kubernetes.io/role/internal elb=1,公用子网的标记为kubernet。io/role/elb=1。

我在托管节点组中运行所有工作节点,AWS eks负责为集群创建默认安全组。那个安全小组就是我稍后要说的。

我在kubernetes集群中有两个名称空间,分别是test和stage,在每个名称空间中,我有3个带有负载均衡器的服务,它们在每个名称中公开了8个端口。负载平衡器属于nlb类型。

现在问题来了,每个带有负载均衡器的服务在我的安全组中为我的节点的每个端口创建4个规则,一个用于它所在的每个子网,另一个用于所有trafic(0.0.0.0/0(。8*4*2=64,根据AWS,每个安全组的最大规则数为60,所以当我要创建最后一个LB时,我收到了RulesPerSecurityGroupLimitExceeded的错误。

在我看来,有两种方法可以解决这个问题,要么在我的节点上附加更多的安全组,要么以某种方式进行配置,这样每个端口创建的规则就更少了。问题是,实际上,一个规则就足够了,因为0.0.0.0/0也允许我的所有子网。另一种选择可能是我在设计上做错了什么。添加更多我尝试过但失败的安全组的第一个选项仍然尝试将规则添加到已满的安全组中。

我们也遇到了这个问题。你可以做的一件事是在AWS控制台中请求增加每个安全组的规则配额。不过,我觉得这只会稍微推迟这个问题。

最新更新