kubectl exec进入pod会导致每次通过自动化运行都无法使用TTY错误

时间:2019-11-22 22:29:10

标签: shell jenkins kubernetes kubectl kubernetes-pod

我有一个简单的自动化程序,可以执行到kubernetes容器中,但是它总是导致以下错误:-

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

我正在尝试使用jenkins运行一个简单的shell脚本以执行到Pod中并在根目录中执行ls -las,但是它不允许自动执行到pod中。如果我在linux服务器终端上手动进行操作,同样的事情也可以正常工作。 有人可以帮忙解决此问题

2 个答案:

答案 0 :(得分:1)

Jenkins 构建过程中创建Pod时出现相同的错误:

$ 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

删除 --tty / -t标志已修复。

答案 1 :(得分:0)

我使用以下方法使其工作:-

kubectl exec -ti my-pod -c my-container -n my-namespace -- ls