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

Get Only Names Of All Namespaces Kubectl - Kubernetes

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

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

但是,我不想看到 'ACTIVE' 和 '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

using jsonpath from kubectl cheatsheet

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

解法一:

这是另一种方法:

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

-o=custom-columns= Print a table using a comma separated list of custom columns

解法-2:

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

kubectl get ns -o name