要执行到pod中的容器中,我使用以下两个命令(注意第一个命令中的template
标志将输出调整为仅打印pod的名称):
$ kubectl get pods --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}'
app-api-6421cdf4fd-x9tbk
app-worker-432f86f54-fknxw
app-frontend-87dd65d49c-6b4mn
app-rabbit-413632c874-s2ptw
$ kubectl exec -it app-api-6421cdf4fd-x9tbk -- bash
执行到容器中会很好,而不必每次都在pod名称的末尾发现随机guid。我该怎么做?
4条答案
按热度按时间m3eecexj1#
您可以使用deployment exec到pod中
可以使用以下命令:
3pmvbmvn2#
假设您有一个名为
myadmin
、命名空间为demo
的Deployment
。在deploy之后,您可以通过运行以下命令执行到deploy的pod中:68bkxrlz3#
我相信你预料到了。
(下面使用
sed 's/pod\///'
,因为kubectl get pod -o name
给了你像pod/rabbitmq-0
这样的名字,你应该剪下第一部分)与前一个类似,您可以使用任何已知的命令来查找和排序所需的对象。提供您最初问题的版本
uwopmtnx4#
您的pod可能与一个service(
kind: Service
)相关,因此您可以使用它来连接到一个可用的pod: