第 6 章 ConsolePlugin [console.openshift.io/v1]


描述

consolePlugin 是一个扩展,可通过从集群中运行的另一个服务动态加载代码来自定义 OpenShift Web 控制台。

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

类型
object
必填
  • metadata
  • spec

6.1. 规格

Expand
属性类型描述

apiVersion

string

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

kind

string

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

metadata

ObjectMeta

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

spec

object

spec 包含 console 插件所需的配置。

6.1.1. .spec

描述
spec 包含 console 插件所需的配置。
类型
object
必填
  • 后端
  • displayName
Expand
属性类型描述

后端

object

backend 包含提供控制台插件的后端配置。

contentSecurityPolicy

数组

contentSecurityPolicy 是插件的 Content-Security-Policy (CSP)指令列表。每个指令指定了一个适合给定指令类型的值列表,例如用于 fetch 指令的远程端点列表,如 ScriptSrc。控制台 Web 应用程序使用 CSP 来检测和缓解某些类型的攻击,如跨站点脚本(XSS)和数据注入攻击。如果需要从集群外部加载资产或者是否观察到违反报告,则动态插件应指定此字段。动态插件应始终首选在集群中加载其资产,无论是供应商,还是从集群服务中获取。在 OpenShift Web 控制台中,可以在浏览器的控制台日志中查看 CSP 违反报告。可用的指令类型有 DefaultSrc, ScriptSrc, StyleSrc, ImgSrc, FontSrc 和 ConnectSrc。每个可用的指令只能在列表中定义一次。OpenShift Web 控制台的后端,值"self"自动包含在所有获取指令中。有关 CSP 指令的详情,请参考: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy

OpenShift Web 控制台服务器在自己的默认值和所有启用的 ConsolePlugin CR 中聚合了 CSP 指令和值,将它们合并到通过 Content-Security-Policy HTTP 响应标头发送到浏览器的单个策略字符串中。

示例:ConsolePlugin A 指令:script-src: https://script1.com/, https://script2.com/ font-src: https://font1.com/

consolePlugin B 指令: script-src: https://script2.com/, https://script3.com/ font-src: https://font2.com/ img-src: https://img1.com/

传递给 OpenShift Web 控制台服务器的统一 CSP 指令集: script-src: https://script1.com/, https://script2.com/, https://script3.com/ font-src: https://font1.com/, https://font2.com/ img-src: https://img1.com/

OpenShift Web 控制台服务器 CSP 响应标头: Content-Security-Policy: default-src 'self'; base-uri 'self'; script-src 'self' https://script1.com/ https://script3.com/ ; font-src 'self' https://font1.com/ https://font2.com/; img-src 'self' https://img1.com/; style-src 'self'; frame-src 'none'; object-src 'none'

contentSecurityPolicy[]

object

ConsolePluginCSP 包含特定 CSP 指令的配置

displayName

字符串

displayName 是插件的显示名称。dispalyName 应该介于 1 到 128 个字符之间。

i18n

object

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

proxy

数组

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

proxy[]

object

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

6.1.2. .spec.backend

描述
backend 包含提供控制台插件的后端配置。
类型
object
必填
  • type
Expand
属性类型描述

service

对象

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

type

string

type 是服务器控制台插件的后端类型。目前只支持 "Service"。

6.1.3. .spec.backend.service

描述
服务是一个 Kubernetes 服务,它使用带有 HTTP 服务器的部署来公开插件。服务必须使用 HTTPS 和服务服务证书。控制台后端将使用服务 CA 捆绑包代理来自服务的插件资产。
类型
object
必填
  • name
  • namespace
  • port
Expand
属性类型描述

basePath

string

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

name

string

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

namespace

string

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

port

整数

为插件侦听的服务的端口。

6.1.4. .spec.contentSecurityPolicy

描述

contentSecurityPolicy 是插件的 Content-Security-Policy (CSP)指令列表。每个指令指定了一个适合给定指令类型的值列表,例如用于 fetch 指令的远程端点列表,如 ScriptSrc。控制台 Web 应用程序使用 CSP 来检测和缓解某些类型的攻击,如跨站点脚本(XSS)和数据注入攻击。如果需要从集群外部加载资产或者是否观察到违反报告,则动态插件应指定此字段。动态插件应始终首选在集群中加载其资产,无论是供应商,还是从集群服务中获取。在 OpenShift Web 控制台中,可以在浏览器的控制台日志中查看 CSP 违反报告。可用的指令类型有 DefaultSrc, ScriptSrc, StyleSrc, ImgSrc, FontSrc 和 ConnectSrc。每个可用的指令只能在列表中定义一次。OpenShift Web 控制台的后端,值"self"自动包含在所有获取指令中。有关 CSP 指令的详情,请参考: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy

