我目前已成功将 Asterisk 部署到 Google Container Engine (GKE),以便 VoIP 软件电话可以注册。我现在想连接到 Asterisk 的容器。
kubectl attach -it <pod-id>
但是会导致 Asterisk 的 CLI 提示符 ( *CLI> *CLI> *CLI
...) 快速重复,而我根本没有机会输入任何内容。看起来好像有一个无限的连接/分离循环正在发生。我该如何解决这种情况,以便我可以干净地访问 CLI(使用单个*CLI>
提示符)?
更新当尝试分两步进行连接时,也会发生相同的重复:
gcloud compute ssh <instance-id>
<instance># sudo docker attach <image-id>
答案1
提示符循环是程序读取时/dev/null
认为是 tty 的特征。Kubernetes 文档stdin
字段v1.Container
对此发出警告:
此容器是否应在容器运行时为 stdin 分配缓冲区。如果未设置,则从容器中的 stdin 读取将始终导致 EOF。默认值为 false。
顺便说一句,无论容器是否有 tty,-t
标志都不会改变。除了某些情况下的错误消息外,它是一个无操作。kubectl attach
显然,正如您承认的那样,星号容器是在没有and 的kubectl describe
情况下启动的。目前没有未解决的错误。除非出现拼写错误(或者您正在运行 rktnetes),否则您可以考虑为此打开一个。stdin
tty