【发布时间】:2021-03-24 16:22:21
【问题描述】:
一家公司希望使用命名空间来扩展他们的微服务应用程序,命名空间代表每个客户端一个单独的应用程序。该应用程序由 22 个微服务组成,公司有 80 个客户端,因此集群中将有 22 * 80 = 1760 个 Pod。示意图如下。
最初计算得出,拥有 4 个 r4.xlarge 节点就足以保持适当的性能。但该公司遇到了另一种问题:the number of IP addresses 每个实例。例如,仅对于 r4.xlarge 类型的 4 个节点:4(节点)* 4(网络接口)* 15(私有 IPv4 地址)= 240 个可用地址,但需要 1760 个!
【问题讨论】:
-
Kubernetes 本身有一个maximum of 100 pods per node。如果要运行这么多 pod,则需要更多节点。
-
无论如何,即便如此,我们能否避免 r4.xlarge 实例中 pod 的 60 个 IP 到 100 个 IP 的限制?它将显着减少节点数量
-
限制是因为您使用的是 AWS VPC CN 插件docs.aws.amazon.com/eks/latest/userguide/pod-networking.html。使用这个插件可以让 Kubernetes pod 在 pod 中拥有与在 VPC 网络上相同的 IP 地址。根据文档,Amazon VPC CNI 插件可能无法满足所有用例的要求。 Amazon EKS 维护着一个合作伙伴网络,这些合作伙伴提供具有商业支持选项的替代 CNI 解决方案。有关详细信息,请参阅备用兼容 CNI 插件。 docs.aws.amazon.com/eks/latest/userguide/….
-
@SagarVelankar 你拯救了我的一天,谢谢!安装 Calico 帮助了 goglides.io/replace-aws-vpc-cni-with-calico-on-aws-eks-cluster/…
-
感谢您的链接。请注意,您不能使用 AWS 负载均衡器控制器的 IP 地址定位模式。它必须是实例定位模式。请点赞我的回答
标签: amazon-web-services kubernetes amazon-eks