kubectl exec into pod resulting in Unable to use a TTY error every time if run through automation

11/22/2019

i have a simple automation to exec into a kubernetes pod but it always results in the below error :-

kubectl exec -it my-pod -c my-contaner -n my-namespace /bin/bash
Unable to use a TTY - input is not a terminal or the right kind of file

I am trying to run a simple shell script using jenkins to exec into a pod and execute ls -las in the root directory but its not allowing to exec into the pod automatically. The same thing works fine if i do manually on the linux server terminal. Can someone help fix this issue

-- Ashley
jenkins
kubectl
kubernetes
kubernetes-pod
shell

2 Answers

11/23/2019

I got it working using the below approach :-

kubectl exec -ti my-pod -c my-container -n my-namespace -- ls
-- Ashley
Source: StackOverflow

5/11/2020

I got same error while creating a pod during Jenkins build:

$ oc run netshoot-pod --attach=true --restart=Never --rm -i --tty --image nicolaka/netshoot -- curl $IP

Unable to use a TTY - input is not a terminal or the right kind of file 
If you don't see a command prompt, try pressing enter. 
Error attaching, falling back to logs

Removing --tty / -t flag has fixed it.

-- Noam Manos
Source: StackOverflow