网关¶
自 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 中其他地方使用的条件模式。这是一个包含条件类型、条件状态以及此条件上次更改时间的列表。