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