Kubectl之JSONPath

2020-11-04  本文已影响0人  跑腿打杂临时工

背景

最近接到一个需求,需要通过kubectl命令展示出一些特定的字段,比如只显示pod name和host ip,接到这个需求之后开始查找kubectl命令帮助,找到了一个"-o=jsonpath="的命令可以基本满足需求。

执行参数

kubectl get pods -o json
kubectl get pods -o=jsonpath='{@}'
kubectl get pods -o=jsonpath='{.items[0]}'
kubectl get pods -o=jsonpath='{.items[0].metadata.name}'
kubectl get pods -o=jsonpath="{.items[*]['metadata.name', 'status.capacity']}"
kubectl get pods -o=jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.status.startTime}{"\n"}{end}'

示例参考

测试结果

[root@master-1 ~]# kubectl get pods -n test -o=jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.status.hostIP}{"\n"}'
nginx-test-77f7fc6bd7-jfw8j     172.17.108.170
nginx-test-77f7fc6bd7-mzwc2     172.17.108.255
上一篇下一篇

猜你喜欢

热点阅读