У меня есть кластер Redis в Kubernetes.
Мне нужно взаимодействовать с одним из модулей Redis-клиента, главным образом, чтобы время от времени удалять ключи.
В настоящее время я делаю это так:
Туннель Kubernetes dashobard к localhost: 8081
Из панели инструментов выполните exec в модуле клиента redis
Работа: redis-cli -h redis-master -a mypassword
Удаление необходимого ключа, del "*my_key_name*"
Iхочу быть в состоянии сделать это из локального сценария 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
)
Есть ли способ сделать то, что я хочу?
Спасибо