只获取所有名称空间的名称Kuectl-Kubernetes



我想使用kubectl命令获得Kubernetes集群中所有名称空间的名称列表。

目前,我正在运行下面的kubectl命令,它为我提供了所有名称空间的列表。

但是,我不想看到"ACTIVE"one_answers"AGE"列。我只想要NAME列。

这背后的原因是,我可以将NAME列中的所有项添加到一个数组中进行进一步处理。

> kubectl get namespaces
NAME                      STATUS   AGE
dread-gorge               Active   284d
dread-lagoon              Active   210d
carncier-basin            Active   164d
chantague-shallows        Active   164d
hilraine-loch             Active   311d
stangrave-waters          Active   271d

解决方案1:

这里有另一种方法:

kubectl get ns  --no-headers -o custom-columns=":metadata.name"

-o=自定义列=使用逗号分隔的自定义列列表打印表格

解决方案2:

另一种获取名称和资源类型的方法:

kubectl get ns -o name

使用kubectl备忘单中的jsonpath

kubectl get ns -o jsonpath='{range .items[*]}{.metadata.name}{"n"}{end}'
default
gitlab-runner
kube-node-lease
kube-public
kube-system

如果您想使用go模板,可以选择此选项。不幸的是,当我在Windows中使用该命令时,您需要转义双引号("(。

Linux:

kubectl get namespace -o 'go-template={{range .items}}{{ .metadata.name }}{{"n"}}{{end}}'

Windows:

kubectl get namespace -o 'go-template={{range .items}}{{ .metadata.name }}{{"n"}}{{end}}'

这里还有其他输出样式的参考:https://gist.github.com/hungbang/90b8d71bc659bafb0c96d73144d51c19

相关内容

  • 没有找到相关文章

最新更新