1. 资源模型概览
Gateway API 通过一组相互关联的 CRD 描述服务网络,资源统一位于 gateway.networking.k8s.io API 组。核心对象包括:
- GatewayClass:集群级资源,定义一类网关的实现方式与控制器。
- Gateway:命名空间级资源,定义监听器(Listeners)与网络入口。
- Route(路由):协议相关的路由资源,将 Gateway 监听器流量映射到后端服务。
- Policy(策略):通过策略附着(Policy Attachment)机制,将超时、重试、鉴权等能力挂载到 Gateway 或 Route。
- ReferenceGrant:跨命名空间引用的安全授权机制。
2. 资源间的依赖关系
- 一个 Gateway 关联且只关联一个 GatewayClass;GatewayClass 通过 spec.controllerName 描述实现该类的控制器名称。
- 一个或多个 Route 通过 parentRefs 绑定到 Gateway 的监听器,形成双向信任模型:Gateway 过滤可绑定的路由,路由引用 Gateway 作为父级。
- 部分能力由独立资源承载,例如 BackendTLSPolicy 负责网关到后端的 TLS,ReferenceGrant 负责跨命名空间后端引用的授权。