这是custom-columns的输出
$ kubectl -n web get pod -ocustom-columns="Name:.metadata.name,Image:.spec.containers[0].image"
Name Image
mysql-0 myrepo.mydomain.com/mysql:5.7
mysql-1 myrepo.mydomain.com/mysql:5.7
mysql-2 myrepo.mydomain.com/mysql:5.7这是对单个pod使用jsonpath的输出
$ kubectl -n web get pod -o jsonpath="{..metadata.name}:{..spec.containers[0].image}" mysql-0
mysql-0:myrepo.mydomain.com/mysql:5.7这是多个pod的jsonpath输出
$ kubectl -n web get pod -o jsonpath="{..metadata.name}:{..spec.containers[0].image}"
mysql-0 mysql-1 mysql-2:myrepo.mydomain.com/mysql:5.7 myrepo.mydomain.com/mysql:5.7 myrepo.mydomain.com/mysql:5.7现在,如何使用-ocustom-columns或-ojsonpath将其组合到单个列或单词中,如下所示
mysql-0=myrepo.mydomain.com/mysql:5.7
mysql-1=myrepo.mydomain.com/mysql:5.7
mysql-2=myrepo.mydomain.com/mysql:5.7发布于 2021-08-06 20:04:25
使用kubectl使用普通jsonpath
kubectl get pod -n <namespace> -o jsonpath='{range .items[*]}{.metadata.name}={.spec.containers[*].image}{"\n"}{end}'示例:
kubectl get pod -n default -o jsonpath='{range .items[*]}{.metadata.name}={.spec.containers[*].image}{"\n"}{end}'
nginx-0=nginx
nginx-1=nginx
nginx-2=nginx这里使用range功能来循环遍历所有pods:
{range items[*]} ...<LOGIC HERE>... {end}在范围块之间(如上所述),使用jsonpath,注意=符号是根据我们的要求使用的。
{.metadata.name}={.spec.containers[*].image}{"\n"}https://stackoverflow.com/questions/68661694
复制相似问题