如何从多个指定namespace中获取全部Pod资源?
获取多个指定Namespace下的Pod资源
以下是几种可行的操作方式:
方法一:使用字段选择器一次性查询(推荐)
通过--field-selector参数过滤目标Namespace,能得到格式统一的合并输出:
kubectl get pods --all-namespaces --field-selector metadata.namespace in (namespace-name1,namespace-name2,namespace-name3)
如果Namespace名称包含特殊字符,需要用引号包裹,示例:
kubectl get pods --all-namespaces --field-selector metadata.namespace in ("my-namespace-1","my-namespace-2")
方法二:多次执行单个Namespace查询
用命令连接符(&&或;)依次查询每个Namespace,每个Namespace的结果分开输出:
kubectl get pods -n namespace-name1 && kubectl get pods -n namespace-name2 && kubectl get pods -n namespace-name3
若要忽略某个Namespace查询失败的情况(比如Namespace不存在),可以用;代替&&:
kubectl get pods -n namespace-name1 ; kubectl get pods -n namespace-name2 ; kubectl get pods -n namespace-name3
方法三:借助xargs批量执行
通过echo列出目标Namespace,再用xargs逐个调用kubectl命令:
echo "namespace-name1 namespace-name2 namespace-name3" | xargs -n1 kubectl get pods -n
内容的提问来源于stack exchange,提问作者Dean Taler
相关产品推荐
相关产品推荐

