подчиненный узел redis постоянно требует авторизации

#redis

#redis

Вопрос:

Я развернул службу redis, используя режим master-slave, с 3 узлами в Kubernetes. И я использую sentinel, чтобы он оставался доступным на высоком уровне. Все узлы установили requirepass и masterauth .

Когда я подключаюсь к любому из подчиненных узлов, выполняю команду авторизации, и через несколько секунд без операции, примерно через 5-15 секунд, redis снова требует авторизации.

Как я знаю, в redis нет элемента настроек с истекшим сроком действия. Итак, мне любопытно, является ли это механизмом redis, который я не знаю, или есть проблема в моей службе redis.

Комментарии:

1. совместное использование кода аутентификации — может помочь дать вам ответ

2. код аутентификации: region-agent-a1

Ответ №1:

Я предполагаю, что ваш сервер Redis установил timeout конфигурацию как N секунд.

timeout Параметр определяет, следует ли закрывать соединение после того, как клиент простаивает в течение N секунд (0 для отключения) (цитата из redis.conf).

Вы подключаетесь к Redis с помощью redis-cli и отправляете AUTH команду Redis. Однако, если вы не отправите никаких других команд в течение N секунд, Redis закроет ваше соединение. Затем вы отправляете новое соединение с помощью redis-cli, redis-cli создаст новое соединение и отправит команду. Однако, поскольку это новое соединение, и AUTH по этому соединению не было отправлено ни одной команды, произойдет сбой, и Redis запросит у вас аутентификацию.

Комментарии:

1. Я не установил параметр тайм-аута. По умолчанию остается значение 0, которое равно disable. И только при подключении к подчиненному узлу возникает такая ситуация. главный узел полностью нормальный