У меня есть кластер Redis на Kubernetes.
Мне нужно взаимодействовать с одним из модулей redis-client, в основном для того, чтобы время от времени удалять ключи.
То, как я сейчас это делаю:
Туннель Kubernetes dashobard на localhost: 8081
Из панели управления выполнение exec в клиентском модуле Redis
Бег:
redis-cli -h redis-master -a mypassword
Удаление необходимого ключа,
del "*my_key_name*"
Я хочу иметь возможность делать это из локального скрипта Python. Используя kubernetes для python, я могу выполнять команды в модуле redis-client:
v1=client.CoreV1Api()
exec_command = [
'/bin/sh',
'-c',
'redis-cli -h redis-master -a mypassword']
resp = stream(v1.connect_get_namespaced_pod_exec,"redis-client2-5889976c9b-nv99v", 'default',
command=exec_command,
stderr=True, stdin=False,
stdout=True, tty=False)
Моя проблема в том, что я не могу выполнять команды в контексте redis-cli, т.е. я могу подключиться к redis-cli, но не могу отправлять ему команды (только /bin/sh
)
Есть ли способ делать то, что я хочу?
Спасибо