×

您可以添加允许您自定义插件的扩展。然后,这些扩展会在运行时加载到控制台。

动态插件扩展类型

console.action/filter

ActionFilter 可用于过滤操作。

名称 值类型 可选 描述

contextId

字符串

上下文 ID 有助于将贡献的操作范围缩小到应用程序的特定区域。例如,包括topologyhelm

filter

CodeRef<(scope: any, action: Action) ⇒ boolean>

一个根据某些条件过滤操作的函数。

scope:应为此提供操作的范围。如果您想从具有水平 Pod 自动缩放器 (HPA) 的部署中删除ModifyCount 操作,则可能需要一个钩子。

console.action/group

ActionGroup 贡献一个操作组,该组也可以是子菜单。

名称 值类型 可选 描述

id

字符串

用于标识操作部分的 ID。

label

字符串

在 UI 中显示的标签。子菜单需要此项。

submenu

布尔值

此组是否应显示为子菜单。

insertBefore

字符串 | 字符串数组

在此处引用的项目之前插入此项目。对于数组,按顺序找到的第一个项目将被使用。

insertAfter

字符串 | 字符串数组

在此处引用的项目之后插入此项目。对于数组,按顺序找到的第一个项目将被使用。insertBefore 值优先。

console.action/provider

ActionProvider 贡献一个钩子,该钩子返回特定上下文的动作列表。

名称 值类型 可选 描述

contextId

字符串

上下文 ID 有助于将贡献的操作范围缩小到应用程序的特定区域。例如,包括topologyhelm

provider

CodeRef<ExtensionHook<Action[], any>>

一个返回给定范围操作的 React 钩子。如果contextId = resource,则范围始终为 Kubernetes 资源对象。

console.action/resource-provider

ResourceActionProvider 贡献一个钩子,该钩子返回特定资源模型的操作列表。

名称 值类型 可选 描述

model

ExtensionK8sKindVersionModel

此提供程序为此提供操作的模型。

provider

CodeRef<ExtensionHook<Action[], any>>

一个返回给定资源模型操作的 react 钩子

console.alert-action

此扩展程序可用于在基于其rule.name 值的控制台观察到特定 Prometheus 警报时触发特定操作。

名称 值类型 可选 描述

alert

字符串

alert.rule.name 属性定义的警报名称

text

字符串

action

CodeRef<(alert: any) ⇒ void>

执行副作用的函数

console.catalog/item-filter

此扩展程序可用于插件来贡献一个可以过滤特定目录项目的处理程序。例如,插件可以贡献一个过滤器,该过滤器可以过滤来自特定提供程序的 helm 图表。

名称 值类型 可选 描述

catalogId

字符串 | 字符串数组

此提供程序贡献到的目录的唯一标识符。

type

字符串

目录项目类型的类型 ID。

filter

CodeRef<(item: CatalogItem) ⇒ boolean>

过滤特定类型的项目。值是一个函数,它接收CatalogItem[] 并根据过滤条件返回一个子集。

console.catalog/item-metadata

此扩展程序可用于贡献一个提供程序,该提供程序可向特定目录项目添加额外的元数据。

名称 值类型 可选 描述

catalogId

字符串 | 字符串数组

此提供程序贡献到的目录的唯一标识符。

type

字符串

目录项目类型的类型 ID。

provider

CodeRef<ExtensionHook<CatalogItemMetadataProviderFunction, CatalogExtensionHookOptions>>

一个钩子,它返回一个函数,该函数将用于向特定类型的目录项目提供元数据。

console.catalog/item-provider

此扩展程序允许插件为目录项目类型贡献提供程序。例如,Helm 插件可以添加一个提供程序,该提供程序获取所有 Helm 图表。此扩展程序也可以被其他插件用于向特定目录项目类型添加更多项目。

名称 值类型 可选 描述

catalogId

字符串 | 字符串数组

此提供程序贡献到的目录的唯一标识符。

type

字符串

目录项目类型的类型 ID。

title

字符串

目录项目提供程序的标题

provider

CodeRef<ExtensionHook<CatalogItem<any>[], CatalogExtensionHookOptions>>

获取项目并为目录规范化它。值是一个 react effect 钩子。

priority

数字

此提供程序的优先级。默认为0。较高优先级的提供程序可能会覆盖其他提供程序提供的目录项目。

console.catalog/item-type

此扩展程序允许插件贡献一种新的目录项目类型。例如,Helm 插件可以将新的目录项目类型定义为 HelmCharts,它希望贡献给开发者目录。

名称 值类型 可选 描述

type

字符串

目录项目的类型。

title

字符串

目录项目的标题。

catalogDescription

字符串 | CodeRef<React.ReactNode>

特定类型的目录的描述。

typeDescription

字符串

目录项目类型的描述。

filters

CatalogItemAttribute[]

特定于目录项目的自定义过滤器。

groupings

CatalogItemAttribute[]

特定于目录项目的自定义分组。

console.catalog/item-type-metadata

此扩展程序允许插件为任何目录项目类型贡献额外的元数据,例如自定义过滤器或分组。例如,插件可以附加一个自定义过滤器,用于基于图表提供程序过滤 HelmCharts。

名称 值类型 可选 描述

type

字符串

目录项目的类型。

filters

CatalogItemAttribute[]

特定于目录项目的自定义过滤器。

groupings

CatalogItemAttribute[]

特定于目录项目的自定义分组。

console.cluster-overview/inventory-item

将新的库存项目添加到集群概述页面。

名称 值类型 可选 描述

component

CodeRef<React.ComponentType<{}>>

要呈现的组件。

console.cluster-overview/multiline-utilization-item

添加新的集群概述多行利用率项目。

名称 值类型 可选 描述

title

字符串

利用率项目的标题。

getUtilizationQueries

CodeRef<GetMultilineQueries>

Prometheus 利用率查询。

人性化显示

CodeRef<Humanize>

将 Prometheus 数据转换为人类可读的形式。

TopConsumerPopovers

CodeRef<React.ComponentType<TopConsumerPopoverProps>[]>

显示 Top consumer 弹出框而不是纯值。

console.cluster-overview/utilization-item

添加一个新的集群概览利用率项。

名称 值类型 可选 描述

title

字符串

利用率项目的标题。

getUtilizationQuery

CodeRef<GetQuery>

Prometheus 利用率查询。

人性化显示

CodeRef<Humanize>

将 Prometheus 数据转换为人类可读的形式。

getTotalQuery

CodeRef<GetQuery>

Prometheus 总计查询。

getRequestQuery

CodeRef<GetQuery>

Prometheus 请求查询。

getLimitQuery

CodeRef<GetQuery>

Prometheus 限制查询。

TopConsumerPopover

CodeRef<React.ComponentType<TopConsumerPopoverProps>>

显示 Top consumer 弹出框而不是纯值。

console.context-provider

向 Web 控制台应用程序根目录添加新的 React 上下文提供程序。

名称 值类型 可选 描述

provider

CodeRef<Provider<T>>

上下文提供程序组件。

useValueHook

CodeRef<() ⇒ T>

上下文值的 Hook。

console.dashboards/card

添加一个新的仪表盘卡片。

名称 值类型 可选 描述

tab

字符串

将卡片添加到其中的仪表盘选项卡的 ID。

position

'LEFT' | 'RIGHT' | 'MAIN'

卡片在仪表盘上的网格位置。

component

CodeRef<React.ComponentType<{}>>

仪表盘卡片组件。

span

OverviewCardSpan

卡片在列中的垂直跨度。小屏幕上忽略;默认为12

console.dashboards/custom/overview/detail/item

向概览仪表盘的详细信息卡片添加一项。

名称 值类型 可选 描述

title

字符串

详细信息卡片标题

component

CodeRef<React.ComponentType<{}>>

由 OverviewDetailItem 组件呈现的值

valueClassName

字符串

className 的值

isLoading

CodeRef<() ⇒ boolean>

返回组件加载状态的函数

error

CodeRef<() ⇒ string>

返回组件要显示的错误的函数

console.dashboards/overview/activity/resource

向概览仪表盘的活动卡片添加一项活动,其中活动的触发基于监视 Kubernetes 资源。

名称 值类型 可选 描述

k8sResource

CodeRef<FirehoseResource & { isList: true; }>

要替换的利用率项。

component

CodeRef<React.ComponentType<K8sActivityProps<T>>>

动作组件。

isActivity

CodeRef<(resource: T) ⇒ boolean>

确定给定资源是否表示该操作的函数。如果未定义,则每个资源都表示活动。

getTimestamp

CodeRef<(resource: T) ⇒ Date>

给定操作的时间戳,将用于排序。

console.dashboards/overview/health/operator

向**概览**仪表盘的状态卡片添加一个健康子系统,其中状态来源是 Kubernetes REST API。

名称 值类型 可选 描述

title

字符串

弹出菜单中“操作员”部分的标题。

resources

CodeRef<FirehoseResource[]>

将被获取并传递给healthHandler的 Kubernetes 资源。

getOperatorsWithStatuses

CodeRef<GetOperatorsWithStatuses<T>>

解析操作员的状态。

operatorRowLoader

CodeRef<React.ComponentType<OperatorRowProps<T>>>

弹出窗口行组件的加载程序。

viewAllLink

字符串

指向所有资源页面的链接。如果未提供,则使用 resources 属性中第一个资源的列表页面。

console.dashboards/overview/health/prometheus

向概览仪表盘的状态卡片添加一个健康子系统,其中状态来源是 Prometheus。

名称 值类型 可选 描述

title

字符串

子系统的显示名称。

queries

string[]

Prometheus 查询。

healthHandler

CodeRef<PrometheusHealthHandler>

解析子系统的健康状况。

additionalResource

CodeRef<FirehoseResource>

将被获取并传递给healthHandler的附加资源。

popupComponent

CodeRef<React.ComponentType<PrometheusHealthPopupProps>>

弹出菜单内容的加载程序。如果已定义,则健康项将表示为链接,该链接将打开一个包含给定内容的弹出菜单。

popupTitle

