kubernetes 如何创建Pod并在稍后连接终端

okxuctiv  于 2022-12-29  发布在  Kubernetes
关注(0)|答案(2)|浏览(128)

我想运行一个多容器的pod,并通过一个终端与它交互。使用kubectl run -ti我可以运行一个单容器的pod,并很容易地连接到它。
我想我必须使用kubectl apply来创建一个复杂的pod,然后将其 attach
我试过了,但不管用:

 kubectl run alpine --image alpine                                                                       pod/alpine created

  kubectl attach -i alpine                                                                                      If you don't see a command prompt, try pressing enter.
error: unable to upgrade connection: container alpine not found in pod alpine

我在Linux主机(Ubuntu 22.04)下使用最新的k3s v1.25.4+k3s1

ergxz8rk

ergxz8rk1#

这确实有效:

 kubectl run alpine --image alpine --command sleep -- 999d                                               
pod/alpine created

  kubectl exec -ti alpine -- ash                                                                                
/ #

我需要一个辅助的sleep

zf9nrax1

zf9nrax12#

首先需要交互式附加:
第一个月
然后使用CTRL-P分离,再使用CTRL-Q分离
要重新连接,请用途:
kubectl attach alpine -c alpine -i -t
请注意,如果您在任何时候关闭shell,都将终止Pod,它将重新启动

相关问题