OpenShift Web 控制台服务器在自己的默认值和所有启用的 ConsolePlugin CR 中聚合了 CSP 指令和值,将它们合并到通过 Content-Security-Policy HTTP 响应标头发送到浏览器的单个策略字符串中。

示例:ConsolePlugin A 指令:script-src: https://script1.com/, https://script2.com/ font-src: https://font1.com/

ConsolePlugin B directives:
  script-src: https://script2.com/, https://script3.com/
  font-src: https://font2.com/
  img-src: https://img1.com/
Copy to Clipboard Toggle word wrap
Unified set of CSP directives, passed to the OpenShift web console server:
  script-src: https://script1.com/, https://script2.com/, https://script3.com/
  font-src: https://font1.com/, https://font2.com/
  img-src: https://img1.com/
Copy to Clipboard Toggle word wrap
OpenShift web console server CSP response header:
  Content-Security-Policy: default-src 'self'; base-uri 'self'; script-src 'self' https://script1.com/ https://script2.com/ https://script3.com/; font-src 'self' https://font1.com/ https://font2.com/; img-src 'self' https://img1.com/; style-src 'self'; frame-src 'none'; object-src 'none'
Copy to Clipboard Toggle word wrap
类型
数组

6.1.5. .spec.contentSecurityPolicy[]

描述
ConsolePluginCSP 包含特定 CSP 指令的配置
类型
object
必填
  • 指令
  • values
Expand
属性类型描述

指令

string

指令指定要配置哪些 Content-Security-Policy 指令。可用的指令类型有 DefaultSrc, ScriptSrc, StyleSrc, ImgSrc, FontSrc 和 ConnectSrc。DefaultSrc 指令充当其他 CSP fetch 指令的回退。有关 DefaultSrc 指令的更多信息,请参阅: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/default-src ScriptSrc 指令为 JavaScript 指定有效源。有关 ScriptSrc 指令的更多信息,请参阅: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src StyleSrc 指令为风格表指定有效的源。有关 StyleSrc 指令的更多信息,请参阅: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/style-src ImgSrc 指令指定镜像和 favicons 的有效源。有关 ImgSrc 指令的更多信息,请参阅 :https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/img-src FontSrc 指令指定使用 @font-face 加载的字体的有效源。有关 FontSrc 指令的更多信息,请参阅 :https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/font-src ConnectSrc 指令限制可以使用脚本接口载入的 URL。有关 ConnectSrc 指令的详情,请参考: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/connect-src

values

数组(字符串)

值定义要附加到此指令的控制台默认值的一组值。每个 ConsolePlugin 都可以使用它们的值定义自己的指令。它们由 OpenShift Web 控制台的后端设置,作为其 Content-Security-Policy 标头的一部分。阵列最多可包含 16 个值。每个指令值必须最大长度为 1024 个字符,且不得包含空格、逗号(,)、分号(;)或单引号(')。不允许值 '*'。数组中的每个值都必须是唯一的。

6.1.6. .spec.i18n

描述
i18n 是插件本地化资源的配置。
类型
object
必填
  • loadType
Expand
属性类型描述

loadType

string

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

6.1.7. .spec.proxy

描述
proxy 是代理列表,用于描述插件需要连接到的各种服务类型。
类型
数组

6.1.8. .spec.proxy[]

描述
ConsolePluginProxy 包含有关控制台后端将代理插件请求的各种服务类型的信息。
类型
object
必填
  • alias
  • 端点
Expand
属性类型描述

alias

string

alias 是用于标识插件代理的代理名称。每个插件应具有唯一的别名名称。控制台后端公开以下代理端点:

/api/proxy/plugin/<plugin-name>/<proxy-alias>/<request-path>?<optional-query-parameters>

请求示例路径:

/api/proxy/plugin/acm/search/pods?namespace=openshift-apiserver

授权

string

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

caCertificate

string

caCertificate 提供证书颁发机构证书内容,以防代理服务使用自定义服务 CA。默认情况下使用 service-ca 操作器提供的服务 CA 捆绑包。

端点

object

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

6.1.9. .spec.proxy[].endpoint

描述
端点提供有关请求代理的端点的信息。
类型
object
必填
  • type
Expand
属性类型描述

service

object

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

type

string

type 是控制台插件的代理的类型。目前只支持 "Service"。

6.1.10. .spec.proxy[].endpoint.service

描述
Service 是一个插件将连接到的集群内服务。服务必须使用 HTTPS。控制台后端公开端点,以便代理插件和服务之间的通信。注意:现在需要 service 字段,因为目前只支持 "Service" 类型。
类型
object
必填
  • name
  • namespace
  • port
Expand
属性类型描述

name

string

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

namespace

string

插件需要连接的 Service 的命名空间

port

整数

插件需要连接的服务的端口。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat