网关¶
自 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- 描述网关的当前状态条件。
Conditions 和 Listeners.conditions 都遵循 Kubernetes 中其他地方使用的条件模式。这是一个包含条件类型、条件状态以及此条件上次更改时间的列表。