如何通过Rest API获取运行Pod状态

时间:2018-10-03 22:28:32

标签: kubernetes

有什么想法如何通过Kubernetes REST API获取具有已知名称的POD的POD状态? 我可以通过键入“ kubectl get pods --all-namespaces”通过kubectl来完成此操作,因为输出将STATUS作为单独的列列出,但不确定使用哪个REST API来获取正在运行的pod的状态。 谢谢

2 个答案:

答案 0 :(得分:3)

您可以只查询API服务器:

curl -k -X GET -H "Authorization: Bearer [REDACTED]" \
https://127.0.0.1:6443/api/v1/pods

如果要获取状态,可以通过jq之类的管道将其传送:

curl -k -X GET -H "Authorization: Bearer [REDACTED]" \ 
https://127.0.0.1:6443/api/v1/pods \
| jq '.items[] | .metadata.name + " " + .status.phase'

答案 1 :(得分:1)

如果不确定哪个REST API和命令是已知的,请使用-v9选项按以下方式运行命令。请注意,kubectl仅以命令方式支持选项的子集(获取,删除,创建等),因此最好熟悉REST API。

  

kubectl -v9取得豆荚

以上将输出REST API调用。可以对其进行适当的修改,并将输出通过管道传递到jq以获得数据的子集。