项目 API


OpenShift Container Platform 4.16

项目 API 的参考指南

Red Hat OpenShift Documentation Team

摘要

本文档描述了 OpenShift Container Platform 项目 API 对象及其详细规格。

第 1 章 项目 API

1.1. Project [project.openshift.io/v1]

描述

项目是 OpenShift 中的隔离和协作单元。项目具有一个或多个成员,针对项目可能会消耗的资源的配额,以及对项目中资源的安全控制。在一个项目中,成员可能具有不同的角色 - 项目管理员可以设置成员资格,编辑器可以创建和管理资源,并且查看者可以访问正在运行的容器。在普通的集群管理员中,管理员无法更改其配额,仅限于集群管理员。

列出或监视项目将仅返回用户具有 reader 角色的项目。

OpenShift 项目是 Kubernetes 命名空间的替代表示。在命名空间不是时,项目会作为可编辑的最终用户公开。直接创建项目通常仅限于管理员,而最终用户应使用 requestproject 资源。

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。

类型
对象

1.2. ProjectRequest [project.openshift.io/v1]

描述

projectrequest 是完全限定项目请求所需的一组选项

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。

类型
对象

第 2 章 Project [project.openshift.io/v1]

描述

项目是 OpenShift 中的隔离和协作单元。项目具有一个或多个成员,针对项目可能会消耗的资源的配额,以及对项目中资源的安全控制。在一个项目中,成员可能具有不同的角色 - 项目管理员可以设置成员资格,编辑器可以创建和管理资源,并且查看者可以访问正在运行的容器。在普通的集群管理员中,管理员无法更改其配额,仅限于集群管理员。

列出或监视项目将仅返回用户具有 reader 角色的项目。

OpenShift 项目是 Kubernetes 命名空间的替代表示。在命名空间不是时,项目会作为可编辑的最终用户公开。直接创建项目通常仅限于管理员,而最终用户应使用 requestproject 资源。

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。

类型
对象

2.1. 规格

属性类型描述

apiVersion

字符串

APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

字符串

kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

ObjectMeta

metadata 是标准对象的元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

对象

ProjectSpec 描述了项目的属性

status

对象

ProjectStatus 是基于项目的当前状态的信息

2.1.1. .spec

描述
ProjectSpec 描述了项目的属性
类型
object
属性类型描述

finalizers

数组(字符串)

finalizers 是必须为空的值的不透明列表,才能从存储中永久删除对象

2.1.2. .status

描述
ProjectStatus 是基于项目的当前状态的信息
类型
object
属性类型描述

conditions

array (NamespaceCondition)

代表项目当前状态的最新可用影响。

phase

字符串

phase 是项目的当前生命周期阶段

可能枚举值: - "Active" 表示命名空间可用于系统 - "Terminating" 表示命名空间正在安全终止

2.2. API 端点

可用的 API 端点如下:

  • /apis/project.openshift.io/v1/projects

    • GET: 列出或监视类型为 Project 的对象
    • POST :创建项目
  • /apis/project.openshift.io/v1/watch/projects

    • GET: 观察单个对项目列表的更改。已弃用:改为使用 'watch' 参数及列表操作。
  • /apis/project.openshift.io/v1/projects/{name}

    • DELETE :删除项目
    • GET :读取指定的项目
    • PATCH: 部分更新指定的项目
    • PUT :替换指定的项目
  • /apis/project.openshift.io/v1/watch/projects/{name}

    • GET: 观察对类型为 Project 的对象的更改。已弃用:使用带有 list 操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。

2.2.1. /apis/project.openshift.io/v1/projects

HTTP 方法
GET
描述
列出或监视类型为 Project 的对象
表 2.1. HTTP 响应
HTTP 代码响应正文

200 - OK

ProjectList 模式

401 - Unauthorized

HTTP 方法
POST
描述
创建一个项目
表 2.2. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

表 2.3. 主体参数
参数类型描述

正文(body)

Project 模式

 
表 2.4. HTTP 响应
HTTP 代码响应正文

200 - OK

Project 模式

