如何在k8s集群中做Redis slave repalication?

How to do Redis slave repalication in k8s cluster?

以这个著名的留言簿为例:

https://github.com/kubernetes/examples/tree/master/guestbook

它将创建 Redis master/slave 部署和服务。它还有一个名为 redis-slave 的子文件夹,用于创建 docker 图像和 运行 Redis 复制命令。

问题是,如果将Redis主从部署到k8s集群。那么如何运行那个命令呢?部署新容器?这与已经部署的从属容器无关。

在k8s集群中运行ning主从之间是否有更好的Redis复制方式?

您有一个选择是使用 helm 部署 redis-ha 应用程序。

关于头盔的信息:https://github.com/kubernetes/helm

redis-ha helm 应用页面:https://hub.kubeapps.com/charts/stable/redis-ha

Redis Sentinel 通常被推荐用于简单的主从复制和高可用性。

不幸的是,Sentinel 并不适合 Kubernetes 世界,它还需要一个支持 Sentinel 的客户端才能与 Redis 通信。

您可以尝试 Redis operator,它可以被视为 Sentinel 的 Kubernetes 原生替代品,并允许创建无需人工干预即可抵抗大多数类型故障的 Redis 部署。

以下是如何在 Kubernetes/Openshift OKD

中设置 Redis HA 主从集群

基本上你必须使用 configMap,StatefulSet 与 VolumeClaims 协作

https://reachmnadeem.wordpress.com/2020/10/01/redis-ha-master-slave-cluster-up-and-running-in-openshift-okd-kubernetes/