我是 Kubernetes 新手。如果我在 AWS EKS 集群中,并且部署了 20 个 POD。
这些 POD 中的每一个都会从 AWS VPC CIDR 获取一个 IP 吗?这意味着现在每个 POD 的 VPC CIDR 中的 20 个 IP 都被阻止了?
或者
POD IP 是否位于 EKS 内部,并且对 VPC CIDR 上可用的 IP 空间没有影响?EKS 服务可以从 VPC CIDR 获取一个 IP,但仅此而已。
谢谢。
ps 我被从 stackoverflow 重定向到 serverfault 中询问这个问题。
答案1
这取决于实施的网络解决方案。默认
CNI 插件负责为 Kubernetes 节点分配 VPC IP 地址,并为每个节点上的 pod 配置必要的网络。
Amazon EKS 仅正式支持 Amazon VPC CNI 插件。不过,Amazon EKS 运行上游 Kubernetes 且已通过 Kubernetes 认证,因此其他 CNI 插件可与 Amazon EKS 集群配合使用。
来自EKS VPC 网络。如果遇到此限制,您可以使用 Calico,例如:
您还可以使用 Calico 在 EKS 上进行联网,代替默认的 AWS VPC 联网,而无需使用底层 VPC 中的 IP 地址。这样您就可以利用 Calico 的全套联网功能,包括 Calico 灵活的 IP 地址管理功能。
无论如何,我建议您坚持使用 AWS 推荐的默认配置:
默认值为大多数实现提供了足够的 IP 地址,但如果没有,那么您可以更改它。
EKS 用户指南查看 CloudFormation 模板,他们正在使用/16
带有子网的 VPC 块/18
。/18
子网将为您提供16,382
每个子网可用的主机。这对于大多数用例来说应该足够了。