skip to Main Content

I am able to exec into a pod , and in that pod i will also like to run a stolonctl command at the same time into the pod i just exec into. Here is an example of what i will like to achieve. I tried using the first command first and then tried to see if i write the second command if it will work based on the first but it didnt.

Special execution command ${cluster_name} kubectl exec -it pod -c container ${cluster_name} -- /bin/bash
then in the bash i want to also run this
stolonctl --cluster-name [cluster_name] --store-backend [store_backend] --store-endpoints kubernetes status
i want to be able to achieve something like this in robot. be able to do something similar to ls in the pod

controlplane $ kubectl run --image=nginx web --restart=Never
pod/web created
controlplane $ kubectl get po
NAME   READY   STATUS              RESTARTS   AGE
web    0/1     ContainerCreating   0          4s
controlplane $ kubectl exec -it web -- /bin/bash
root@web:/# ls
bin   dev                  docker-entrypoint.sh  home  lib64  mnt  proc  run   srv  tmp  var
boot  docker-entrypoint.d  etc                   lib   media  opt  root  sbin  sys  usr

2

Answers


  1. You may execute your command without starting a shell, using something like this:

    kubectl exec  $pod -c $container -- 
        stolonctl --custer-name $clustername and-any-other-options
    

    Or, if for some reason, you need your shell (eg: evaluating env vars in your command line, if you need pipes, &&, ||, …), you could warp this in /bin/sh, eg:

    kubectl exec  $pod -c $container -- /bin/sh -c 
        "stolonctl --custer-name $clustername and-any-other-options"
    

    Not being familiar with that robotframework, I’m not sure if that helps you … I guess you would have to use the Process library

    Login or Signup to reply.
  2. You don’t need to open a bash in the container first. You can run the stolonctl command directly:

    $ kubectl exec -it pod -c container ${cluster_name} -- stolonctl --cluster-name [cluster_name] --store-backend [store_backend] --store-endpoints kubernetes status
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search