我正在寻找像“gcloud config get-value project”这样的命令来检索项目的名称,但对于 pod(它可以检索任何正在运行的 pod 名称)。我知道您可以使用“kubectl get pods”获得多个 pod,但我只想要一个 pod 名称作为结果。
我必须一直这样做:
kubectl get pods # add one of the pod names in next line
kubectl logs -f some-pod-frontend-3931629792-g589c some-app
我正在考虑“gcloud config get-value pod”的思路。是否有正确执行此操作的命令?
最佳答案
您可以使用 grep 命令过滤 stdout 上的任何输出。因此,要获取与指定模式匹配的 pod,您可以使用如下命令:
> kubectl get pods --all-namespaces|grep grafana
输出:
monitoring kube-prometheus-grafana-57d5b4d79f-smkz6 2/2 Running 0 1h
要仅输出 pod 名称,您可以使用
awk
参数为 '{print $2}'
的命令, 显示前一个输出的第二列:kubectl get pods --all-namespaces|grep grafana|awk '{print $2}'
要只显示一行,您可以使用
head
命令如下:kubectl get pods --all-namespaces|grep grafana|awk '{print $2}'|head -n 1
关于kubernetes - 如何获得 kubernetes 的单个 pod 名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51611868/