×
描述

ConsolePlugin是通过从集群上运行的另一个服务动态加载代码来定制OpenShift Web控制台的扩展。兼容性级别1:在主要版本中至少稳定12个月或3个次要版本(以较长者为准)。

类型

对象

必需
  • 元数据

  • spec

规格

属性 类型 描述

apiVersion

字符串

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

kind

字符串

Kind是一个字符串值,表示此对象表示的REST资源。服务器可以从客户端提交请求的端点推断出这一点。无法更新。使用驼峰命名法。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

元数据

ObjectMeta

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

spec

对象

ConsolePluginSpec是所需的插件配置。

.spec

描述

ConsolePluginSpec是所需的插件配置。

类型

对象

必需
  • 后端

  • displayName

属性 类型 描述

后端

对象

backend保存服务控制台插件的后端配置。

displayName

字符串

displayName是插件的显示名称。displayName应在1到128个字符之间。

i18n

对象

i18n是插件本地化资源的配置。

代理

数组

proxy是一个代理列表,描述了插件需要连接到的各种服务类型。

proxy[]

对象

ConsolePluginProxy保存有关控制台后端将向其代理插件请求的各种服务类型的信息。

.spec.backend

描述

backend保存服务控制台插件的后端配置。

类型

对象

必需
  • 类型

属性 类型 描述

服务

对象

service是一个Kubernetes服务,它使用具有HTTP服务器的部署来公开插件。服务必须使用HTTPS和服务服务证书。控制台后端将使用服务CA捆绑包从服务代理插件资产。

类型

字符串

type是服务控制台插件的后端类型。目前仅支持“Service”。---

.spec.backend.service

描述

service是一个Kubernetes服务,它使用具有HTTP服务器的部署来公开插件。服务必须使用HTTPS和服务服务证书。控制台后端将使用服务CA捆绑包从服务代理插件资产。

类型

对象

必需
  • 名称

  • 命名空间

  • 端口

属性 类型 描述

basePath

字符串

basePath是插件资产的路径。主要资产是名为plugin-manifest.json的清单文件,它是一个JSON文档,包含有关插件和扩展的元数据。

名称

字符串

提供插件资产的服务名称。

命名空间

字符串

提供插件资产的服务命名空间。

端口

整数

服务插件的服务监听的端口。

.spec.i18n

描述

i18n是插件本地化资源的配置。

类型

对象

必需
  • loadType

属性 类型 描述

loadType

字符串

loadType 指示应如何加载插件的本地化资源。有效值为 Preload、Lazy 和空字符串。设置为 Preload 时,加载插件时将获取所有本地化资源。设置为 Lazy 时,本地化资源将在控制台需要时延迟加载。省略或设置为空字符串时,行为等同于 Lazy 类型。

.spec.proxy

描述

proxy是一个代理列表,描述了插件需要连接到的各种服务类型。

类型

数组

.spec.proxy[]

描述

ConsolePluginProxy保存有关控制台后端将向其代理插件请求的各种服务类型的信息。

类型

对象

必需
  • 别名

  • 端点

属性 类型 描述

别名

字符串

alias 是一个代理名称,用于标识插件的代理。每个插件的别名应唯一。控制台后端公开以下代理端点:/api/proxy/plugin/<plugin-name>/<proxy-alias>/<request-path>?<optional-query-parameters> 请求示例路径:/api/proxy/plugin/acm/search/pods?namespace=openshift-apiserver

授权

字符串

authorization 提供有关代理请求应包含的授权类型的信息。

ca证书

字符串

如果代理的服务使用自定义服务 CA,则 caCertificate 提供证书颁发机构证书的内容。默认情况下,使用 service-ca 运算符提供的服务 CA 捆绑包。

端点

对象

endpoint 提供有关将请求代理到的端点的信息。

.spec.proxy[].endpoint

描述

endpoint 提供有关将请求代理到的端点的信息。

类型

对象

必需
  • 类型

属性 类型 描述

服务

对象

service 是插件将连接到的集群内服务。该服务必须使用 HTTPS。控制台后端公开一个端点,以便在插件和服务之间代理通信。注意:目前仅支持“服务”类型,因此 service 字段是必需的。

类型

字符串

type 是控制台插件代理的类型。目前仅支持“Service”。---

.spec.proxy[].endpoint.service

描述

service 是插件将连接到的集群内服务。该服务必须使用 HTTPS。控制台后端公开一个端点,以便在插件和服务之间代理通信。注意:目前仅支持“服务”类型,因此 service 字段是必需的。

类型

对象

必需
  • 名称

  • 命名空间

  • 端口

属性 类型 描述

名称

字符串

插件需要连接到的服务的名称。

命名空间

字符串

插件需要连接到的服务的命名空间。

端口

整数

插件需要连接到的服务正在监听的端口。

API 端点

提供以下 API 端点

  • /apis/console.openshift.io/v1/consoleplugins

    • DELETE:删除 ConsolePlugin 集合

    • GET:列出 ConsolePlugin 类型的对象

    • POST:创建一个 ConsolePlugin

  • /apis/console.openshift.io/v1/consoleplugins/{name}

    • DELETE:删除一个 ConsolePlugin

    • GET:读取指定的 ConsolePlugin

    • PATCH:部分更新指定的 ConsolePlugin

    • PUT:替换指定的 ConsolePlugin

/apis/console.openshift.io/v1/consoleplugins

HTTP 方法

DELETE

描述

删除 ConsolePlugin 集合

表 1. HTTP 响应
HTTP 代码 响应体

200 - OK

Status 模式

401 - 未授权

HTTP 方法

GET

描述

列出 ConsolePlugin 类型的对象

表 2. HTTP 响应
HTTP 代码 响应体

200 - OK

ConsolePluginList 模式

401 - 未授权

HTTP 方法

POST

描述

创建一个 ConsolePlugin

表 3. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

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

表 4. 体参数
参数 类型 描述

主体

ConsolePlugin 模式

表 5. HTTP 响应
HTTP 代码 响应体

200 - OK

ConsolePlugin 模式

201 - 已创建

ConsolePlugin 模式

202 - 已接受

ConsolePlugin 模式

401 - 未授权

/apis/console.openshift.io/v1/consoleplugins/{name}

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

名称

字符串

ConsolePlugin 的名称

HTTP 方法

DELETE

描述

删除一个 ConsolePlugin

表 7. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

表 8. HTTP 响应
HTTP 代码 响应体

200 - OK

Status 模式

202 - 已接受

Status 模式

401 - 未授权

HTTP 方法

GET

描述

读取指定的 ConsolePlugin

表 9. HTTP 响应
HTTP 代码 响应体

200 - OK

ConsolePlugin 模式

401 - 未授权

HTTP 方法

PATCH

描述

部分更新指定的 ConsolePlugin

表 10. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

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

表 11. HTTP 响应
HTTP 代码 响应体

200 - OK

ConsolePlugin 模式

401 - 未授权

HTTP 方法

PUT

描述

替换指定的 ConsolePlugin

表 12. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

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

表 13. 体参数
参数 类型 描述

主体

ConsolePlugin 模式

表 14. HTTP 响应
HTTP 代码 响应体

200 - OK

ConsolePlugin 模式

201 - 已创建

ConsolePlugin 模式

401 - 未授权