字符串

弹出框的标题。

disallowedControlPlaneTopology

string[]

应隐藏子系统的控制平面拓扑。

console.dashboards/overview/health/resource

向概览仪表盘的状态卡片添加一个健康子系统,其中状态来源是 Kubernetes 资源。

名称 值类型 可选 描述

title

字符串

子系统的显示名称。

resources

CodeRef<WatchK8sResources<T>>

将被获取并传递给healthHandler的 Kubernetes 资源。

healthHandler

CodeRef<ResourceHealthHandler<T>>

解析子系统的健康状况。

popupComponent

CodeRef<WatchK8sResults<T>>

弹出菜单内容的加载程序。如果已定义,则健康项将表示为链接,该链接将打开一个包含给定内容的弹出菜单。

popupTitle

字符串

弹出框的标题。

console.dashboards/overview/health/url

向概览仪表盘的状态卡片添加一个健康子系统,其中状态来源是 Kubernetes REST API。

名称 值类型 可选 描述

title

字符串

子系统的显示名称。

url

字符串

从中获取数据的 URL。它将以基本的 Kubernetes URL 为前缀。

healthHandler

CodeRef<URLHealthHandler<T, K8sResourceCommon | K8sResourceCommon[]>>

解析子系统的健康状况。

additionalResource

CodeRef<FirehoseResource>

将被获取并传递给healthHandler的附加资源。

popupComponent

CodeRef<React.ComponentType<{ healthResult?: T; healthResultError?: any; k8sResult?: FirehoseResult<R>; }>>

弹出内容的加载程序。如果已定义,则健康项将表示为链接,该链接将打开包含给定内容的弹出窗口。

popupTitle

字符串

弹出框的标题。

console.dashboards/overview/inventory/item

向概览库存卡片添加资源磁贴。

名称 值类型 可选 描述

model

CodeRef<T>

将被获取的resource的模型。用于获取模型的labelabbr

mapper

CodeRef<StatusGroupMapper<T, R>>

将各种状态映射到组的函数。

additionalResources

CodeRef<WatchK8sResources<R>>

将被获取并传递给mapper函数的附加资源。

console.dashboards/overview/inventory/item/group

添加一个库存状态组。

名称 值类型 可选 描述

id

字符串

状态组的 ID。

icon

CodeRef<React.ReactElement<any, string | React.JSXElementConstructor<any>>>

表示状态组图标的 React 组件。

console.dashboards/overview/inventory/item/replacement

替换概览库存卡片。

名称 值类型 可选 描述

model

CodeRef<T>

将被获取的resource的模型。用于获取模型的labelabbr

mapper

CodeRef<StatusGroupMapper<T, R>>

将各种状态映射到组的函数。

additionalResources

CodeRef<WatchK8sResources<R>>

将被获取并传递给mapper函数的附加资源。

console.dashboards/overview/prometheus/activity/resource

向 Prometheus 概览仪表盘的活动卡片添加一项活动,其中活动的触发基于监视 Kubernetes 资源。

名称 值类型 可选 描述

queries

string[]

要监视的查询。

component

CodeRef<React.ComponentType<PrometheusActivityProps>>

动作组件。

isActivity

CodeRef<(results: PrometheusResponse[]) ⇒ boolean>

确定给定资源是否表示该操作的函数。如果未定义,则每个资源都表示活动。

console.dashboards/project/overview/item

向项目概览库存卡片添加资源磁贴。

名称 值类型 可选 描述

model

CodeRef<T>

将被获取的resource的模型。用于获取模型的labelabbr

mapper

CodeRef<StatusGroupMapper<T, R>>

将各种状态映射到组的函数。

additionalResources

CodeRef<WatchK8sResources<R>>

将被获取并传递给mapper函数的附加资源。

console.dashboards/tab

添加一个新的仪表盘选项卡,放在**概览**选项卡之后。

名称 值类型 可选 描述

id

字符串

唯一的选项卡标识符,用作选项卡链接href以及向此选项卡添加卡片时使用。

navSection

'home' | 'storage'

选项卡所属的导航部分。

title

字符串

选项卡的标题。

console.file-upload

此扩展程序可用于为特定文件扩展名上的文件拖放操作提供处理程序。

名称 值类型 可选 描述

fileExtensions

string[]

支持的文件扩展名。

handler

CodeRef<FileUploadHandler>

处理文件拖放操作的函数。

console.flag

完全控制 Web 控制台功能标志。

名称 值类型 可选 描述

handler

CodeRef<FeatureFlagHandler>

用于设置或取消设置任意功能标志。

console.flag/hookProvider

使用hook处理器完全控制Web控制台的功能标志。

名称 值类型 可选 描述

handler

CodeRef<FeatureFlagHandler>

用于设置或取消设置任意功能标志。

console.flag/model

添加一个新的Web控制台功能标志,该标志由集群上CustomResourceDefinition (CRD) 对象的存在驱动。

名称 值类型 可选 描述

flag

字符串

检测到CRD后要设置的标志名称。

model

ExtensionK8sModel

引用CRD的模型。

console.global-config

此扩展标识用于管理集群配置的资源。指向该资源的链接将添加到**管理** → **集群设置** → **配置**页面。

名称 值类型 可选 描述

id

字符串

集群配置资源实例的唯一标识符。

name

字符串

集群配置资源实例的名称。

model

ExtensionK8sModel

引用集群配置资源的模型。

namespace

字符串

集群配置资源实例的命名空间。

console.model-metadata

通过覆盖通过API发现检索和生成的数值来自定义模型的显示。

名称 值类型 可选 描述

model

ExtensionK8sGroupModel

要自定义的模型。可以只指定一个组,或者可选的版本和种类。

badge

ModelBadge

是否将此模型引用视为技术预览版或开发者预览版。

color

字符串

与此模型关联的颜色。

label

字符串

覆盖标签。需要提供kind

labelPlural

字符串

覆盖复数标签。需要提供kind

abbr

字符串

自定义缩写。默认为kind中的所有大写字符,最多4个字符。需要提供kind

console.navigation/href

此扩展可用于贡献一个指向UI中特定链接的导航项。

名称 值类型 可选 描述

id

字符串

此项的唯一标识符。

name

字符串

此项的名称。

href

字符串

链接href值。

perspective

字符串

此项所属的视角ID。如果未指定,则贡献给默认视角。

section

字符串

此项所属的导航部分。如果未指定,则将此项呈现为顶级链接。

dataAttributes

{ [key: string]: string; }

向DOM添加数据属性。

startsWith

string[]

当URL以这些路径之一开头时,将此项标记为活动状态。

insertBefore

字符串 | 字符串数组

在此处引用的项目之前插入此项目。对于数组,按顺序找到的第一个项目将被使用。

insertAfter

字符串 | 字符串数组

在此处引用的项之后插入此项。对于数组,按顺序找到的第一个将被使用。insertBefore优先。

namespaced

布尔值

如果为true,则在末尾添加/ns/active-namespace

prefixNamespaced

布尔值

如果为true,则在开头添加/k8s/ns/active-namespace

console.navigation/resource-cluster

此扩展可用于贡献一个指向集群资源详细信息页面的导航项。该资源的K8s模型可用于定义导航项。

名称 值类型 可选 描述

id

字符串

此项的唯一标识符。

model

ExtensionK8sModel

此导航项链接到的模型。

perspective

字符串

此项所属的视角ID。如果未指定,则贡献给默认视角。

section

字符串

此项所属的导航部分。如果未指定,则将此项呈现为顶级链接。

dataAttributes

{ [key: string]: string; }

向DOM添加数据属性。

startsWith

string[]

当URL以这些路径之一开头时,将此项标记为活动状态。

insertBefore

字符串 | 字符串数组

在此处引用的项目之前插入此项目。对于数组,按顺序找到的第一个项目将被使用。

insertAfter

字符串 | 字符串数组

在此处引用的项之后插入此项。对于数组,按顺序找到的第一个将被使用。insertBefore优先。

name

字符串

覆盖默认名称。如果未提供,链接的名称将等于模型的复数形式。

console.navigation/resource-ns

此扩展可用于贡献一个指向命名空间资源详细信息页面的导航项。该资源的K8s模型可用于定义导航项。

名称 值类型 可选 描述

id

字符串

此项的唯一标识符。

model

ExtensionK8sModel

此导航项链接到的模型。

perspective

字符串

此项所属的视角ID。如果未指定,则贡献给默认视角。

section

字符串

此项所属的导航部分。如果未指定,则将此项呈现为顶级链接。

dataAttributes

{ [key: string]: string; }

向DOM添加数据属性。

startsWith

string[]

当URL以这些路径之一开头时,将此项标记为活动状态。

insertBefore

string | string[]

在此处引用的项目之前插入此项目。对于数组,按顺序找到的第一个项目将被使用。

insertAfter

字符串 | 字符串数组

在此处引用的项之后插入此项。对于数组,按顺序找到的第一个将被使用。insertBefore优先。

name

字符串

覆盖默认名称。如果未提供,链接的名称将等于模型的复数形式。

console.navigation/section

此扩展可用于在导航选项卡中定义新的导航项部分。

名称 值类型 可选 描述

id

字符串

此项的唯一标识符。

perspective

字符串

此项所属的视角ID。如果未指定,则贡献给默认视角。

dataAttributes

{ [key: string]: string; }

向DOM添加数据属性。

insertBefore

字符串 | 字符串数组

在此处引用的项目之前插入此项目。对于数组,按顺序找到的第一个项目将被使用。

insertAfter

字符串 | 字符串数组

在此处引用的项之后插入此项。对于数组,按顺序找到的第一个将被使用。insertBefore优先。

name

字符串

此部分的名称。如果未提供,则只会在该部分上方显示分隔符。

console.navigation/separator

此扩展可用于在导航中的导航项之间添加分隔符。

名称 值类型 可选 描述

id

字符串

此项的唯一标识符。

perspective

字符串

此项所属的视角ID。如果未指定,则贡献给默认视角。

section

字符串

此项所属的导航部分。如果未指定,则将此项呈现为顶级链接。

