我知道有 kubectl
命令可以列出所有命名空间中的容器:
kubectl get pods --all-namespaces -o jsonpath={.items[*].spec.containers[*].name}
有没有办法使用 rest 查询获取所有命名空间中的所有容器?
最佳答案
您不能直接查询容器的 REST API,因为您可以管理的最小单元是 Pod,这在您的 kubectl
示例中也是如此。
不过,您可以使用 jq 等工具查询所有 Pod 和过滤器。很明显,根据需要替换您的 $TOKEN
和 $CLUSTER
,以下应该有效:
curl -XGET -H "Authorization: Bearer $TOKEN"-H "Accept: application/json"https://$CLUSTER:8443/api/v1/pods?limit=500 | jq '.items[] .spec .containers[] .name'
虽然不确定上述方法比使用 cli 有什么好处。附带说明一下,如果您使用 oc
工具,请设置 --loglevel=9
选项,您将能够看到发送到服务器的请求。
关于休息查询以列出 Kubernetes 中所有命名空间中的所有容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52875838/