spe*_*ane 12 containers tty kubernetes
我试图附加到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.
Run Code Online (Sandbox Code Playgroud)
如何在容器yaml中启用TTY?
Ale*_*aru 10
为了在做附加时有适当的TTY和stdin:
kubectl attach -it POD -c CONTAINER
Run Code Online (Sandbox Code Playgroud)
容器必须配置tty: true和stdin: true.默认情况下,这两个值都是false:https://kubernetes.io/docs/api-reference/v1.5/#container-v1
示例Pod:
spec:
containers:
- name: web
image: web:latest
tty: true
stdin: true
Run Code Online (Sandbox Code Playgroud)
它失败的原因是因为你没有传递bash参数.这在尝试创建tty连接时导致失败.
请试试:
kubectl exec -it [POD-NAME] -c [CONTAINER-NAME] bash
Run Code Online (Sandbox Code Playgroud)
对于 Windows,MINGW64 (git bash) 似乎不起作用,但 PowerShell 可以!
kubectl exec -it abc-deployment-5d64659ff8-8tnnb -- /bin/bash
root@abc-deployment-5d64659ff8-8tnnb:/#
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8150 次 |
| 最近记录: |