如何通过OpenShift API查询指定项目下的所有deployments
OpenShift 指定项目下部署资源查询API说明
你提到的/oapi/v1/projects/{name}/deployments格式的接口不存在,OpenShift的资源访问遵循Kubernetes API分组规范,不同部署类资源对应不同的API路径,具体规则如下:
资源类型区分
OpenShift 集群中存在两类常用部署类资源,对应不同的API分组:
- 原生Kubernetes
Deployment资源:归属appsAPI组 - OpenShift 自研
DeploymentConfig资源:归属OpenShift专属的apps.openshift.ioAPI组
可用API路径
查询指定项目下所有原生Deployment
路径格式:/apis/apps/v1/namespaces/{项目名称}/deployments
注:OpenShift的项目(project)本质就是Kubernetes的命名空间(namespace),API路径中直接填写对应项目的名称作为命名空间参数即可。
查询指定项目下所有DeploymentConfig
根据集群版本不同有两种可用路径:
- 3.x及以上全版本兼容路径:
/oapi/v1/namespaces/{项目名称}/deploymentconfigs - 4.x版本标准路径:
/apis/apps.openshift.io/v1/namespaces/{项目名称}/deploymentconfigs
快速验证方法
你可以直接通过oc命令的debug参数查看底层实际调用的API:执行oc get deployments -n <目标项目名> -v=6,输出日志中会显示完整的API请求路径,可以和上面给出的格式对照确认。
内容的提问来源于stack exchange,提问作者SoftwareSavant
相关产品推荐
相关产品推荐