dataAttributes

{ [key: string]: string; }

向DOM添加数据属性。

insertBefore

字符串 | 字符串数组

在此处引用的项目之前插入此项目。对于数组,按顺序找到的第一个项目将被使用。

insertAfter

字符串 | 字符串数组

在此处引用的项之后插入此项。对于数组,按顺序找到的第一个将被使用。insertBefore优先。

console.page/resource/details

名称 值类型 可选 描述

model

ExtensionK8sGroupKindModel

此资源页面链接到的模型。

component

CodeRef<React.ComponentType<{ match: match<{}>; namespace: string; model: ExtensionK8sModel; }>>

当路由匹配时要渲染的组件。

console.page/resource/list

向控制台路由器添加新的资源列表页面。

名称 值类型 可选 描述

model

ExtensionK8sGroupKindModel

此资源页面链接到的模型。

component

CodeRef<React.ComponentType<{ match: match<{}>; namespace: string; model: ExtensionK8sModel; }>>

当路由匹配时要渲染的组件。

console.page/route

向Web控制台路由器添加一个新页面。请参阅React Router

名称 值类型 可选 描述

component

CodeRef<React.ComponentType<RouteComponentProps<{}, StaticContext, any>>>

当路由匹配时要渲染的组件。

path

字符串 | 字符串数组

path-to-regexp@^1.7.0理解的有效URL路径或路径数组。

perspective

字符串

此页面所属的视角。如果未指定,则贡献给所有视角。

exact

布尔值

如果为true,则只有当路径完全匹配location.pathname时才匹配。

console.page/route/standalone

向Web控制台路由器添加一个新的独立页面,该页面在公共页面布局之外渲染。请参阅React Router

名称 值类型 可选 描述

component

CodeRef<React.ComponentType<RouteComponentProps<{}, StaticContext, any>>>

当路由匹配时要渲染的组件。

path

字符串 | 字符串数组

path-to-regexp@^1.7.0理解的有效URL路径或路径数组。

exact

布尔值

如果为true,则只有当路径完全匹配location.pathname时才匹配。

console.perspective

此扩展为控制台贡献了一个新的视角,这使得可以自定义导航菜单。

名称 值类型 可选 描述

id

字符串

视角标识符。

name

字符串

视角显示名称。

icon

CodeRef<LazyComponent>

视角显示图标。

landingPageURL

CodeRef<(flags: { [key: string]: boolean; }, isFirstVisit: boolean) ⇒ string>

获取视角登录页面URL的函数。

importRedirectURL

CodeRef<(namespace: string) ⇒ string>

获取导入流程重定向URL的函数。

default

布尔值

视角是否为默认视角。只能有一个默认视角。

defaultPins

ExtensionK8sModel[]

导航中默认固定的资源

usePerspectiveDetection

CodeRef<() ⇒ [boolean, boolean]>

检测默认视角的hook

console.project-overview/inventory-item

向**项目概述**页面添加一个新的清单项。

名称 值类型 可选 描述

component

CodeRef<React.ComponentType<{ projectName: string; }>>

要呈现的组件。

console.project-overview/utilization-item

添加一个新的项目概述利用率项。

名称 值类型 可选 描述

title

字符串

利用率项目的标题。

getUtilizationQuery

CodeRef<GetProjectQuery>

Prometheus 利用率查询。

人性化显示

CodeRef<Humanize>

将 Prometheus 数据转换为人类可读的形式。

getTotalQuery

CodeRef<GetProjectQuery>

Prometheus 总计查询。

getRequestQuery

CodeRef<GetProjectQuery>

Prometheus 请求查询。

getLimitQuery

CodeRef<GetProjectQuery>

Prometheus 限制查询。

TopConsumerPopover

CodeRef<React.ComponentType<TopConsumerPopoverProps>>

显示顶部使用者弹出窗口而不是普通值。

console.pvc/alert

此扩展可用于在PVC详细信息页面上贡献自定义警报。

名称 值类型 可选 描述

alert

CodeRef<React.ComponentType<{ pvc: K8sResourceCommon; }>>

警报组件。

console.pvc/create-prop

此扩展可用于指定在PVC列表页面上创建PVC资源时将使用的附加属性。

名称 值类型 可选 描述

label

字符串

创建属性操作的标签。

path

字符串

创建属性操作的路径。

console.pvc/delete

此扩展允许挂钩删除PVC资源。它可以提供包含附加信息和自定义PVC删除逻辑的警报。

名称 值类型 可选 描述

predicate

CodeRef<(pvc: K8sResourceCommon) ⇒ boolean>

判断是否使用扩展的谓词。

onPVCKill

CodeRef<(pvc: K8sResourceCommon) ⇒ Promise<void>>

PVC删除操作的方法。

alert

CodeRef<React.ComponentType<{ pvc: K8sResourceCommon; }>>

显示附加信息的警报组件。

console.pvc/status

名称 值类型 可选 描述

priority

数字

状态组件的优先级。值越大,优先级越高。

status

CodeRef<React.ComponentType<{ pvc: K8sResourceCommon; }>>

状态组件。

predicate

CodeRef<(pvc: K8sResourceCommon) ⇒ boolean>

谓词,用于判断是否渲染状态组件。

console.redux-reducer

向控制台 Redux 存储添加新的 reducer,该 reducer 作用于plugins.<scope>子状态。

名称 值类型 可选 描述

scope

字符串

表示 Redux 状态对象中 reducer 管理的子状态的键。

reducer

CodeRef<Reducer<any, AnyAction>>

reducer 函数,作用于 reducer 管理的子状态。

console.resource/create

此扩展允许插件为特定资源提供自定义组件(例如,向导或表单),当用户尝试创建新的资源实例时,将渲染该组件。

名称 值类型 可选 描述

model

ExtensionK8sModel

将为此创建资源页面渲染的模型。

component

CodeRef<React.ComponentType<CreateResourceComponentProps>>

模型匹配时要渲染的组件。

console.resource/details-item

向详细信息页面上的默认资源摘要添加新的详细信息项。

名称 值类型 可选 描述

model

ExtensionK8sModel

主题资源的 API 组、版本和种类。

id

字符串

唯一标识符。

column

DetailsItemColumn

确定项目是否会出现在详细信息页面上资源摘要的“左侧”或“右侧”列中。默认值:“右侧”

title

字符串

详细信息项标题。

path

字符串

可选的,资源属性的完全限定路径,用作详细信息项的值。只有基本类型值可以直接渲染。使用 component 属性处理其他数据类型。

component

CodeRef<React.ComponentType<DetailsItem ComponentProps<K8sResourceCommon, any>>>

一个可选的 React 组件,用于渲染详细信息项的值。

sortWeight

数字

可选的排序权重,相对于同一列中的所有其他详细信息项。由任何有效的JavaScript 数字表示。每列中的项目独立排序,从低到高。没有排序权重的项目在有排序权重的项目之后排序。

console.storage-class/provisioner

在创建存储类期间添加新的存储类供应程序作为选项。

名称 值类型 可选 描述

CSI

ProvisionerDetails

容器存储接口供应程序类型。

OTHERS

ProvisionerDetails

其他供应程序类型。

console.storage-provider

此扩展可用于贡献一个新的存储提供程序进行选择,用于附加存储和提供程序特定组件。

名称 值类型 可选 描述

name

字符串

提供程序的显示名称。

Component

CodeRef<React.ComponentType<Partial<RouteComponentProps<{}, StaticContext, any>>>>

要渲染的提供程序特定组件。

console.tab

向与contextId匹配的水平导航栏添加一个选项卡。

名称 值类型 可选 描述

contextId

字符串

分配给将注入选项卡的水平导航栏的上下文 ID。可能的值:dev-console-observe

name

字符串

选项卡的显示标签。

href

字符串

附加到现有 URL 的href

component

CodeRef<React.ComponentType<PageComponentProps<K8sResourceCommon>>>

选项卡内容组件。

console.tab/horizontalNav

此扩展可用于在资源详细信息页面上添加选项卡。

名称 值类型 可选 描述

model

ExtensionK8sKindVersionModel

此提供程序显示选项卡的模型。

page

{ name: string; href: string; }

要在水平选项卡中显示的页面。它将选项卡名称作为 name 和选项卡的 href。

component

CodeRef<React.ComponentType<PageComponentProps<K8sResourceCommon>>>

当路由匹配时要渲染的组件。

console.telemetry/listener

此组件可用于注册接收遥测事件的侦听器函数。这些事件包括用户识别、页面导航和其他应用程序特定事件。侦听器可以使用此数据进行报告和分析。

名称 值类型 可选 描述

listener

CodeRef<TelemetryEventListener>

侦听遥测事件。

console.topology/adapter/build

BuildAdapter 提供一个适配器,用于将元素适配为构建组件可用的数据。

名称 值类型 可选 描述

adapt

CodeRef<(element: GraphElement) ⇒ AdapterDataType<BuildConfigData> | undefined>

用于将元素适配为构建组件可用的数据的适配器。

console.topology/adapter/network

NetworkAdapater 提供一个适配器,用于将元素适配为Networking组件可用的数据。

名称 值类型 可选 描述

adapt

CodeRef<(element: GraphElement) ⇒ NetworkAdapterType | undefined>

用于将元素适配为网络组件可用的数据的适配器。

console.topology/adapter/pod

PodAdapter 提供一个适配器,用于将元素适配为Pod组件可用的数据。

名称 值类型 可选 描述

adapt

CodeRef<(element: GraphElement) ⇒ AdapterDataType<PodsAdapterDataType> | undefined>

用于将元素适配为 Pod 组件可用的数据的适配器。

console.topology/component/factory

ViewComponentFactory 的 Getter。

名称 值类型 可选 描述

getFactory

CodeRef<ViewComponentFactory>

ViewComponentFactory 的 Getter。

console.topology/create/connector

创建连接器函数的 Getter。

名称 值类型 可选 描述

getCreateConnector

CodeRef<CreateConnectionGetter>

创建连接器函数的 Getter。

