有没有什么办法可以迁移运行在两个不同Kubernetes集群中的Redis集群数据?我们如何在运行在两个不同Kubernetes集群上的Redis有状态Pod之间进行通信?
我们有两个Redis集群,它们运行在两个不同的Kubernetes集群X和Y上。我想将数据从Redis-X传输到Redis-Y集群。我们如何在Redis-X和Redis-Y集群之间建立连接,以便我们可以迁移数据?
如有任何帮助或提示,我们将不胜感激。
9o685dep1#
有两种可能的方法可以在群集之间建立连接:
1.内置解决方案1.第三方解决方案
NodePort
ClusterIP
<NodeIP>
<NodePort>
LoadBalancer
ingress
阅读更多内容:Kubernets services、NGINX ingress
Istio支持多集群部署模式。然而,如果您没有部署服务网状网,这样做对于单任务使用来说可能太多了。
一旦在集群之间建立了连接,就可以使用MIGRATE命令或注解中建议的redis-migrate-tool迁移Redis。
MIGRATE
redis-migrate-tool
bvpmtnay2#
这是一种使用Skper的新方法。
https://github.com/bryonbaker/rhai-redis-demo
这是我编写的一个完整的循序渐进的演示,展示了来自本地和跨四个Kubernetes集群的全球分布式实时复制缓存。Redis缓存从内部复制到悉尼、伦敦和纽约。
不需要节点端口、潜艇或Istio联盟。它都使用标准路线。
这个演示是基于OpenShift的--但它可以与任何风格的XKS一起工作。
2条答案
按热度按时间9o685dep1#
有两种可能的方法可以在群集之间建立连接:
1.内置解决方案
1.第三方解决方案
内置解决方案
NodePort
-在静态端口(NodePort
)上公开每个节点的IP上的服务。NodePort
服务路由到的ClusterIP
服务是自动创建的。您可以通过请求<NodeIP>
:<NodePort>
从群集外部联系NodePort
服务LoadBalancer
-使用云提供商的负载均衡器向外部公开服务。自动创建外部负载平衡器路由到的NodePort
和ClusterIP
服务。ingress
(第一方和第三方实施)-比前两个更灵活,但仅适用于HTTP/HTTPS。阅读更多内容:Kubernets services、NGINX ingress
第三方解决方案
Istio支持多集群部署模式。然而,如果您没有部署服务网状网,这样做对于单任务使用来说可能太多了。
一旦在集群之间建立了连接,就可以使用
MIGRATE
命令或注解中建议的redis-migrate-tool
迁移Redis。bvpmtnay2#
这是一种使用Skper的新方法。
https://github.com/bryonbaker/rhai-redis-demo
这是我编写的一个完整的循序渐进的演示,展示了来自本地和跨四个Kubernetes集群的全球分布式实时复制缓存。Redis缓存从内部复制到悉尼、伦敦和纽约。
不需要节点端口、潜艇或Istio联盟。它都使用标准路线。
这个演示是基于OpenShift的--但它可以与任何风格的XKS一起工作。