简体   繁体   中英

How to do Redis slave repalication in k8s cluster?

By this famous guestbook example:

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

It will create Redis master/slave deployment and services. It also has a subfolder named redis-slave which used for create a docker image and run Redis replication command.

  • Dockerfile
  • run.sh

The question is, if deployed the Redis master and slave to the k8s cluster. Then how to run that command? Deploy a new container? That will not relate to the slave container already deployed.

Is there a better way to do Redis repliaciton between master and slave running in k8s cluster?

One option you have is using helm to deploy the redis-ha app.

Info about helm: https://github.com/kubernetes/helm

The redis-ha helm app page: https://hub.kubeapps.com/charts/stable/redis-ha

Redis Sentinel is often suggested for simple master-slave replication and high availability.

Unfortunately, Sentinel does not fit Kubernetes world well and it also requires a Sentinel-aware client to talk to Redis.

You could try Redis operator which can be considered a Kubernetes-native replacement for Sentinel and allows to create a Redis deployment that would resist without human intervention to most kind of failures.

Here is how you can setup Redis HA Master Slave Cluster in Kubernetes/Openshift OKD

Basically you have to use configMap, StatefulSet in collaboration with VolumeClaims

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM