Shell kubectl exec进入pod,如果通过自动化运行,则每次都无法使用TTY错误

Shell kubectl exec进入pod,如果通过自动化运行,则每次都无法使用TTY错误,shell,jenkins,kubernetes,kubectl,kubernetes-pod,Shell,Jenkins,Kubernetes,Kubectl,Kubernetes Pod,我有一个简单的自动执行到kubernetes吊舱,但它总是导致以下错误:- kubectl exec-it my pod-c my contaner-n my namespace/bin/bash 无法使用TTY-输入不是终端或正确类型的文件 我试图运行一个简单的shell脚本,使用jenkins执行pod,并在根目录中执行ls-las,但它不允许自动执行pod。如果我在linux服务器终端上手动执行,同样的事情也可以正常工作。 有人能帮我解决这个问题吗?我通过以下方法解决了这个问题:- k

我有一个简单的自动执行到kubernetes吊舱,但它总是导致以下错误:-

kubectl exec-it my pod-c my contaner-n my namespace/bin/bash
无法使用TTY-输入不是终端或正确类型的文件
我试图运行一个简单的shell脚本,使用jenkins执行pod,并在根目录中执行ls-las,但它不允许自动执行pod。如果我在linux服务器终端上手动执行,同样的事情也可以正常工作。
有人能帮我解决这个问题吗?

我通过以下方法解决了这个问题:-


kubectl exec-ti my pod-c my container-n my namespace--ls
在构建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
标志已将其修复。

如果这是自动操作,您可能不需要
-it
,谢谢coderanger,但我如何从pod内执行命令,因为登录从来不会像看上去那样发生,即使发生了,也没有会话。我要找的就是在pod中执行并在登录后执行bla bla bla bla bla bla bla如果这是一个脚本,您可能会运行类似于
kubectl exec my pod-c my contaner-n my namespace--/bin/bash/myscript.sh
ah的东西,我只是运行kubectl exec-it my pod-c my contaner-n my namespace/bin/bash&&ls-las,它从来不会与pod/containerI建立shell会话,这意味着它可以交互工作,但您不能这样做这是一个剧本。你需要真正地自动化你正在做的任何事情。