shell kubectl get secrets显示特定字段

dzhpxtsq  于 12个月前  发布在  Shell
关注(0)|答案(4)|浏览(118)

当我们运行kubectl get secrets时,如何只获取name字段?我想获取'name'字段下的所有值。这可能吗?
举例来说:
当我在Kube中运行下面的命令时:

$kubectl get secrets -n mynamespace
NAME TYPE DATA AGE
my-cert kubernetes.io/tls 2 10d

字符串
从上面我只想看到名称字段,我们如何提取?

wlp8pajw

wlp8pajw1#

你可以试试kubectl get secrets -A -o custom-columns=NAME:.metadata.name
编辑:另一个选项是kubectl get secrets -A -o name,但在这种情况下,输出是“secret/cluster-kubernetes.default.svc”。

5t7ly7z5

5t7ly7z52#

尝试kubectl的jsonpath选项:

kubectl get secrets -o jsonpath="{.items[*].metadata.name}"

字符串
更多信息可参见here

pxy2qtax

pxy2qtax3#

您可以尝试以下命令:

kubectl get secrets -n default -o jsonpath='{.items[*]}' | jq -r '.metadata.name' | sort

字符串

dgenwo3n

dgenwo3n4#

你也可以试试这个,用awk

kubectl get secrets -n mynamespace --no-headers|awk '{print $1}'

字符串
--no-headers意味着不打印像NAME TYPE DATA AGE这样的头。
awk '{print $1}'打印第一个字,即secret的名称

相关问题