How to do Redis slave repalication in k8s cluster?

1/18/2018

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?

-- online
cluster-computing
kubernetes
master-slave
redis
replication

2 Answers

8/19/2019

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.

-- Nick Revin
Source: StackOverflow

1/18/2018

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

-- whites11
Source: StackOverflow