第 5 章 Console [operator.openshift.io/v1]
- 描述
- 控制台提供了一种方法来配置操作器来管理控制台。兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。
- 类型
-
object
- 必填
-
spec
-
5.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| ConsoleSpec 是控制台所需行为的规格。 |
|
| ConsoleStatus 定义 Console 的观察状态。 |
5.1.1. .spec
- 描述
- ConsoleSpec 是控制台所需行为的规格。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 自定义用于选择性地为 web 控制台提供一组较小的自定义选项。 |
|
| Ingress 允许为控制台配置替代的 ingress。此字段适用于没有入口功能的集群,在无法访问路由时。 |
|
| Loglevel 是整个组件的意图型日志记录。它无法提供精细的控制,但管理操作员必须针对其操作对象解释的粗粒度日志记录选择是一个简单的方法。有效值为:"Normal", "Debug", "Trace", "TraceAll"。默认值为 "Normal"。 |
|
| managementState 指明 Operator 是否应该管理组件 |
| `` | observedConfig 包含一个从集群状态观察到的稀疏配置。它存在于 spec 中,因为它是 Operator 的级别输入 |
|
| operatorLogLevel 是 Operator 本身的意图日志。它无法提供精细的控制,但管理操作员必须自行解释的粗粒度日志记录选择是一个简单的方法。有效值为:"Normal", "Debug", "Trace", "TraceAll"。默认值为 "Normal"。 |
|
| 插件定义启用的控制台插件名称列表。 |
|
| 提供程序包含使用特定服务提供商的配置。 |
|
| 路由包含包含服务证书的主机名和 secret 引用。如果指定了自定义路由,则会使用提供的主机名创建新路由,该主机名下提供控制台。如果自定义主机名使用集群的默认路由后缀,则不需要服务证书的 Secret 规格。如果自定义主机名指向任意域,则需要手动 DNS 配置步骤。如果删除了自定义路由,则会维护默认控制台路由,以便为控制台保留默认主机名。如果没有指定,则使用默认路由。弃用 |
| `` | unsupportedConfigOverrides 覆盖 Operator 计算的最终配置。红帽不支持使用此字段。滥用此字段可能会导致意外行为或与其他配置选项冲突。在使用此字段前,请参阅红帽支持的指导。使用此属性会阻止集群升级,必须在升级集群前删除它。 |
5.1.2. .spec.customization
- 描述
- 自定义用于选择性地为 web 控制台提供一组较小的自定义选项。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| addPage 允许在 Developer 视角中的 Add 页面中自定义操作。 |
|
| brand 是 Web 控制台的默认品牌,可通过提供品牌字段来覆盖。有有限的特定品牌选项。此字段控制控制台的元素,如徽标。无效的值将导致控制台推出部署。 |
|
| customLogoFile 替换 masthead 和 about 对话框中的默认 OpenShift 徽标。它是对 openshift-config 命名空间中的 ConfigMap 的引用。这可以通过 'oc create configmap custom-logo --from-file=/path/to/file -n openshift-config' 等命令来创建。由于 ConfigMap 大小的限制,镜像大小必须小于 1 MB。ConfigMap 键应包含文件扩展名,以便控制台提供具有正确 MIME 类型的文件。推荐的徽标规格:Dimensions: Max height of 68px,首选最大宽度 200px SVG |
|
| customProductName 是页面标题、徽标 alt 文本以及有关对话框而不是普通的 OpenShift 产品名称显示的名称。 |
|
| developerCatalog 允许配置显示的开发人员目录类别(filters)和类型(sub-catalogs)。 |
|
| Web 控制台的各种部分中显示了到外部文档的 DocumentationBaseURL 链接。提供 DocumentationBaseURL 将覆盖默认文档 URL。无效的值将导致控制台推出部署。 |
|
| 透视图允许启用/禁用用户在视角切换器下拉菜单中可见的视角。 |
|
| 视角定义了集群管理员要在视角切换器下拉菜单中显示/隐藏的视角 |
|
| ProjectAccess 允许在 Developer 视角 Project 访问页面中自定义可用 ClusterRole 列表,供项目 admin 用于指定角色到其他用户,并限制项目中的访问。如果设置,列表将替换默认的 ClusterRole 选项。 |
|
| Quickstarts 允许在控制台中自定义可用的 ConsoleQuickStart 资源。 |
5.1.3. .spec.customization.addPage
- 描述
- addPage 允许在 Developer 视角中的 Add 页面中自定义操作。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| disabledActions 是未向用户显示的操作列表。列表中的每个操作都由其 ID 表示。 |
5.1.4. .spec.customization.customLogoFile
- 描述
- customLogoFile 替换 masthead 和 about 对话框中的默认 OpenShift 徽标。它是对 openshift-config 命名空间中的 ConfigMap 的引用。这可以通过 'oc create configmap custom-logo --from-file=/path/to/file -n openshift-config' 等命令来创建。由于 ConfigMap 大小的限制,镜像大小必须小于 1 MB。ConfigMap 键应包含文件扩展名,以便控制台提供具有正确 MIME 类型的文件。推荐的徽标规格:Dimensions: Max height of 68px,首选最大宽度 200px SVG
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 键允许指向 configmap 中的特定键/值。这对逻辑文件引用非常有用。 |
|
|
5.1.5. .spec.customization.developerCatalog
- 描述
- developerCatalog 允许配置显示的开发人员目录类别(filters)和类型(sub-catalogs)。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 开发人员目录中显示的类别。 |
|
| DeveloperConsoleCatalogCategory 用于开发人员控制台目录。 |
|
| Type 允许启用或禁用用户可以在 Developer 目录中看到的子目录类型。如果省略时,将显示所有子目录类型。 |
5.1.6. .spec.customization.developerCatalog.categories
- 描述
- 开发人员目录中显示的类别。
- 类型
-
array
5.1.7. .spec.customization.developerCatalog.categories[]
- 描述
- DeveloperConsoleCatalogCategory 用于开发人员控制台目录。
- 类型
-
object
- 必填
-
id
-
label
-
属性 | 类型 | 描述 |
---|---|---|
|
| ID 是 URL 中用来在控制台中启用深度链接的标识符。ID 是必需的,且必须具有 1-32 URL 安全(A-Z、a-z、0-9、- 和 _)。 |
|
| 标签定义类别显示标签。它是必需的,且必须具有 1-64 个字符。 |
|
| subcategories 定义子类别列表。 |
|
| DeveloperConsoleCatalogCategoryMeta 是开发人员目录类别的密钥标识符。 |
|
| tags 是与类别匹配的字符串列表。所选类别显示所有在类别和项目之间至少有一个重叠标签的项目。 |
5.1.8. .spec.customization.developerCatalog.categories[].subcategories
- 描述
- subcategories 定义子类别列表。
- 类型
-
array
5.1.9. .spec.customization.developerCatalog.categories[].subcategories[]
- 描述
- DeveloperConsoleCatalogCategoryMeta 是开发人员目录类别的密钥标识符。
- 类型
-
object
- 必填
-
id
-
label
-
属性 | 类型 | 描述 |
---|---|---|
|
| ID 是 URL 中用来在控制台中启用深度链接的标识符。ID 是必需的,且必须具有 1-32 URL 安全(A-Z、a-z、0-9、- 和 _)。 |
|
| 标签定义类别显示标签。它是必需的,且必须具有 1-64 个字符。 |
|
| tags 是与类别匹配的字符串列表。所选类别显示所有在类别和项目之间至少有一个重叠标签的项目。 |
5.1.10. .spec.customization.developerCatalog.types
- 描述
- Type 允许启用或禁用用户可以在 Developer 目录中看到的子目录类型。如果省略时,将显示所有子目录类型。
- 类型
-
object
- 必填
-
state
-
属性 | 类型 | 描述 |
---|---|---|
|
| disabled 是未向用户显示的开发人员目录类型(sub-catalogs ID)列表。通过控制台插件添加类型(sub-catalogs),可用的类型(sub-catalog ID)可在集群配置页面上提供,或在控制台中编辑 YAML 时。示例:"Devfile", "HelmChart", "BuilderImage",如果列表为空,或添加了所有可用的子目录类型,则应隐藏完整的开发人员目录。 |
|
| enabled 是开发人员目录类型(sub-catalogs ID)的列表,它将向用户显示。通过控制台插件添加类型(sub-catalogs),可用的类型(sub-catalog ID)可在集群配置页面上提供,或在控制台中编辑 YAML 时。示例:"Devfile", "HelmChart", "BuilderImage",如果列表不是空的,则不会向用户显示一个新的类型,直到它添加到列表为止。如果列表为空,则会显示完整的开发人员目录。 |
|
| State 定义是否应启用或禁用目录类型列表。 |
5.1.11. .spec.customization.perspectives
- 描述
- 透视图允许启用/禁用用户在视角切换器下拉菜单中可见的视角。
- 类型
-
数组
5.1.12. .spec.customization.perspectives[]
- 描述
- 视角定义了集群管理员要在视角切换器下拉菜单中显示/隐藏的视角
- 类型
-
object
- 必填
-
id
-
可见性
-
属性 | 类型 | 描述 |
---|---|---|
|
| id 定义视角的 id。示例:"dev", "admin"。可用的视角 id 可以在 yaml 编辑器旁边的代码片段部分找到。不正确的或未知 ID 将被忽略。 |
|
|
pinnedResources 定义默认固定资源列表,如果用户没有自定义这些固定资源本身,用户会在视角导航中看到这些固定资源。可以通过 |
|
| PinnedResourceReference 包括组、版本和资源类型 |
|
| 可见性定义了视角的状态,以及该视角是否需要访问检查。 |
5.1.13. .spec.customization.perspectives[].pinnedResources
- 描述
-
pinnedResources 定义默认固定资源列表,如果用户没有自定义这些固定资源本身,用户会在视角导航中看到这些固定资源。可以通过
kubectl api-resources
读取可用的 Kubernetes 资源列表。控制台还会提供一个配置 UI 和 YAML 片断,用于列出可固定到导航的可用资源。不正确的或未知资源将被忽略。 - 类型
-
数组
5.1.14. .spec.customization.perspectives[].pinnedResources[]
- 描述
- PinnedResourceReference 包括组、版本和资源类型
- 类型
-
object
- 必填
-
group
-
resource
-
version
-
属性 | 类型 | 描述 |
---|---|---|
|
| Group 是资源的 API 组。为 core 组输入空字符串。这个值应该只包含小写字母数字字符、连字符和句点。示例: ""、"apps"、"build.openshift.io"等。 |
|
| resource 是被引用的类型。它通常是小写的资源类型的复数形式。这个值应该只包含小写字母数字字符和连字符。示例:"deployments", "deploymentconfigs", "pods" 等。 |
|
| version 是资源的 API 版本。这个值应该只包含小写字母数字字符。示例:"v1", "v1beta1", 等。 |
5.1.15. .spec.customization.perspectives[].visibility
- 描述
- 可见性定义了视角的状态,以及该视角是否需要访问检查。
- 类型
-
object
- 必填
-
state
-
属性 | 类型 | 描述 |
---|---|---|
|
| accessReview 定义 required 和 missing access review 检查。 |
|
| State 定义透视图为 enabled 或 disabled 或 access review check。 |
5.1.16. .spec.customization.perspectives[].visibility.accessReview
- 描述
- accessReview 定义 required 和 missing access review 检查。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| missing 定义权限检查列表。只有在至少有一个检查失败时,才会显示视角。省略时,会跳过访问审核,并且不会显示视角,除非需要根据所需访问查看列表的配置进行配置。 |
|
| ResourceAttributes 包含对 Authorizer 接口的资源请求的授权属性 |
|
| 必需定义权限检查列表。只有在所有检查都成功时才会显示视角。省略时,会跳过访问审核,并且不会显示视角,除非需要根据缺少访问查看列表的配置进行配置。 |
|
| ResourceAttributes 包含对 Authorizer 接口的资源请求的授权属性 |
5.1.17. .spec.customization.perspectives[].visibility.accessReview.missing
- 描述
- missing 定义权限检查列表。只有在至少有一个检查失败时,才会显示视角。省略时,会跳过访问审核,并且不会显示视角,除非需要根据所需访问查看列表的配置进行配置。
- 类型
-
数组
5.1.18. .spec.customization.perspectives[].visibility.accessReview.missing[]
- 描述
- ResourceAttributes 包含对 Authorizer 接口的资源请求的授权属性
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| Group 是 Resource 的 API 组。"*"代表所有。 |
|
| Name 是为"get"请求的资源的名称,或删除"delete"。"" (空)表示全部。 |
|
| namespace 是所请求操作的命名空间。目前,对于集群范围的资源 "" (empty),没有命名空间和所有命名空间"" (空)之间的差别,对于集群范围的资源 "" (空)代表"all"表示来自 SubjectAccessReview 或 SelfSubjectAccessReview 的命名空间范围资源 |
|
| 资源是现有资源类型之一。"*"表示全部。 |
|
| 子资源是现有资源类型之一。""表示 none。 |
|
| verb 是一个 kubernetes 资源 API 动词,如: get, list, watch, create, update, delete, proxy. "*" 表示所有。 |
|
| version 是资源的 API 版本。"*"表示所有。 |
5.1.19. .spec.customization.perspectives[].visibility.accessReview.required
- 描述
- 必需定义权限检查列表。只有在所有检查都成功时才会显示视角。省略时,会跳过访问审核,并且不会显示视角,除非需要根据缺少访问查看列表的配置进行配置。
- 类型
-
数组
5.1.20. .spec.customization.perspectives[].visibility.accessReview.required[]
- 描述
- ResourceAttributes 包含对 Authorizer 接口的资源请求的授权属性
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| Group 是 Resource 的 API 组。"*"代表所有。 |
|
| Name 是为"get"请求的资源的名称,或删除"delete"。"" (空)表示全部。 |
|
| namespace 是所请求操作的命名空间。目前,对于集群范围的资源 "" (empty),没有命名空间和所有命名空间"" (空)之间的差别,对于集群范围的资源 "" (空)代表"all"表示来自 SubjectAccessReview 或 SelfSubjectAccessReview 的命名空间范围资源 |
|
| 资源是现有资源类型之一。"*"表示全部。 |
|
| 子资源是现有资源类型之一。""表示 none。 |
|
| verb 是一个 kubernetes 资源 API 动词,如: get, list, watch, create, update, delete, proxy. "*" 表示所有。 |
|
| version 是资源的 API 版本。"*"表示所有。 |
5.1.21. .spec.customization.projectAccess
- 描述
- ProjectAccess 允许在 Developer 视角 Project 访问页面中自定义可用 ClusterRole 列表,供项目 admin 用于指定角色到其他用户,并限制项目中的访问。如果设置,列表将替换默认的 ClusterRole 选项。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| availableClusterRoles 是 ClusterRole 名称列表,可通过项目访问标签页分配给用户。 |
5.1.22. .spec.customization.quickStarts
- 描述
- Quickstarts 允许在控制台中自定义可用的 ConsoleQuickStart 资源。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| disabled 是用户未显示的 ConsoleQuickStart 资源名称的列表。 |
5.1.23. .spec.ingress
- 描述
- Ingress 允许为控制台配置替代的 ingress。此字段适用于没有入口功能的集群,在无法访问路由时。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| clientDownloadsURL 是一个 URL,用作下载客户端二进制文件的地址。如果没有指定,则使用下载路由主机名。没有入口(ingress)功能的集群需要此字段,因为无法访问路由。控制台 Operator 将监控 URL,并在延长期间无法访问时可能会降级。必须使用 HTTPS 方案。 |
|
| consoleURL 是用作基本控制台地址的 URL。如果没有指定,则使用控制台路由主机名。没有入口(ingress)功能的集群需要此字段,因为无法访问路由。确保在这个 URL 中设置适当的入口。控制台 Operator 将监控 URL,并在延长期间无法访问时可能会降级。必须使用 HTTPS 方案。 |
5.1.24. .spec.providers
- 描述
- 提供程序包含使用特定服务提供商的配置。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 状态页面包含 statuspage.io 页面的 ID,其中提供了状态信息。 |
5.1.25. .spec.providers.statuspage
- 描述
- 状态页面包含 statuspage.io 页面的 ID,其中提供了状态信息。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| pageID 是页面的 Statuspage 分配的唯一 ID。这必须是公共页面。 |
5.1.26. .spec.route
- 描述
- 路由包含包含服务证书的主机名和 secret 引用。如果指定了自定义路由,则会使用提供的主机名创建新路由,该主机名下提供控制台。如果自定义主机名使用集群的默认路由后缀,则不需要服务证书的 Secret 规格。如果自定义主机名指向任意域,则需要手动 DNS 配置步骤。如果删除了自定义路由,则会维护默认控制台路由,以便为控制台保留默认主机名。如果没有指定,则使用默认路由。弃用
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| hostname 是所需的自定义域,控制台将在其中可用。 |
|
| secret 指向 openshift-config 命名空间中的 secret,其中包含自定义证书和密钥,需要由集群管理员手动创建。引用的 Secret 需要包含以下键值对: - "tls.crt" - 指定自定义证书 - "tls.key" - 指定自定义证书的私钥(如果自定义主机名使用集群的默认路由后缀),则不需要服务证书的 Secret 规格。 |
5.1.27. .spec.route.secret
- 描述
- secret 指向 openshift-config 命名空间中的 secret,其中包含自定义证书和密钥,需要由集群管理员手动创建。引用的 Secret 需要包含以下键值对: - "tls.crt" - 指定自定义证书 - "tls.key" - 指定自定义证书的私钥(如果自定义主机名使用集群的默认路由后缀),则不需要服务证书的 Secret 规格。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| name 是引用的 secret 的 metadata.name |
5.1.28. .status
- 描述
- ConsoleStatus 定义 Console 的观察状态。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| conditions 是条件及其状态列表 |
|
| OperatorCondition 只是标准条件字段。 |
|
| 生成用于确定项目是否需要协调或更改是否需要反应。 |
|
| GenerationStatus 追踪给定资源的生成,以便可以对强制更新的决策进行。 |
|
| observedGeneration 是您处理的最后生成更改 |
|
| readyReplicas 表示有多少副本就绪并处于所需的状态 |
|
| 版本是此可用性适用的级别 |
5.1.29. .status.conditions
- 描述
- conditions 是条件及其状态列表
- 类型
-
array
5.1.30. .status.conditions[]
- 描述
- OperatorCondition 只是标准条件字段。
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| |
|
| |
|
| |
|
| |
|
|
5.1.31. .status.generations
- 描述
- 生成用于确定项目是否需要协调或更改是否需要反应。
- 类型
-
array
5.1.32. .status.generations[]
- 描述
- GenerationStatus 追踪给定资源的生成,以便可以对强制更新的决策进行。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 组是您要跟踪的内容组 |
|
| hash 是为没有生成的情况下为资源设置的可选字段,它们是敏感内容,如 secret 和 configmaps |
|
| lastGeneration 是涉及的工作负载控制器的最后生成 |
|
| name 是您要跟踪的内容的名称 |
|
| 命名空间(namespace)是您要跟踪的事情 |
|
| 资源是您要跟踪的资源类型 |