我正在一个VPC中设置两个EKS集群。
是否有可能在这两个集群之间共享子网?这种方法有什么问题吗?
我正在考虑创建三个私有子网,可以在这两个EKS集群之间共享。
我对这个话题做了一点研究,EKS的官方文档没有提到要避免这种方法。
总之,关于子网/vpc网络,AWS建议您这样做:
- 确保子网的大小(如果您没有足够的可用IP地址,您的pods将无法获得IP地址)
- 为您的工作节点首选使用私有子网& &;负载均衡器的公共子网
参考:https://aws.github.io/aws-eks-best-practices/reliability/docs/networkmanagement/recommendations_1
顺便说一句,为了更好的安全,你可以实现网络策略,传输加密(负载平衡,添加服务网格),请阅读这个文档了解更多细节:https://aws.github.io/aws-eks-best-practices/security/docs/network/#network-security
在这种情况下,不要忘记在子网上添加尽可能多的标记(每个EKS集群1个),例如:
kubernetes.io/cluster/cluster1: shared
kubernetes.io/cluster/cluster2: shared
...
kubernetes.io/cluster/clusterN: shared
这样可以保证负载均衡器和入口控制器自动发现子网。
由于VPC IP地址约束和部署最佳实践,每个集群的VPC
可能被认为是最佳实践。您可能有理由在每个子网中采用多个EKS集群,但是常见的通用Kubernetes
模式是为环境(例如dev/test/qa/staging/prod等)和命名空间分离集群,以在给定环境中分离团队/开发人员。
共享VPC上的多个EKS Clusters
不是一个好主意,因为您很容易耗尽IP范围。查看IP网络