console.topology/data/factory

拓扑数据模型工厂扩展。

名称 值类型 可选 描述

id

字符串

工厂的唯一 ID。

priority

数字

工厂的优先级。

resources

WatchK8sResourcesGeneric

要从useK8sWatchResources钩子中获取的资源。

workloadKeys

string[]

资源中包含工作负载的键。

getDataModel

CodeRef<TopologyDataModelGetter>

数据模型工厂的 Getter。

isResourceDepicted

CodeRef<TopologyDataModelDepicted>

用于确定此模型工厂是否描绘资源的函数的 Getter。

getDataModelReconciler

CodeRef<TopologyDataModelReconciler>

用于在所有扩展的模型加载后协调数据模型的函数的 Getter。

console.topology/decorator/provider

拓扑装饰器提供程序扩展。

名称 值类型 可选 描述

id

字符串

特定于扩展的拓扑装饰器的 ID。

priority

数字

特定于扩展的拓扑装饰器的优先级。

quadrant

TopologyQuadrant

特定于扩展的拓扑装饰器的象限。

decorator

CodeRef<TopologyDecoratorGetter>

特定于扩展的装饰器。

console.topology/details/resource-alert

DetailsResourceAlert 为特定拓扑上下文或图形元素提供警报。

名称 值类型 可选 描述

id

字符串

此警报的 ID。如果在关闭后不应显示警报,则用于保存状态。

contentProvider

CodeRef<(element: GraphElement) ⇒ DetailsResourceAlertContent | null>

用于返回警报内容的钩子。

DetailsResourceLink 为特定拓扑上下文或图形元素提供链接。

名称 值类型 可选 描述

link

CodeRef<(element: GraphElement) ⇒ React.Component | undefined>

如果提供资源链接,则返回该链接,否则返回 undefined。使用ResourceIconResourceLink属性进行样式设置。

priority

数字

优先级较高的工厂将获得第一个创建链接的机会。

console.topology/details/tab

DetailsTab 为拓扑详细信息面板提供选项卡。

名称 值类型 可选 描述

id

字符串

此详细信息选项卡的唯一标识符。

label

字符串

要在 UI 中显示的选项卡标签。

insertBefore

字符串 | 字符串数组

在此处引用的项目之前插入此项目。对于数组,按顺序找到的第一个项目将被使用。

insertAfter

字符串 | 字符串数组

在此处引用的项目之后插入此项目。对于数组,按顺序找到的第一个项目将被使用。insertBefore 值优先。

console.topology/details/tab-section

DetailsTabSection 为拓扑详细信息面板中的特定选项卡提供部分。

名称 值类型 可选 描述

id

字符串

此详细信息选项卡部分的唯一标识符。

tab

字符串

此部分应贡献到的父选项卡 ID。

provider

CodeRef<DetailsTabSectionExtensionHook>

返回组件的钩子,如果为 null 或 undefined,则在拓扑侧边栏中渲染。SDK 组件:<Section title=\{}>…​填充区域。

section

CodeRef<(element: GraphElement, renderNull?: () ⇒ null) ⇒ React.Component | undefined>

已弃用:如果没有定义提供程序,则为回退。renderNull 已经是无操作。

insertBefore

字符串 | 字符串数组

在此处引用的项目之前插入此项目。对于数组,按顺序找到的第一个项目将被使用。

insertAfter

字符串 | 字符串数组

在此处引用的项目之后插入此项目。对于数组,按顺序找到的第一个项目将被使用。insertBefore 值优先。

console.topology/display/filters

拓扑显示过滤器扩展。

名称 值类型 可选 描述

getTopologyFilters

CodeRef<() ⇒ TopologyDisplayOption[]>

获取扩展程序特有的拓扑过滤器

applyDisplayOptions

CodeRef<TopologyApplyDisplayOptions>

应用过滤器到模型的函数

console.topology/relationship/provider

拓扑关系提供程序连接器扩展

名称 值类型 可选 描述

provides

CodeRef<RelationshipProviderProvides>

用于确定是否可以在源节点和目标节点之间创建连接

tooltip

字符串

连接器操作悬停在放置目标上时显示的工具提示,例如,“创建可视连接”

create

CodeRef<RelationshipProviderCreate>

连接器放置在目标节点上以创建连接时执行的回调函数

priority

数字

关系的优先级,多个关系时,优先级越高者优先

console.user-preference/group

此扩展程序可用于在控制台用户偏好设置页面添加一个分组。它将作为控制台用户偏好设置页面上的一个垂直选项卡显示。

名称 值类型 可选 描述

id

字符串

用于标识用户偏好设置分组的 ID。

label

字符串

用户偏好设置分组的标签

insertBefore

字符串

此分组之前应放置的用户偏好设置分组的 ID

insertAfter

字符串

此分组之后应放置的用户偏好设置分组的 ID

console.user-preference/item

此扩展程序可用于向控制台用户偏好设置页面上的用户偏好设置分组添加一项。

名称 值类型 可选 描述

id

字符串

用于标识用户偏好设置项的 ID,并在 insertAfter 和 insertBefore 中引用以定义项顺序

label

字符串

用户偏好设置的标签

description

字符串

用户偏好设置的描述

field

UserPreferenceField

用于渲染值以设置用户偏好设置的输入字段选项

groupId

字符串

用于标识该项所属的用户偏好设置分组的 ID

insertBefore

字符串

此项之前应放置的用户偏好设置项的 ID

insertAfter

字符串

此项之后应放置的用户偏好设置项的 ID

console.yaml-template

用于通过 YAML 编辑器编辑资源的 YAML 模板。

名称 值类型 可选 描述

model

ExtensionK8sModel

与模板关联的模型。

template

CodeRef<string>

YAML 模板。

name

字符串

模板的名称。使用名称 default 将其标记为默认模板。

dev-console.add/action

此扩展程序允许插件向开发者视角的添加页面贡献一个添加操作项。例如,Serverless 插件可以添加一个新的操作项,用于向开发者控制台的添加页面添加 Serverless 函数。

名称 值类型 可选 描述

id

字符串

用于标识操作的 ID。

label

字符串

操作的标签。

description

字符串

操作的描述。

href

字符串

要导航到的 href

groupId

字符串

用于标识操作所属的操作分组的 ID。

icon

CodeRef<React.ReactNode>

视角显示图标。

accessReview

AccessReviewResourceAttributes[]

可选访问审查,用于控制操作的可见性或启用状态。

dev-console.add/action-group

此扩展程序允许插件在开发者控制台的添加页面贡献一个分组。分组可以被操作引用,这些操作将根据其扩展定义在添加操作页面中分组在一起。例如,Serverless 插件可以贡献一个 Serverless 分组以及多个添加操作。

名称 值类型 可选 描述

id

字符串

用于标识操作分组的 ID

name

字符串

操作分组的标题

insertBefore

字符串

此分组之前应放置的操作分组的 ID

insertAfter

字符串

此分组之后应放置的操作分组的 ID

dev-console.import/environment

此扩展程序可用于在开发者控制台 Git 导入表单的构建器镜像选择器下指定额外的构建环境变量字段。设置后,这些字段将覆盖构建部分中同名环境变量。

名称 值类型 可选 描述

imageStreamName

字符串

要为其提供自定义环境变量的镜像流的名称

imageStreamTags

string[]

支持的镜像流标签列表

environments

ImageEnvironment[]

环境变量列表

console.dashboards/overview/detail/item

已弃用。请改用 CustomOverviewDetailItem 类型

名称 值类型 可选 描述

component

CodeRef<React.ComponentType<{}>>

基于 DetailItem 组件的值

console.page/resource/tab

已弃用。请改用 console.tab/horizontalNav。向控制台路由器添加新的资源选项卡页面。

名称 值类型 可选 描述

model

ExtensionK8sGroupKindModel

此资源页面链接到的模型。

component

CodeRef<React.ComponentType<RouteComponentProps<{}, StaticContext, any>>>

当路由匹配时要渲染的组件。

name

字符串

选项卡的名称。

href

字符串

选项卡链接的可选 href。如果未提供,则使用第一个 path

exact

布尔值

如果为true,则只有当路径完全匹配location.pathname时才匹配。

动态插件 API

useActivePerspective

提供当前活动视角和用于设置活动视角的回调函数的钩子。它返回一个包含当前活动视角和设置器回调的元组。

示例
const Component: React.FC = (props) => {
   const [activePerspective, setActivePerspective] = useActivePerspective();
   return <select
     value={activePerspective}
     onChange={(e) => setActivePerspective(e.target.value)}
   >
     {
       // ...perspective options
     }
   </select>
}

GreenCheckCircleIcon

用于显示绿色勾号圆圈图标的组件。

示例
<GreenCheckCircleIcon title="Healthy" />
参数名称 描述

className

(可选) 组件的附加类名

title

(可选) 图标标题

size

(可选) 图标大小:(smmdlgxl)

RedExclamationCircleIcon

用于显示红色感叹号圆圈图标的组件。

示例
<RedExclamationCircleIcon title="Failed" />
参数名称 描述

className

(可选) 组件的附加类名

title

(可选) 图标标题

size

(可选) 图标大小:(smmdlgxl)

YellowExclamationTriangleIcon

用于显示黄色三角形感叹号图标的组件。

示例
<YellowExclamationTriangleIcon title="Warning" />
参数名称 描述

className

(可选) 组件的附加类名

title

(可选) 图标标题

size

(可选) 图标大小:(smmdlgxl)

BlueInfoCircleIcon

用于显示蓝色信息圆圈图标的组件。

示例
<BlueInfoCircleIcon title="Info" />
参数名称 描述

className

(可选) 组件的附加类名

title

(可选) 图标标题

size

(可选) 图标大小:('sm'、'md'、'lg'、'xl')

ErrorStatus

用于显示错误状态弹出框的组件。

示例
<ErrorStatus title={errorMsg} />
参数名称 描述

title

(可选) 状态文本

iconOnly

(可选) 如果为 true,则仅显示图标

noTooltip