201 - Created

Project 模式

202 - Accepted

Project 模式

401 - Unauthorized

2.2.2. /apis/project.openshift.io/v1/watch/projects

HTTP 方法
GET
描述
观察单个对项目列表的更改。已弃用:改为使用 'watch' 参数和列表操作。
表 2.5. HTTP 响应
HTTP 代码响应正文

200 - OK

WatchEvent 模式

401 - Unauthorized

2.2.3. /apis/project.openshift.io/v1/projects/{name}

表 2.6. 全局路径参数
参数类型描述

name

字符串

项目的名称

HTTP 方法
DELETE
描述
删除项目
表 2.7. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

表 2.8. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
读取指定的项目
表 2.9. HTTP 响应
HTTP 代码响应正文

200 - OK

Project 模式

401 - Unauthorized

HTTP 方法
PATCH
描述
部分更新指定的项目
表 2.10. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

表 2.11. HTTP 响应
HTTP 代码响应正文

200 - OK

Project 模式

201 - Created

Project 模式

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定的项目
表 2.12. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

表 2.13. 主体参数
参数类型描述

正文(body)

Project 模式

 
表 2.14. HTTP 响应
HTTP 代码响应正文

200 - OK

Project 模式

201 - Created

Project 模式

401 - Unauthorized

2.2.4. /apis/project.openshift.io/v1/watch/projects/{name}

表 2.15. 全局路径参数
参数类型描述

name

字符串

项目的名称

HTTP 方法
GET
描述
观察对类型为 Project 的对象的更改。已弃用:使用带有列表操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
表 2.16. HTTP 响应
HTTP 代码响应正文

200 - OK

WatchEvent 模式

401 - Unauthorized

第 3 章 ProjectRequest [project.openshift.io/v1]

描述

projectrequest 是完全限定项目请求所需的一组选项

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。

类型
对象

3.1. 规格

属性类型描述

apiVersion

字符串

APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

description

字符串

description 是应用到项目的描述

displayName

字符串

displayName 是要应用到项目的显示名称

kind

字符串

kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

ObjectMeta

metadata 是标准对象的元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

3.2. API 端点

可用的 API 端点如下:

  • /apis/project.openshift.io/v1/projectrequests

    • GET: 列出类型为 ProjectRequest 的对象
    • POST :创建一个 ProjectRequest

3.2.1. /apis/project.openshift.io/v1/projectrequests

HTTP 方法
GET
描述
列出类型为 ProjectRequest 的对象
表 3.1. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

401 - Unauthorized

HTTP 方法
POST
描述
创建一个 ProjectRequest
表 3.2. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldValidation

string

fieldValidation 指示服务器如何处理包含了未知或重复字段的请求 (POST/PUT/PATCH) 中的对象。有效值为: - Ignore :忽略从对象中静默丢弃的未知字段,并将忽略所有除最后一个重复字段以外的所有字段。这是 v1.23 版本之前的默认行为- Warn: 这会通过标准的警告响应头为从对象丢弃的每个未知字段以及遇到的每个重复字段,发送警告。如果没有其他错误,请求仍会成功,且只保留重复字段的最后一个。这是 v1.23+ 的的默认行为 - Strict: 如果从对象中删除了任何未知字段,或者存在任何重复字段,请求将失败并带有 BadRequest 错误。从服务器返回的错误将包含遇到的,以及重复的字段。

表 3.3. 主体参数
参数类型描述

正文(body)

ProjectRequest 模式

 
表 3.4. HTTP 响应
HTTP 代码响应正文

200 - OK

ProjectRequest 模式

201 - Created

ProjectRequest 模式

202 - Accepted

ProjectRequest 模式

401 - Unauthorized

Legal Notice

Copyright © 2024 Red Hat, Inc.

OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).

Modified versions must remove all Red Hat trademarks.

Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.

Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.

Linux® is the registered trademark of Linus Torvalds in the United States and other countries.

Java® is a registered trademark of Oracle and/or its affiliates.

XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.

MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.

Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.

The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.

All other trademarks are the property of their respective owners.

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.