skip to Main Content

I have a pod running in kubernetes and i need to run two commands in one line.

Say,

kubectl exec -it <pod name> -n <namespace > -- bash -c redis-cli

above command will open redis-cli

i want to run one more command after exec in one line ie info, i am trying below which is not working:

kubectl exec -it <pod name> -n <namespace > -- bash -c redis-cli -- info

3

Answers


  1. Not get your question, do you want to get the information from redis-cli?

    kubernetes exec -it <pod name> -n <namespace > -- bash -c 'redis-cli info'
    
    Login or Signup to reply.
  2. Did you try to link your commands using && ?

    kubernetes exec -it <pod name> -n <namespace > -- bash -c redis-cli && info

    Login or Signup to reply.
  3. You have to put your command and all the parameters between apostrophes.

    in your example it would be:

    kubectl exec -it <pod_name> -n <namespace> -- bash -c 'redis-cli info'
    

    From Bash manual: bash -c: If the -c option is present, then commands are read from the first non-option argument commaqnd_string.

    Other option (which in my opinion is a better approach) is to get the output from the command with an instant pod, which creates, runs and deletes the pod right after that, like this:

    kubectl run --namespace <YOUR_NAMESPACE> <TEMP_RANDOM_POD_NAME> --rm --tty -i --restart='Never' --env REDIS_PASSWORD=$REDIS_PASSWORD --image docker.io/bitnami/redis:5.0.7-debian-10-r0 -- bash -c 'redis-cli -h redis-master -a $REDIS_PASSWORD info'
    

    in my case the password was stored in a envvar called $REDIS_PASSWORD and I’m connecting to a server in a pod called redis-master.
    I let it as I runned it to show that you can use as much parameters as needed.

    POC:

    user@minikube:~$ kubectl run --namespace default redis-1580466120-client --rm --tty -i --restart='Never' --env REDIS_PASSWORD=$REDIS_PASSWORD --image docker.io/bitnami/redis:5.0.7-debian-10-r0 -- bash -c 'redis-cli -h redis-master -a $REDIS_PASSWORD info'
     10:41:10.65 
     10:41:10.66 Welcome to the Bitnami redis container
     10:41:10.66 Subscribe to project updates by watching https://github.com/bitnami/bitnami-docker-redis
     10:41:10.66 Submit issues and feature requests at https://github.com/bitnami/bitnami-docker-redis/issues
     10:41:10.67 Send us your feedback at [email protected]
     10:41:10.67 
    
    Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
    # Server
    redis_version:5.0.7
    redis_git_sha1:00000000
    redis_git_dirty:0
    ...
    {{{suppressed output}}}
    ...
    # CPU
    used_cpu_sys:1.622434
    used_cpu_user:1.313600
    used_cpu_sys_children:0.013942
    used_cpu_user_children:0.008014
    
    # Cluster
    cluster_enabled:0
    
    # Keyspace
    pod "redis-1580466120-client" deleted
    
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search