(可选) 如果为 true,则不显示工具提示

className

(可选) 组件的附加类名

popoverTitle

(可选) 弹出框标题

InfoStatus

用于显示信息状态弹出框的组件。

示例
<InfoStatus title={infoMsg} />
参数名称 描述

title

(可选) 状态文本

iconOnly

(可选) 如果为 true,则仅显示图标

noTooltip

(可选) 如果为 true,则不显示工具提示

className

(可选) 组件的附加类名

popoverTitle

(可选) 弹出框标题

ProgressStatus

用于显示正在进行状态弹出框的组件。

示例
<ProgressStatus title={progressMsg} />
参数名称 描述

title

(可选) 状态文本

iconOnly

(可选) 如果为 true,则仅显示图标

noTooltip

(可选) 如果为 true,则不显示工具提示

className

(可选) 组件的附加类名

popoverTitle

(可选) 弹出框标题

SuccessStatus

用于显示成功状态弹出框的组件。

示例
<SuccessStatus title={successMsg} />
参数名称 描述

title

(可选) 状态文本

iconOnly

(可选) 如果为 true,则仅显示图标

noTooltip

(可选) 如果为 true,则不显示工具提示

className

(可选) 组件的附加类名

popoverTitle

(可选) 弹出框标题

checkAccess

提供有关用户对给定资源的访问信息。它返回一个包含资源访问信息的 对象。

参数名称 描述

resourceAttributes

访问审查的资源属性

impersonate

模拟详细信息

useAccessReview

提供有关用户对给定资源的访问信息的钩子。它返回一个包含 isAllowedloading 值的数组。

参数名称 描述

resourceAttributes

访问审查的资源属性

impersonate

模拟详细信息

useResolvedExtensions

用于使用已解析 CodeRef 属性使用控制台扩展的 React 钩子。此钩子接受与 useExtensions 钩子相同的参数,并返回已调整的扩展实例列表,解析每个扩展属性内的所有代码引用。

最初,钩子返回一个空数组。解析完成后,React 组件将使用返回已调整的扩展列表的钩子重新渲染。当匹配扩展的列表更改时,将重新启动解析。在解析完成之前,钩子将继续返回之前的结果。

钩子的结果元素保证在重新渲染时引用稳定。它返回一个包含已调整的扩展实例列表(包含已解析的代码引用)、指示解析是否完成的布尔标志以及在解析过程中检测到的错误列表的元组。

示例
const [navItemExtensions, navItemsResolved] = useResolvedExtensions<NavItem>(isNavItem);
// process adapted extensions and render your component
参数名称 描述

typeGuards

回调函数列表,每个回调函数都接受动态插件扩展作为参数,并返回一个布尔标志,指示扩展是否满足所需的类型约束

HorizontalNav

一个创建页面导航栏的组件。路由作为组件的一部分进行处理。console.tab/horizontalNav 可用于向任何水平导航添加额外内容。

示例
const HomePage: React.FC = (props) => {
    const page = {
      href: '/home',
      name: 'Home',
      component: () => <>Home</>
    }
    return <HorizontalNav match={props.match} pages={[page]} />
}
参数名称 描述

resource

与该导航关联的资源,一个 K8sResourceCommon 类型的对象

pages

页面对象的数组

match

React Router 提供的匹配对象

VirtualizedTable

用于创建虚拟化表格的组件。

示例
const MachineList: React.FC<MachineListProps> = (props) => {
  return (
    <VirtualizedTable<MachineKind>
     {...props}
     aria-label='Machines'
     columns={getMachineColumns}
     Row={getMachineTableRow}
    />
  );
}
参数名称 描述

data

表格数据

loaded

指示数据已加载的标志

loadError

如果加载数据时出现问题,则为错误对象

columns

列设置

Row

行设置

unfilteredData

未经过滤的原始数据

NoDataEmptyMsg

(可选) 无数据空消息组件

EmptyMsg

(可选) 空消息组件

scrollNode

(可选) 用于处理滚动的函数

label

(可选) 表格标签

ariaLabel

(可选) aria 标签

gridBreakPoint

响应式布局下网格划分的大小

onSelect

(可选) 用于处理表格选择操作的函数

rowData

(可选) 行特定数据

TableData

用于在表格行内显示表格数据的组件。

示例
const PodRow: React.FC<RowProps<K8sResourceCommon>> = ({ obj, activeColumnIDs }) => {
  return (
    <>
      <TableData id={columns[0].id} activeColumnIDs={activeColumnIDs}>
        <ResourceLink kind="Pod" name={obj.metadata.name} namespace={obj.metadata.namespace} />
      </TableData>
      <TableData id={columns[1].id} activeColumnIDs={activeColumnIDs}>
        <ResourceLink kind="Namespace" name={obj.metadata.namespace} />
      </TableData>
    </>
  );
};
参数名称 描述

id

表格的唯一 ID

activeColumnIDs

激活的列

className

(可选) 用于样式设置的类名

useActiveColumns

一个 Hook,提供用户选择的活动 TableColumn 列表。

示例
// See implementation for more details on TableColumn type
  const [activeColumns, userSettingsLoaded] = useActiveColumns({
    columns,
    showNamespaceOverride: false,
    columnManagementID,
  });
  return userSettingsAreLoaded ? <VirtualizedTable columns={activeColumns} {...otherProps} /> : null
参数名称 描述

options

作为键值对传递

\{TableColumn[]} options.columns

所有可用 TableColumn 的数组

{boolean} [options.showNamespaceOverride]

(可选) 如果为 true,则包含命名空间列,而不管列管理选择如何。

{string} [options.columnManagementID]

(可选) 用于将列管理选择持久化到用户设置并从中检索的唯一 ID。通常是资源的组/版本/种类 (GVK) 字符串。

一个元组,包含当前用户选择的活动列(options.columns 的子集)和一个布尔标志,指示是否已加载用户设置。

ListPageHeader

用于生成页面标题的组件。

示例
const exampleList: React.FC = () => {
  return (
    <>
      <ListPageHeader title="Example List Page"/>
    </>
  );
};
参数名称 描述

title

标题

helpText

(可选) 帮助部分,作为 React 节点

badge

(可选) 徽章图标,作为 React 节点

ListPageCreate

用于添加特定资源类型的创建按钮的组件,该按钮会自动生成指向此资源的创建 YAML 的链接。

示例
const exampleList: React.FC<MyProps> = () => {
  return (
    <>
      <ListPageHeader title="Example Pod List Page"/>
        <ListPageCreate groupVersionKind="Pod">Create Pod</ListPageCreate>
      </ListPageHeader>
    </>
  );
};
参数名称 描述

groupVersionKind

要表示的资源组/版本/种类

用于创建样式化链接的组件。

示例
const exampleList: React.FC<MyProps> = () => {
 return (
  <>
   <ListPageHeader title="Example Pod List Page"/>
      <ListPageCreateLink to={'/link/to/my/page'}>Create Item</ListPageCreateLink>
   </ListPageHeader>
  </>
 );
};
参数名称 描述

to

链接应指向的字符串位置

createAccessReview

(可选) 包含命名空间和种类,用于确定访问权限的对象

children

(可选) 组件的子元素

ListPageCreateButton

用于创建按钮的组件。

示例
const exampleList: React.FC<MyProps> = () => {
  return (
    <>
      <ListPageHeader title="Example Pod List Page"/>
        <ListPageCreateButton createAccessReview={access}>Create Pod</ListPageCreateButton>
      </ListPageHeader>
    </>
  );
};
参数名称 描述

createAccessReview

(可选) 包含命名空间和种类,用于确定访问权限的对象

pfButtonProps

(可选) Patternfly 按钮属性

ListPageCreateDropdown

用于创建带有权限检查的、包装好的下拉菜单的组件。

示例
const exampleList: React.FC<MyProps> = () => {
  const items = {
    SAVE: 'Save',
    DELETE: 'Delete',
  }
  return (
    <>
     <ListPageHeader title="Example Pod List Page"/>
       <ListPageCreateDropdown createAccessReview={access} items={items}>Actions</ListPageCreateDropdown>
     </ListPageHeader>
    </>
  );
};
参数名称 描述

items

要在下拉菜单组件中显示的键:ReactNode 对

onClick

下拉菜单项点击的回调函数

createAccessReview

(可选) 包含命名空间和种类,用于确定访问权限的对象

children

(可选) 下拉菜单切换按钮的子元素

ListPageFilter

生成列表页面过滤器的组件。

示例
  // See implementation for more details on RowFilter and FilterValue types
  const [staticData, filteredData, onFilterChange] = useListPageFilter(
    data,
    rowFilters,
    staticFilters,
  );
  // ListPageFilter updates filter state based on user interaction and resulting filtered data can be rendered in an independent component.
  return (
    <>
      <ListPageHeader .../>
      <ListPagBody>
        <ListPageFilter data={staticData} onFilterChange={onFilterChange} />
        <List data={filteredData} />
      </ListPageBody>
    </>
  )
参数名称 描述

data

数据点的数组

loaded

指示数据已加载

onFilterChange

过滤器更新时的回调函数

rowFilters

(可选) 定义可用过滤器选项的 RowFilter 元素数组

nameFilterPlaceholder

(可选) 名称过滤器的占位符

labelFilterPlaceholder

(可选) 标签过滤器的占位符

hideLabelFilter

(可选) 只显示名称过滤器,而不是名称和标签过滤器

hideNameLabelFilter

(可选) 隐藏名称和标签过滤器

columnLayout

(可选) 列布局对象

hideColumnManagement

(可选) 用于隐藏列管理的标志

useListPageFilter

管理 ListPageFilter 组件过滤器状态的 Hook。它返回一个元组,包含所有静态过滤器过滤后的数据、所有静态和行过滤器过滤后的数据,以及更新 rowFilters 的回调函数。

