第 16 章 GatewayClass [gateway.networking.k8s.io/v1]


描述

GatewayClass 描述了可供用户创建网关资源的网关类。

建议将此资源用作网关的模板。这意味着网关是基于创建 GatewayClass 的状态,并且对 GatewayClass 或关联参数的更改不会传播到现有网关。这个建议旨在限制 GatewayClass 或相关参数的更改。如果实现选择将 GatewayClass 更改传播到现有网关,则实施中必须明确记录该网关。

每当一个或多个网关使用 GatewayClass 时,实现 SHOULD 会在关联的 GatewayClass 上添加 gateway-exists-finalizer.gateway.networking.k8s.io finalizer。这样可确保在使用时不会删除与网关关联的 GatewayClass。

GatewayClass 是一个集群级别资源。

类型
object
必填
  • spec

16.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 定义 GatewayClass 所需的状态。

status

object

Status 定义 GatewayClass 的当前状态。

实现需要为所有 GatewayClass 资源填充状态,以指定其控制器名称。

16.1.1. .spec

描述
spec 定义 GatewayClass 所需的状态。
类型
object
必填
  • controllerName
Expand
属性类型描述

controllerName

string

ControllerName 是管理此类网关的控制器的名称。此字段的值必须是域前缀路径。

示例:"example.net/gateway-controller"。

此字段不可可变,不能为空。

支持:Core

description

string

描述可帮助描述 GatewayClass,其更多详情。

parametersRef

object

ParametersRef 是对包含与 GatewayClass 对应的配置参数的资源的引用。如果控制器不需要任何其他配置,则这是可选的。

ParametersRef 可以引用标准 Kubernetes 资源,如 ConfigMap 或特定于实现的自定义资源。资源可以是集群范围的,也可以是命名空间范围的。

如果无法找到引用,请参阅不支持的 kind 或当该资源中的数据格式不正确时,GatewayClass SHOULD 将被拒绝,并将 "Accepted" 状态条件设置为 "False",以及 "InvalidParameters" 原因。

此网关Class 的网关可能会提供自己的 参数Ref。当两者都被指定时,合并行为是特定于实现的。通常建议 GatewayClass 提供可由网关覆盖的默认值。

支持:特定于实施

16.1.2. .spec.parametersRef

描述

ParametersRef 是对包含与 GatewayClass 对应的配置参数的资源的引用。如果控制器不需要任何其他配置,则这是可选的。

ParametersRef 可以引用标准 Kubernetes 资源,如 ConfigMap 或特定于实现的自定义资源。资源可以是集群范围的,也可以是命名空间范围的。

如果无法找到引用,请参阅不支持的 kind 或当该资源中的数据格式不正确时,GatewayClass SHOULD 将被拒绝,并将 "Accepted" 状态条件设置为 "False",以及 "InvalidParameters" 原因。

此网关Class 的网关可能会提供自己的 参数Ref。当两者都被指定时,合并行为是特定于实现的。通常建议 GatewayClass 提供可由网关覆盖的默认值。

支持:特定于实施

类型
object
必填
  • group
  • kind
  • name
Expand
属性类型描述

group

string

组是引用的组。

kind

string

kind 是引用的类型。

name

string

name 是引用的名称。

namespace

string

namespace 是引用的命名空间。当引用命名空间范围的资源时,需要此字段,在引用集群范围的资源时必须取消设置。

16.1.3. .status

描述

Status 定义 GatewayClass 的当前状态。

实现需要为所有 GatewayClass 资源填充状态,以指定其控制器名称。

类型
object
Expand
属性类型描述

conditions

数组

条件是此 GatewayClass 的控制器中的当前状态。

控制器应更喜欢为每个 Condition 类型使用 GatewayClassConditionType 值发布条件。

conditions[]

object

condition 包含此 API 资源当前状态的一个方面的详细信息。

16.1.4. .status.conditions

描述

条件是此 GatewayClass 的控制器中的当前状态。

控制器应更喜欢为每个 Condition 类型使用 GatewayClassConditionType 值发布条件。

类型
array

16.1.5. .status.conditions[]

描述
condition 包含此 API 资源当前状态的一个方面的详细信息。
类型
object
必填
  • lastTransitionTime
  • message
  • reason
  • status
  • type
Expand
属性类型描述

lastTransitionTime

字符串

lastTransitionTime 是条件从一个状态转换到另一个状态最后一次的时间。这应该是底层条件变化的时间。如果为未知,则使用 API 字段更改的时间是可以接受的。

message

字符串

Message 是人类可读的消息,指示有关转换的详细信息。这可能是一个空字符串。

observedGeneration

整数

observedGeneration 代表 .metadata.generation,这是条件设置所基于的条件。例如,如果 .metadata.generation 目前为 12,但 .status.conditions[x].observedGeneration 是 9,则代表条件与实例的当前状态已不匹配。

reason

字符串

reason 包含程序标识符,指示条件最后一次转换的原因。特定条件类型的制作者可能会定义预期的值和此字段的含义,以及这些值是否被视为有保证的 API。该值应该是 CamelCase 字符串。此字段可能不是空的。

status

字符串

条件的状态,True, False, Unknown 之一。

type

字符串

CamelCase 或 foo.example.com/CamelCase 中的条件类型。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat