Я много искал, как развернуть Redis с высокой доступностью в kubernetes. У меня есть некоторые проблемы с использованием режима кластера Redis, и при использовании режима ведущий-ведомый нам также нужно развернуть сторожевой, чтобы иметь возможность обрабатывать сбои главного устройства.
Я просматривал этот замечательный документ, который объясняет, как это сделать, но я думаю, что чего-то не хватает.
Я развернул то, что там упоминалось, но мне нужно было внести некоторые изменения, чтобы контейнеры дозорных работали в дозорном режиме, теперь основной манифест модуля redis-master, в котором есть основной мастер redis, и дозорный выглядит следующим образом.
# redis-master.yaml
apiVersion: v1
kind: Pod
metadata:
labels:
name: redis
redis-sentinel: "true"
role: master
name: redis-master
spec:
containers:
- name: master
image: redis
env:
- name: MASTER
value: "true"
ports:
- containerPort: 6379
resources:
limits:
cpu: "0.1"
volumeMounts:
- mountPath: /redis-master-data
name: data
- name: sentinel
image: redis
command:
- redis-sentinel
- "/redis-master-data/redis.conf"
env:
- name: SENTINEL
value: "true"
ports:
- containerPort: 26379
volumeMounts:
- mountPath: /redis-master-data
name: data
- mountPath: /redis-master
name: config
initContainers:
- name: copy
image: redis
command: ["bash", "-c", "cp /redis-master/redis.conf /redis-master-data/"]
volumeMounts:
- mountPath: /redis-master
name: config
- mountPath: /redis-master-data
name: data
volumes:
- name: data
emptyDir: {}
- name: config
configMap:
name: example-redis-config
items:
- key: redis-config
path: redis.conf
теперь после всего, что у меня есть 2 проблемы
во-первых, этот документ создает службу только для часовых, поэтому я знаю, что должен сделать службу для Redis, но я даже не уверен, оба они являются мастерами или нет.
вторая проблема, предполагающая, что один является ведущим, а другой - подчиненным, когда происходит сбой, и часовой выбирает нового мастера, как сделать, чтобы этот новый мастер принадлежал службе мастеров Redis, а не подчиненной службе (потому что обычно мы делаем 2 службы один разоблачает господ, а другой — рабов)
ПРИМЕЧАНИЕ. пожалуйста, ознакомьтесь с упомянутым выше документом, чтобы хорошо понять мой вопрос.