示例
  // See implementation for more details on RowFilter and FilterValue types
  const [staticData, filteredData, onFilterChange] = useListPageFilter(
    data,
    rowFilters,
    staticFilters,
  );
  // ListPageFilter updates filter state based on user interaction and resulting filtered data can be rendered in an independent component.
  return (
    <>
      <ListPageHeader .../>
      <ListPagBody>
        <ListPageFilter data={staticData} onFilterChange={onFilterChange} />
        <List data={filteredData} />
      </ListPageBody>
    </>
  )
参数名称 描述

data

数据点的数组

rowFilters

(可选) 定义可用过滤器选项的 RowFilter 元素数组

staticFilters

(可选) 静态应用于数据的 FilterValue 元素数组

创建指向特定资源类型链接(带图标徽章)的组件。

示例
  <ResourceLink
      kind="Pod"
      name="testPod"
      title={metadata.uid}
  />
参数名称 描述

kind

(可选) 资源类型,例如 Pod、Deployment、Namespace

groupVersionKind

(可选) 包含组、版本和种类的对象

className

(可选) 组件的类样式

displayName

(可选) 组件的显示名称,如果设置则覆盖资源名称

inline

(可选) 用于创建与子元素内联的图标徽章和名称的标志

linkTo

(可选) 用于创建 Link 对象的标志 - 默认值为 true

name

(可选) 资源名称

namesapce

(可选) 要链接到的特定命名空间的资源类型

hideIcon

(可选) 用于隐藏图标徽章的标志

title

(可选) 链接对象的标题(不显示)

dataTest

(可选) 用于测试的标识符

onClick

(可选) 组件被点击时的回调函数

truncate

(可选) 如果链接太长则截断的标志

ResourceIcon

为特定资源类型创建图标徽章的组件。

示例
<ResourceIcon kind="Pod"/>
参数名称 描述

kind

(可选) 资源类型,例如 Pod、Deployment、Namespace

groupVersionKind

(可选) 包含组、版本和种类的对象

className

(可选) 组件的类样式

useK8sModel

从 redux 中检索提供的 K8sGroupVersionKind 的 k8s 模型的 Hook。它返回一个数组,第一个元素是 k8s 模型,第二个元素是 `inFlight` 状态。

示例
const Component: React.FC = () => {
  const [model, inFlight] = useK8sModel({ group: 'app'; version: 'v1'; kind: 'Deployment' });
  return ...
}
参数名称 描述

groupVersionKind

k8s 资源的组、版本、种类,K8sGroupVersionKind 优先,或者可以使用组、版本、种类的引用(已弃用),例如,组/版本/种类 (GVK) K8sResourceKindReference。

useK8sModels

从 redux 中检索所有当前 k8s 模型的 Hook。它返回一个数组,第一个元素是 k8s 模型列表,第二个元素是 `inFlight` 状态。

示例
const Component: React.FC = () => {
  const [models, inFlight] = UseK8sModels();
  return ...
}

useK8sWatchResource

检索 k8s 资源及其加载和错误状态的 Hook。它返回一个数组,第一个元素是资源,第二个元素是加载状态,第三个元素是任何错误状态。

示例
const Component: React.FC = () => {
  const watchRes = {
        ...
      }
  const [data, loaded, error] = useK8sWatchResource(watchRes)
  return ...
}
参数名称 描述

initResource

监视资源所需的选项。

useK8sWatchResources

检索 k8s 资源及其各自加载和错误状态的 Hook。它返回一个映射,其中键如 initResouces 中提供的那样,值具有三个属性:data、loaded 和 error。

示例
const Component: React.FC = () => {
  const watchResources = {
        'deployment': {...},
        'pod': {...}
        ...
      }
  const {deployment, pod} = useK8sWatchResources(watchResources)
  return ...
}
参数名称 描述

initResources

必须将资源作为键值对进行监视,其中键对于资源是唯一的,值是监视相应资源所需的选项。

consoleFetch

围绕 `fetch` 的自定义包装器,它添加特定于控制台的标头,并允许重试和超时。它还验证响应状态代码并抛出相应的错误或根据需要注销用户。它返回一个解析为响应的 Promise。

参数名称 描述

url

要获取的 URL

options

要传递给 fetch 的选项

timeout

超时时间(毫秒)

consoleFetchJSON

围绕 `fetch` 的自定义包装器,它添加特定于控制台的标头,并允许重试和超时。它还验证响应状态代码并抛出相应的错误或根据需要注销用户。它将响应作为 JSON 对象返回。内部使用 `consoleFetch`。它返回一个解析为 JSON 对象响应的 Promise。

参数名称 描述

url

要获取的 URL

method

要使用的 HTTP 方法。默认为 GET

options

要传递给 fetch 的选项

timeout

超时时间(毫秒)

cluster

要向其发出请求的集群名称。默认为用户选择的活动集群

consoleFetchText

围绕 `fetch` 的自定义包装器,它添加特定于控制台的标头,并允许重试和超时。它还验证响应状态代码并抛出相应的错误或根据需要注销用户。它将响应作为文本返回。内部使用 `consoleFetch`。它返回一个解析为文本响应的 Promise。

参数名称 描述

url

要获取的 URL

options

要传递给 fetch 的选项

timeout

超时时间(毫秒)

cluster

要向其发出请求的集群名称。默认为用户选择的活动集群

getConsoleRequestHeaders

一个函数,使用当前 redux 状态为 API 请求创建模拟和多集群相关的标头。它返回一个对象,其中包含基于 redux 状态的适当模拟和集群请求标头。

参数名称 描述

targetCluster

使用提供的 targetCluster 覆盖当前活动集群

k8sGetResource

根据提供的选项从集群中获取资源。如果提供了名称,则返回一个资源;否则返回所有与模型匹配的资源。它返回一个 Promise,该 Promise 解析为包含资源的 JSON 对象(如果提供了名称),否则返回所有与模型匹配的资源。如果失败,Promise 将被 HTTP 错误响应拒绝。

参数名称 描述

options

作为键值对传递到映射中

options.model

k8s 模型

options.name

资源的名称,如果没有提供,则查找所有与模型匹配的资源。

options.ns

要查找的命名空间,集群范围的资源不应指定。

options.path

如果提供,则作为子路径附加

options.queryParams

要包含在 URL 中的查询参数。

options.requestInit

要使用的 fetch init 对象。这可以包含请求头、方法、重定向等。更多信息请参见 Interface RequestInit

k8sCreateResource

根据提供的选项在集群中创建资源。它返回一个 Promise,该 Promise 解析为已创建资源的响应。如果失败,Promise 将被 HTTP 错误响应拒绝。

参数名称 描述

options

作为键值对传递到映射中

options.model

k8s 模型

options.data

要创建的资源的有效负载

options.path

如果提供,则作为子路径附加

options.queryParams

要包含在 URL 中的查询参数。

k8sUpdateResource

根据提供的选项更新集群中的整个资源。当客户端需要完全替换现有资源时,可以使用 k8sUpdate。或者可以使用 k8sPatch 执行部分更新。它返回一个 Promise,该 Promise 解析为已更新资源的响应。如果失败,Promise 将被 HTTP 错误响应拒绝。

参数名称 描述

options

作为键值对传递到映射中

options.model

k8s 模型

options.data

要更新的 k8s 资源的有效负载

options.ns

要查找的命名空间,集群范围的资源不应指定。

options.name

要更新的资源名称。

options.path

如果提供,则作为子路径附加

options.queryParams

要包含在 URL 中的查询参数。

k8sPatchResource

根据提供的选项修补集群中的任何资源。当客户端需要执行部分更新时,可以使用 k8sPatch。或者可以使用 k8sUpdate 完全替换现有资源。更多信息请参见 Data Tracker。它返回一个 Promise,该 Promise 解析为已修补资源的响应。如果失败,Promise 将被 HTTP 错误响应拒绝。

参数名称 描述

options

作为键值对传递到映射中。

options.model

k8s 模型

options.resource

要修补的资源。

options.data

仅包含要在现有资源上修补的数据,包括操作、路径和值。

options.path

如果提供,则作为子路径附加。

options.queryParams

要包含在 URL 中的查询参数。

k8sDeleteResource

根据提供的模型和资源从集群中删除资源。垃圾收集基于 `Foreground` | `Background` 工作,可以在提供的模型中使用 propagationPolicy 属性配置,或者在 json 中传递。它返回一个 Promise,该 Promise 解析为 kind Status 的响应。如果失败,Promise 将被 HTTP 错误响应拒绝。

示例

kind: 'DeleteOptions', apiVersion: 'v1', propagationPolicy

参数名称 描述

options

作为键值对传递到映射中。

options.model

k8s 模型

options.resource

要删除的资源。

options.path

如果提供,则作为子路径附加

options.queryParams

要包含在 URL 中的查询参数。

options.requestInit

要使用的 fetch init 对象。这可以包含请求头、方法、重定向等。更多信息请参见 Interface RequestInit

options.json

如果提供,可以显式控制资源的垃圾收集,否则默认为模型的“propagationPolicy”。

k8sListResource

基于提供的选项列出集群中作为数组的资源。它返回一个 Promise,该 Promise 解析为响应。

参数名称 描述

options

作为键值对传递到映射中

options.model

k8s 模型

options.queryParams

要包含在 URL 中的查询参数,也可以使用键“labelSelector”传递标签选择器。

options.requestInit

要使用的 fetch init 对象。这可以包含请求头、方法、重定向等。更多信息请参见 Interface RequestInit

k8sListResourceItems

与 k8sListResource 相同的接口,但返回子项。它返回模型的 apiVersion,即 `group/version`。

getAPIVersionForModel

提供 k8s 模型的 apiVersion。

参数名称 描述

model

k8s 模型

getGroupVersionKindForResource

为资源提供组、版本和种类。它返回提供的资源的组、版本和种类。如果资源没有 API 组,则返回组“core”。如果资源具有无效的 apiVersion,则抛出错误。

参数名称 描述

resource

k8s 资源

getGroupVersionKindForModel

为 k8s 模型提供组、版本和种类。这将返回提供的模型的组、版本和种类。如果模型没有 apiGroup,则返回组“core”。

参数名称 描述

model

k8s 模型

StatusPopupSection

