跳至内容

网关

自 v0.5.0 起的标准通道

Gateway 资源是 GA,并且自 v0.5.0 起一直是标准通道的一部分。有关发布通道的更多信息,请参阅我们的 版本控制指南.

Gateway 与基础设施配置的生命周期一一对应。当用户创建 Gateway 时,GatewayClass 控制器会配置或配置一些负载平衡基础设施(有关详细信息,请参见下文)。Gateway 是触发此 API 中操作的资源。此 API 中的其他资源只是配置片段,直到创建网关以将这些资源链接在一起。

Gateway 规范定义了以下内容

  • GatewayClassName - 定义此网关使用的 GatewayClass 对象的名称。
  • Listeners - 定义主机名、端口、协议、终止、TLS 设置以及哪些路由可以附加到监听器。
  • Addresses - 定义为此网关请求的网络地址。

如果无法实现网关规范中指定的所需配置,网关将处于错误状态,并提供状态条件的详细信息。

部署模型

根据 GatewayClass,创建 Gateway 可能执行以下任何操作

  • 使用云 API 创建 LB 实例。
  • 在(此或其他)集群中生成软件 LB 的新实例。
  • 向已实例化的 LB 添加配置节,以处理新的路由。
  • 对 SDN 进行编程以实现配置。
  • 我们还没有想到的其他事情…

API 未指定将执行这些操作中的哪一个。

网关状态

GatewayStatus 用于显示相对于 spec 中表示的所需状态的 Gateway 状态。GatewayStatus 包含以下内容

  • Addresses - 列出实际绑定到网关的 IP 地址。
  • Listeners - 提供 spec 中定义的每个唯一监听器的状态。
  • Conditions - 描述网关的当前状态条件。

ConditionsListeners.conditions 都遵循 Kubernetes 中其他地方使用的条件模式。这是一个包含条件类型、条件状态以及此条件上次更改时间的列表。