[英]Executing a kubernetes pod with the use of pod name
我正在编写一个 shell 脚本来执行一个 pod,其语法为:
winpty kubectl --kubeconfig="C:\kubeconfig" -n namespace exec -it podname bash
这工作正常,但由于 podname 不稳定并且每次部署都会发生变化,所以有什么替代方案吗?
谢谢。
您可以使用以下命令:
kubectl -n <namespace> exec -it deploy/<deployment-name> -- bash
您可以正常使用$ kubectl exec
命令,但定义更改 pod 名称的值。
假设您有部署和标记的 pod:app=example,只需执行:
$ kubectl exec -it $(kubectl get pods -l app=example -o custom-columns=:metadata.name) -- bash
编辑:
您还可以执行:
POD_NAME = $(kubectl get pods -l app=example -o custom-columns=":metadata.name")
或者
POD_NAME = $(kubectl get pods -l app=example -o jsonpath = "{. Items [0] .metadata.name}")
最后
$ winpty kubectl exec -ti $POD_NAME --bash
确保您在正确的命名空间中执行命令 - 您还可以添加-n
标志并定义它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.