两种不同Kubernetes集群中的Redis集群数据迁移

c7rzv4ha  于 2022-10-08  发布在  Kubernetes
关注(0)|答案(2)|浏览(148)

有没有什么办法可以迁移运行在两个不同Kubernetes集群中的Redis集群数据?我们如何在运行在两个不同Kubernetes集群上的Redis有状态Pod之间进行通信?

我们有两个Redis集群,它们运行在两个不同的Kubernetes集群X和Y上。我想将数据从Redis-X传输到Redis-Y集群。我们如何在Redis-X和Redis-Y集群之间建立连接,以便我们可以迁移数据?

如有任何帮助或提示,我们将不胜感激。

9o685dep

9o685dep1#

有两种可能的方法可以在群集之间建立连接:

1.内置解决方案
1.第三方解决方案

内置解决方案

  • NodePort-在静态端口(NodePort)上公开每个节点的IP上的服务。NodePort服务路由到的ClusterIP服务是自动创建的。您可以通过请求<NodeIP><NodePort>从群集外部联系NodePort服务
  • LoadBalancer-使用云提供商的负载均衡器向外部公开服务。自动创建外部负载平衡器路由到的NodePortClusterIP服务。
  • ingress(第一方和第三方实施)-比前两个更灵活,但仅适用于HTTP/HTTPS。

阅读更多内容:Kubernets servicesNGINX ingress

第三方解决方案

Istio支持多集群部署模式。然而,如果您没有部署服务网状网,这样做对于单任务使用来说可能太多了。

一旦在集群之间建立了连接,就可以使用MIGRATE命令或注解中建议的redis-migrate-tool迁移Redis。

bvpmtnay

bvpmtnay2#

这是一种使用Skper的新方法。

https://github.com/bryonbaker/rhai-redis-demo

这是我编写的一个完整的循序渐进的演示,展示了来自本地和跨四个Kubernetes集群的全球分布式实时复制缓存。Redis缓存从内部复制到悉尼、伦敦和纽约。

不需要节点端口、潜艇或Istio联盟。它都使用标准路线。

这个演示是基于OpenShift的--但它可以与任何风格的XKS一起工作。

相关问题