在弹出窗口中显示状态的组件。用于构建 `console.dashboards/overview/health/resource` 扩展的实用组件。

示例
  <StatusPopupSection
    firstColumn={
      <>
        <span>{title}</span>
        <span className="text-secondary">
          My Example Item
        </span>
      </>
    }
    secondColumn='Status'
  >
参数名称 描述

firstColumn

弹出窗口第一列的值

secondColumn

(可选) 弹出窗口第二列的值

children

(可选) 弹出窗口的子元素

StatusPopupItem

在状态弹出窗口中使用的状态元素;用于 `StatusPopupSection`。

示例
<StatusPopupSection
   firstColumn='Example'
   secondColumn='Status'
>
   <StatusPopupItem icon={healthStateMapping[MCGMetrics.state]?.icon}>
      Complete
   </StatusPopupItem>
   <StatusPopupItem icon={healthStateMapping[RGWMetrics.state]?.icon}>
       Pending
   </StatusPopupItem>
</StatusPopupSection>
参数名称 描述

value

(可选) 要显示的文本值

icon

(可选) 要显示的图标

children

子元素

概述

为仪表盘创建一个包装器组件。

示例
    <Overview>
      <OverviewGrid mainCards={mainCards} leftCards={leftCards} rightCards={rightCards} />
    </Overview>
参数名称 描述

className

(可选) div 的样式类

children

(可选) 仪表盘的元素

OverviewGrid

为仪表盘创建一个卡片元素网格;用于 `Overview` 中。

示例
    <Overview>
      <OverviewGrid mainCards={mainCards} leftCards={leftCards} rightCards={rightCards} />
    </Overview>
参数名称 描述

mainCards

网格的卡片

leftCards

(可选) 网格左侧的卡片

rightCards

(可选) 网格右侧的卡片

InventoryItem

创建一个库存卡片项。

示例
  return (
    <InventoryItem>
      <InventoryItemTitle>{title}</InventoryItemTitle>
      <InventoryItemBody error={loadError}>
        {loaded && <InventoryItemStatus count={workerNodes.length} icon={<MonitoringIcon />} />}
      </InventoryItemBody>
    </InventoryItem>
  )
参数名称 描述

children

要在项内渲染的元素

InventoryItemTitle

为库存卡片项创建一个标题;用于 `InventoryItem` 中。

示例
 return (
   <InventoryItem>
     <InventoryItemTitle>{title}</InventoryItemTitle>
     <InventoryItemBody error={loadError}>
       {loaded && <InventoryItemStatus count={workerNodes.length} icon={<MonitoringIcon />} />}
     </InventoryItemBody>
   </InventoryItem>
 )
参数名称 描述

children

要在标题内渲染的元素

InventoryItemBody

创建库存卡片的主体;用于 `InventoryCard` 中,并可与 `InventoryTitle` 一起使用。

示例
 return (
   <InventoryItem>
     <InventoryItemTitle>{title}</InventoryItemTitle>
     <InventoryItemBody error={loadError}>
       {loaded && <InventoryItemStatus count={workerNodes.length} icon={<MonitoringIcon />} />}
     </InventoryItemBody>
   </InventoryItem>
 )
参数名称 描述

children

要在库存卡片或标题内渲染的元素

error

div 的元素

InventoryItemStatus

为库存卡片创建一个计数和图标,并带有可选的链接地址;用于 `InventoryItemBody` 中

示例
 return (
   <InventoryItem>
     <InventoryItemTitle>{title}</InventoryItemTitle>
     <InventoryItemBody error={loadError}>
       {loaded && <InventoryItemStatus count={workerNodes.length} icon={<MonitoringIcon />} />}
     </InventoryItemBody>
   </InventoryItem>
 )
参数名称 描述

count

要显示的计数

icon

要显示的图标

linkTo

(可选) 链接地址

InventoryItemLoading

创建库存卡片加载时的骨架容器;与 `InventoryItem` 和相关组件一起使用

示例
if (loadError) {
   title = <Link to={workerNodesLink}>{t('Worker Nodes')}</Link>;
} else if (!loaded) {
  title = <><InventoryItemLoading /><Link to={workerNodesLink}>{t('Worker Nodes')}</Link></>;
}
return (
  <InventoryItem>
    <InventoryItemTitle>{title}</InventoryItemTitle>
  </InventoryItem>
)

useFlag

从 FLAGS redux 状态返回给定特性标志的 Hook。它返回请求的特性标志的布尔值或 undefined。

参数名称 描述

flag

要返回的特性标志

CodeEditor

具有悬停帮助和代码补全的基本延迟加载代码编辑器。

示例
<React.Suspense fallback={<LoadingBox />}>
  <CodeEditor
    value={code}
    language="yaml"
  />
</React.Suspense>
参数名称 描述

value

表示要渲染的 yaml 代码的字符串。

language

表示编辑器语言的字符串。

options

Monaco 编辑器选项。更多详细信息,请访问 Interface IStandAloneEditorConstructionOptions

minHeight

有效的 CSS 高度值的最小编辑器高度。

showShortcuts

布尔值,用于显示编辑器顶部的快捷键。

toolbarLinks

在编辑器顶部的工具栏链接部分渲染的 ReactNode 数组。

onChange

代码更改事件的回调函数。

onSave

触发 CTRL / CMD + S 命令时调用的回调函数。

ref

对 `editor?: IStandaloneCodeEditor` 的 React 引用。使用 `editor` 属性,您可以访问所有控制编辑器的方法。更多信息,请访问 Interface IStandaloneCodeEditor

ResourceYAMLEditor

一个为 Kubernetes 资源延迟加载的 YAML 编辑器,具有悬停帮助和代码补全功能。该组件使用 YAMLEditor,并在其之上添加了更多功能,例如资源更新处理、警报、保存、取消和重新加载按钮、辅助功能等等。除非提供 `onSave` 回调函数,否则将自动处理资源更新。它应该包装在 `React.Suspense` 组件中。

示例
<React.Suspense fallback={<LoadingBox />}>
  <ResourceYAMLEditor
    initialResource={resource}
    header="Create resource"
    onSave={(content) => updateResource(content)}
  />
</React.Suspense>
参数名称 描述

initialResource

表示要由编辑器显示的资源的 YAML/对象。此属性仅在初始渲染期间使用

header

在 YAML 编辑器顶部添加标题

onSave

保存按钮的回调函数。传入此函数将覆盖编辑器对资源执行的默认更新操作。

资源事件流

一个用于显示与特定资源相关事件的组件。

示例
const [resource, loaded, loadError] = useK8sWatchResource(clusterResource);
return <ResourceEventStream resource={resource} />
参数名称 描述

resource

一个其相关事件应该被显示的对象。

usePrometheusPoll

设置对Prometheus进行单个查询的轮询。它返回一个元组,包含查询响应、一个指示响应是否已完成的布尔标志以及请求期间或请求后处理期间遇到的任何错误。

参数名称 描述

{PrometheusEndpoint} props.endpoint

PrometheusEndpoint 之一 (label, query, range, rules, targets)

{string} [props.query]

(可选) Prometheus 查询字符串。如果为空或未定义,则不会启动轮询。

{number} [props.delay]

(可选) 轮询延迟间隔 (毫秒)

{number} [props.endTime]

(可选) 对于 QUERY_RANGE 端点,查询范围的结束时间

{number} [props.samples]

(可选) 对于 QUERY_RANGE 端点

{number} [options.timespan]

(可选) 对于 QUERY_RANGE 端点

{string} [options.namespace]

(可选) 要附加的搜索参数

{string} [options.timeout]

(可选) 要附加的搜索参数

时间戳

一个用于渲染时间戳的组件。时间戳在时间戳组件的各个实例之间同步。提供的时间戳将根据用户的区域设置进行格式化。

参数名称 描述

时间戳

要渲染的时间戳。格式应为 ISO 8601(Kubernetes 使用)、纪元时间戳或 Date 实例。

简单模式

渲染组件的简化版本,省略图标和工具提示。

omitSuffix

格式化日期,省略后缀。

className

组件的附加类名。

useModal

一个用于启动模态框的钩子函数。

