我在 AWS EKS 中运行着两个kubernetes集群。我该如何将它们连接起来,以便两者都能通信和共享数据?
在一个集群上,只有无状态应用程序正在运行,而在另一个有状态的应用程序(如 Redis DB , RabbitMQ 等)上运行。
哪种方式最容易建立沟通?
答案 0 :(得分:3)
如果您有特定的集群来运行数据库和其他私有状态工作负载,请确保该EKS集群的工作节点是私有的。
下一步将是创建服务资源,以使用内部端点公开您的Redis数据库。您可以通过指定以下内容来实现它:
annotations:
service.beta.kubernetes.io/aws-load-balancer-internal: "true"
使用以上内容,您将使用内部端点公开整个群集和有状态的工作负载。完成此操作后,您有两种选择来连接VPC。
答案 1 :(得分:0)
我将按照@marcincuber的建议方法使用内部负载平衡器。
但是,我还得到了另一种解决方法,将 Redis,RabbitMQ 服务类型公开为LoadBalancer
。
由于我的两个群集都在同一VPC中,因此不需要VPC对等或任何网关设置,因此我正在考虑通过使用Kubernetes默认服务loadBalancerSourceRanges
来限制流量。