Containers kubectl attach:无法使用TTY-容器es节点未分配一个
我正在尝试连接到Kubernetes中正在运行的容器,但是我收到下面的错误消息Containers kubectl attach:无法使用TTY-容器es节点未分配一个,containers,kubernetes,tty,Containers,Kubernetes,Tty,我正在尝试连接到Kubernetes中正在运行的容器,但是我收到下面的错误消息 >kubectl attach -it es-client-2756725635-4rk43 -c es-node Unable to use a TTY - container es-node did not allocate one If you don't see a command prompt, try pressing enter. 如何在容器yaml中启用TTY?它失败的原因是您没有传递bash
>kubectl attach -it es-client-2756725635-4rk43 -c es-node
Unable to use a TTY - container es-node did not allocate one
If you don't see a command prompt, try pressing enter.
如何在容器yaml中启用TTY?它失败的原因是您没有传递bash参数。这会在尝试创建tty连接时导致失败 请尝试:
kubectl exec -it [POD-NAME] -c [CONTAINER-NAME] bash
为了在进行连接时获得正确的TTY和stdin:
kubectl attach -it POD -c CONTAINER
容器必须配置tty:true
和stdin:true
。
默认情况下,这两个值都是false
:
示例Pod:
spec:
containers:
- name: web
image: web:latest
tty: true
stdin: true
无论我做了什么,它都不起作用,
tty
命令将始终返回而不是tty
响应并退出非0,也就是说,在我的终端上不需要tty
我正在使用GKE
上的Ubuntu仿生海狸制作一个带有永久磁盘的短暂工作站,作为我的$HOME
由于我已将brew
安装在我的PD
中$HOME
且brew
位于我的$PATH
中,以下内容对我起到了作用:
brew install tmux
tmux new -d -s <some arbitrary session name here> ### i.e.> tmux new -d -s tty
tmux ls # Lists your sessions
tmux a # Attach to first available session
brew安装tmux
tmux new-d-s####即>tmux new-d-s tty
tmux ls#列出您的会话
tmux a#附加到第一个可用会话
然后在tmux内部:
$tty
瞧
/dev/pts/0
我的agnoster是b0rkz,但现在我可以做一些提示交互式密码输入的事情,例如,gcloud auth
PS:对于那些好奇的人,我将/etc/shadow
,/etc/group
,/etc/passwd
安装到/etc
中,并使用configmap
为Windows安装了MINGW64(git bash)似乎不起作用,但PowerShell确实起作用
kubectl exec-it abc-deployment-5d64659ff8-8tnnb--/bin/bash
root@abc-部署-5d64659ff8-8tnnb:/#
您可以添加一个shell容器,如下所示。
然后你可以用
kubectl attach -it nginx -c shell
尝试了以下命令:kubectl attach wildfly-rc-uc79a-it,但出现错误:无法使用TTY-容器wildfly rc pod未分配一个。如果没有看到命令提示,请尝试按enter。在不使用-t
标志的情况下尝试。请参阅,虽然此代码可能会回答此问题,但提供有关如何和/或为什么解决此问题的其他上下文将提高答案的长期价值。这将在运行的容器中成功启动一个交互式shell,这非常有用(谢谢),但它不会回答使用attach的OP问题。另外,请注意,一些容器只有sh(不是bash)注意,这是针对旧版本的k8sv1.5的-从那时起它可能发生了变化,但我没有时间检查。
apiVersion: v1
kind: Pod
metadata:
name: nginx
spec:
shareProcessNamespace: true
containers:
- name: nginx
image: nginx
- name: shell
image: busybox
stdin: true
tty: true