示例
const context: AppPage: React.FC = () => {<br/> const [launchModal] = useModal();<br/> const onClick = () => launchModal(ModalComponent);<br/> return (<br/>   <Button onClick={onClick}>Launch a Modal</Button><br/> )<br/>}<br/>`

ActionServiceProvider

允许接收来自其他插件对console.action/provider扩展类型的贡献的组件。

示例
   const context: ActionContext = { 'a-context-id': { dataFromDynamicPlugin } };

   ...

   <ActionServiceProvider context={context}>
       {({ actions, options, loaded }) =>
         loaded && (
           <ActionMenu actions={actions} options={options} variant={ActionMenuVariant.DROPDOWN} />
         )
       }
   </ActionServiceProvider>
参数名称 描述

上下文

包含 contextId 和可选插件数据的对象

命名空间栏

一个组件,它渲染一个水平工具栏,最左侧位置有一个命名空间下拉菜单。其他组件可以作为子组件传入,并在命名空间下拉菜单的右侧渲染。此组件设计用于页面顶部。它应该用于用户需要能够更改活动命名空间的页面,例如包含 k8s 资源的页面。

示例
   const logNamespaceChange = (namespace) => console.log(`New namespace: ${namespace}`);

   ...

   <NamespaceBar onNamespaceChange={logNamespaceChange}>
     <NamespaceBarApplicationSelector />
   </NamespaceBar>
   <Page>

     ...
参数名称 描述

onNamespaceChange

(可选) 当选择命名空间选项时执行的函数。它接受字符串形式的新命名空间作为其唯一参数。选择选项后,活动命名空间会自动更新,但可以通过此函数应用其他逻辑。当命名空间更改时,URL 中的命名空间参数将从之前的命名空间更改为新选择的命名空间。

isDisabled

(可选) 一个布尔标志,如果设置为 true,则禁用命名空间下拉菜单。此选项仅适用于命名空间下拉菜单,对子组件没有影响。

children

(可选) 要在命名空间下拉菜单右侧的工具栏内渲染的其他元素。

ErrorBoundaryFallbackPage

创建一个全页 ErrorBoundaryFallbackPage 组件,以显示“哦,出错了!”消息以及堆栈跟踪和其他有用的调试信息。这应与 组件结合使用。

示例
//in ErrorBoundary component
 return (
   if (this.state.hasError) {
     return <ErrorBoundaryFallbackPage errorMessage={errorString} componentStack={componentStackString}
      stack={stackTraceString} title={errorString}/>;
   }

   return this.props.children;
)
参数名称 描述

错误消息

错误消息的文本描述

组件堆栈

异常的组件跟踪

堆栈

异常的堆栈跟踪

title

要作为错误边界页面标题渲染的标题

QueryBrowser

一个组件,它渲染 Prometheus PromQL 查询结果的图表以及与图表交互的控件。

示例
<QueryBrowser
  defaultTimespan={15 * 60 * 1000}
  namespace={namespace}
  pollInterval={30 * 1000}
  queries={[
    'process_resident_memory_bytes{job="console"}',
    'sum(irate(container_network_receive_bytes_total[6h:5m])) by (pod)',
  ]}
/>
参数名称 描述

customDataSource

(可选) 处理 PromQL 查询的 API 端点的基本 URL。如果提供,则使用它而不是默认 API 来获取数据。

defaultSamples

(可选) 为每个数据序列绘制的默认数据样本数。如果有很多数据序列,QueryBrowser 可能会自动选择比此处指定的更少的数据样本数。

defaultTimespan

(可选) 图表的默认时间跨度(毫秒)——默认为 1,800,000(30 分钟)。

disabledSeries

(可选) 禁用(不显示)具有这些精确标签/值对的数据序列。

disableZoom

(可选) 用于禁用图表缩放控件的标志。

filterLabels

(可选) 可选地过滤返回的数据序列,只保留与这些标签/值对匹配的数据序列。

fixedEndTime

(可选) 设置显示时间范围的结束时间,而不是显示直到当前时间的数据。

formatSeriesTitle

(可选) 返回一个字符串的函数,该字符串用作单个数据序列的标题。

GraphLink

(可选) 用于渲染指向另一个页面的链接的组件(例如,获取有关此查询的更多信息)。

hideControls

(可选) 用于隐藏更改图表时间跨度等的图表控件的标志。

isStack

(可选) 用于显示堆叠图而不是线图的标志。如果设置了 showStackedControl,用户仍然可以切换到线图。

namespace

(可选)如果提供,则仅返回此命名空间的数据(只有具有此命名空间标签的序列)。

onZoom

(可选) 图表缩放时调用的回调函数。

pollInterval

(可选) 如果设置,则确定多久更新一次图表以显示最新数据(以毫秒为单位)。

queries

要运行并显示结果的 PromQL 查询数组。

showLegend

(可选) 用于启用显示图表下方的图例的标志。

showStackedControl

用于启用显示在堆叠图模式和线图模式之间切换的图表控件的标志。

timespan

(可选) 图表应覆盖的时间跨度(毫秒)。

units

(可选) 要在 Y 轴和工具提示中显示的单位。

useAnnotationsModal

一个提供回调函数以启动用于编辑 Kubernetes 资源注释的模态框的钩子函数。

示例
const PodAnnotationsButton = ({ pod }) => {
  const { t } = useTranslation();
  const launchAnnotationsModal = useAnnotationsModal<PodKind>(pod);
  return <button onClick={launchAnnotationsModal}>{t('Edit Pod Annotations')}</button>
}
参数名称 描述

resource

要编辑注释的资源,一个 K8sResourceCommon 类型的对象。

返回值

一个用于启动用于编辑资源注释的模态框的函数。

useDeleteModal

一个提供回调函数以启动用于删除资源的模态框的钩子函数。

示例
const DeletePodButton = ({ pod }) => {
  const { t } = useTranslation();
  const launchDeleteModal = useDeleteModal<PodKind>(pod);
  return <button onClick={launchDeleteModal}>{t('Delete Pod')}</button>
}
参数名称 描述

resource

要删除的资源。

redirectTo

(可选) 删除资源后要重定向到的位置。

message

(可选) 要在模态框中显示的消息。

btnText

(可选) 要在删除按钮上显示的文本。

deleteAllResources

(可选) 删除所有相同类型资源的函数。

返回值

一个用于启动用于删除资源的模态框的函数。

useLabelsModel

一个提供回调函数以启动用于编辑 Kubernetes 资源标签的模态框的钩子函数。

示例
const PodLabelsButton = ({ pod }) => {
  const { t } = useTranslation();
  const launchLabelsModal = useLabelsModal<PodKind>(pod);
  return <button onClick={launchLabelsModal}>{t('Edit Pod Labels')}</button>
}
参数名称 描述

resource

要编辑标签的资源,一个 K8sResourceCommon 类型的对象。

返回值

一个用于启动用于编辑资源标签的模态框的函数。

useActiveNamespace

提供当前活动命名空间和用于设置活动命名空间的回调函数的钩子函数。

示例
const Component: React.FC = (props) => {
   const [activeNamespace, setActiveNamespace] = useActiveNamespace();
   return <select
     value={activeNamespace}
     onChange={(e) => setActiveNamespace(e.target.value)}
   >
     {
       // ...namespace options
     }
   </select>
}
返回值

包含当前活动命名空间和设置器回调函数的元组。

useUserSettings

提供用户设置值和用于设置用户设置值的回调函数的钩子函数。

示例
const Component: React.FC = (props) => {
   const [state, setState, loaded] = useUserSettings(
     'devconsole.addPage.showDetails',
     true,
     true,
   );
   return loaded ? (
      <WrappedComponent {...props} userSettingState={state} setUserSettingState={setState} />
    ) : null;
};
返回值

包含用户设置值、设置器回调函数和已加载布尔值的元组。

useQuickStartContext

提供当前快速入门上下文值的钩子函数。这允许插件与控制台快速入门功能交互。

示例
const OpenQuickStartButton = ({ quickStartId }) => {
   const { setActiveQuickStart } = useQuickStartContext();
   const onClick = React.useCallback(() => {
       setActiveQuickStart(quickStartId);
   }, [quickStartId]);
   return <button onClick={onClick}>{t('Open Quick Start')}</button>
};
返回值

快速入门上下文值对象。

PerspectiveContext

已弃用:请改用提供的usePerspectiveContext。创建透视上下文。

参数名称 描述

PerspectiveContextType

包含活动透视和设置器的对象

useAccessReviewAllowed

已弃用:请改用@console/dynamic-plugin-sdk中的useAccessReview。此 Hook 提供关于用户对给定资源的访问权限的状态。它返回布尔值isAllowed

参数名称 描述

resourceAttributes

访问审查的资源属性

impersonate

模拟详细信息

useSafetyFirst

已弃用:此 Hook 与控制台功能无关。此 Hook 确保在给定组件可能被卸载的情况下安全地异步设置 React 状态。它返回一个包含状态值及其设置函数的数组。

参数名称 描述

initialState

初始状态值

YAMLEditor

已弃用:一个基本的延迟加载 YAML 编辑器,具有悬停帮助和代码补全功能。

示例
<React.Suspense fallback={<LoadingBox />}>
  <YAMLEditor
    value={code}
  />
</React.Suspense>
参数名称 描述

value

表示要渲染的 yaml 代码的字符串。

options

Monaco 编辑器选项。

minHeight

有效的 CSS 高度值的最小编辑器高度。

showShortcuts

布尔值,用于显示编辑器顶部的快捷键。

toolbarLinks

在编辑器顶部的工具栏链接部分渲染的 ReactNode 数组。

onChange

代码更改事件的回调函数。

onSave

触发 CTRL / CMD + S 命令时调用的回调函数。

ref

指向{ editor?: IStandaloneCodeEditor }的 React 引用。使用editor属性,您可以访问所有控制编辑器的方法。

动态插件故障排除

如果您在加载插件时遇到问题,请参考此故障排除提示列表。

  • 验证您是否已在控制台操作员配置中启用您的插件,并且您的插件名称是通过运行以下命令输出的

    $ oc get console.operator.openshift.io cluster -o jsonpath='{.spec.plugins}'
    • 在**管理员**透视的**概述**页面上的状态卡上验证已启用的插件。如果插件是最近启用的,您必须刷新浏览器。

  • 通过以下方式验证您的插件服务是否正常:

    • 验证您的插件 Pod 状态正在运行并且您的容器已准备好。

    • 验证服务标签选择器与 Pod 匹配且目标端口正确。

    • 在控制台 Pod 或集群上的另一个 Pod 上的终端中,使用 Curl 命令获取服务中的plugin-manifest.json

  • 验证您的ConsolePlugin资源名称 (consolePlugin.name) 与package.json中使用的插件名称匹配。

  • 验证您的服务名称、命名空间、端口和路径在ConsolePlugin资源中是否正确声明。

  • 验证您的插件服务是否使用 HTTPS 和服务提供证书。

  • 验证控制台 Pod 日志中是否存在任何证书或连接错误。

  • 验证您的插件依赖的特性标志是否未被禁用。

  • 验证您的插件在package.json中没有任何未满足的consolePlugin.dependencies

    • 这可能包括控制台版本依赖项或对其他插件的依赖项。在浏览器中过滤您的插件名称的 JS 控制台以查看记录的消息。

  • 验证导航扩展透视或部分 ID 中是否存在任何错别字。

    • 如果 ID 不正确,您的插件可能已加载,但导航项缺失。尝试通过编辑 URL 直接导航到插件页面。

  • 验证是否存在阻止从控制台 Pod 到您的插件服务的流量的网络策略。

    • 如有必要,调整网络策略以允许 openshift-console 命名空间中的控制台 Pod 向您的服务发出请求。

  • 在浏览器开发者工具的**控制台**选项卡中,验证要加载的动态插件列表。

    • 评估window.SERVER_FLAGS.consolePlugins以查看控制台前端的动态插件。