How*_*ark 6 nlb kubernetes kubernetes-service amazon-eks
Kubernetes服务文档显示了以下有关如何为每个 NLB 服务更新节点安全组的说明。
不幸的是,我的 VPC 有 3 个不同的 CIDR。这意味着对于服务上的每个端口,节点的安全组中都会添加 4 条新规则。有一个团队拥有带有 5 个端口的 NLB 服务,这意味着它会向节点的安全组添加 20 条新规则。其他团队通常有 2 个端口,这会导致节点安全组中添加 8 条规则。最终结果是我们有时会达到一个安全组允许的最大数量 64 条规则。
围绕此进行设计的想法是什么,以便团队可以根据需要创建具有任意数量端口的 NLB 服务?
EKS 文档对此做了一些说明。
对于您创建的每个 NLB,Amazon EKS 会向节点的安全组添加一项用于客户端流量的入站规则,并为 VPC 中的每个负载均衡器子网添加一项用于运行状况检查的规则。如果 Amazon EKS 尝试创建超出安全组允许的最大规则数配额的规则,则 LoadBalancer 类型的服务部署可能会失败。有关更多信息,请参阅 Amazon VPC 用户指南中的 Amazon VPC 配额中的安全组。请考虑以下选项,以最大程度地减少超出安全组规则最大数量的可能性。
请求增加每个安全组的规则配额。有关更多信息,请参阅《服务配额用户指南》中的请求增加配额。
使用创建网络负载均衡器,而不是实例目标。对于 IP 目标,可以为相同的目标端口共享规则。可以使用注释手动指定负载均衡器子网。有关更多信息,请参阅 GitHub 上的注释。
使用 Ingress 而不是 LoadBalancer 类型的服务将流量发送到您的服务。AWS Application Load Balancer (ALB) 需要的规则比 NLB 少。ALB 还可以在多个 Ingress 之间共享。有关更多信息,请参阅 Amazon EKS 上的应用程序负载平衡。
将集群部署到多个帐户。
如果这些选项都不适合您,并且您还有 ALB,则可以最小化这些 ALB 的规则,强制它们使用特定的安全组,而不是将其规则添加到节点的安全组中。注释是service.beta.kubernetes.io/aws-load-balancer-security-groups. 这样做,您可以将多个规则替换为一个规则,从而为 NLB 规则留出更多空间。
| 归档时间: |
|
| 查看次数: |
4162 次 |
| 最近记录: |