休息查询以列出 Kubernetes 中所有命名空间中的所有容器

标签 rest kubernetes openshift

我知道有 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/

相关文章:

kubernetes - GCE Ingress 未从就绪探针中获取健康检查

deployment - OpenShift 二进制部署,tar.gz 结构

java - Spring RestTemplate 不使用完整的 URL

java - Servlet 调用失败。使用 Spring 支架

javascript - 计算特定联系人的上次完成预约 CRM 2011 Online JavaScript

java - 添加 tomcat-catalina 依赖项时 Tomcat 服务器没有响应

tomcat - 将 .war 部署到 OpenShift 找不到 404 错误

java - 只允许 iPhone 访问 REST Web 服务

go - GKE + WebSocket + NodePort 30 秒掉线

kubernetes - 获取Helm依赖项的详细信息