Gateway API 的核心组件与作用

第一次听到 Gateway API,很多人都会下意识问一句:"这不就是 Ingress 2.0 吗?"

表面上看确实都是"把外部流量带进集群、再转到 Service",但 Gateway API 真想解决的不是"能不能转发",而是入口治理怎么分工、权限怎么划分、路由能力怎么标准化。

你可以把它当成一次"把门口这摊事理顺"的改造:

谁来建门?门开几个口?谁能改路由?跨团队引用资源要不要审批?这些在 Ingress 时代不是做不到,而是做起来经常靠注解、靠约定、靠人肉协商------一忙起来就乱。Gateway API 的价值就在于:把这些规则拆开写进标准里。

先把整体思路说清楚:Gateway API 想把"门"和"路"分开

Ingress 往往是"一个对象塞很多事":入口、TLS、路由、扩展能力全堆在一起。问题是什么?

平台团队想稳定控制入口,但业务团队又想快速改路由;权限边界一模糊,改个路径都可能影响全站。你说这能不紧张吗?

Gateway API 的设计非常明确:

入口网关是入口网关(平台管),路由规则是路由规则(业务管),跨命名空间引用要授权(谁都别越界)。

思路清楚了,组件也就顺理成章。

GatewayClass:告诉集群"用哪一种网关实现"

GatewayClass 更像"选型声明"。它会绑定具体的 Controller(比如某个网关控制器或云厂商实现),意思是:

以后这种网关由谁来负责落地、支持哪些能力、按什么方式创建。

通常这东西是平台团队管的。原因也很现实:网关实现选错了,影响的是整个集群入口,不是某一个业务的事。谁会让业务同学随手换"公司大门"的施工队呢?

Gateway:真正的"入口网关实例",负责接流量

Gateway 是实际干活的入口网关对象。它会定义:

  • 监听哪些端口(80/443?还是其他?)

  • 用什么协议(HTTP/HTTPS/TCP/TLS...)

  • TLS 证书怎么配

  • 哪些 Route 可以挂到我这个网关上(也就是谁有资格往这里加路由)

你可以把 Gateway 想成"门"本身:门开在哪、开几扇、怎么安保、谁能进来修改导向规则------这些都在 Gateway 的职责范围内。

Route:决定"流量怎么走",这才是业务最常改的东西

如果说 Gateway 是门,那 Route 就是门里面的"导向标识和车道规划"。Gateway API 把路由按协议拆成一组对象,用哪个协议就用哪个 Route:

  • HTTPRoute:最常用,按 Host/Path/Header 等做路由、重写、重定向、灰度分流

  • GRPCRoute:面向 gRPC 的路由(按服务/方法等维度)

  • TLSRoute:基于 SNI 的 TLS 路由

  • TCPRoute / UDPRoute:四层转发(看具体实现支持)

业务侧最爽的点在这里:

你只需要在自己的 namespace 里写 Route,把流量导到自己的 Service 就行,不用天天碰"门"的配置。想灰度?想按 header 分流?想把 /v1 和 /v2 拆开?路由层搞定。

ReferenceGrant:跨命名空间引用的"授权书",把边界讲清楚

这可能是 Gateway API 最容易被忽视、但又特别关键的一块。现实里经常出现这种情况:

  • 网关在 infra namespace

  • 业务在 app namespace

  • TLS Secret、后端 Service、或某些资源又在别的 namespace

那问题来了:你能不能随便引用别人的资源?

Ingress 时代很多时候靠 controller 自己的规则或者"大家别乱来"的约定,真出事了就扯皮。

Gateway API 直接把规则标准化:跨命名空间引用要有 ReferenceGrant 授权。

它就像一张"盖章许可":允许哪个 namespace 的 Route 引用哪个 namespace 的资源(Service/Secret 等)。边界写清楚了,团队协作就没那么互相猜了。

把它们串起来:一条链路就能讲明白

Gateway API 的核心关系可以这样理解:

  • GatewayClass:选用哪种网关实现(谁来实现)

  • Gateway:网关入口本体(门怎么开)

  • Route:流量规则(车怎么走)

  • ReferenceGrant:跨 namespace 引用授权(能不能用别人的资源)

更直观一点就是:

先选网关实现 → 建一个入口网关 → 业务把路由规则挂上去 → 跨命名空间引用需要授权。

总而言之:Gateway API 强在"分工明确"

Gateway API 真正厉害的地方,不是让你写更多 YAML,而是把入口治理拆得更工程化:

  • 平台团队管"门"(GatewayClass/Gateway),保证稳定与安全

  • 业务团队管"路由"(Route),保证迭代速度

  • 跨团队资源引用有"授权机制"(ReferenceGrant),避免越界

你想想,入口流量就是集群门面,权限边界不清晰、规则不标准化,迟早会出事。Gateway API 把这些说清楚、写进标准里,这才是它存在的意义。

相关推荐
木子欢儿1 天前
在 Linux上配置 rclone,将 Cloudflare R2 和 Minio 挂载为本地硬盘。
linux·运维·服务器
weixin_307779131 天前
使用COPY INTO从S3导入CSV文件到Snowflake表的问题分析与自动化验证方案
运维·自动化·原型模式
贺小涛1 天前
Linux系统堆与栈原理深度剖析
linux·运维·服务器
mhkxbq1 天前
山东企业采购信创H3C服务器,R4700G5等多款型号哪家适合?
运维·服务器
LlNingyu1 天前
什么是SSRF,它最基本的形式是什么(一)
前端·网络·安全·web安全·xss·csrf
小马过河R1 天前
新一代智能运维(AIOPS):革新架构与技术实现路径
运维·人工智能·语言模型·架构·aiops
Benszen1 天前
K8S存储管理:Volume、PV/PVC与StorageClass详解
容器·rpc·kubernetes
在荒野的梦想1 天前
Docker + K8s 部署若依微服务 | 从 0 到 1 实战指南(Dockerfile + Harbor + Helm)
docker·微服务·kubernetes
chxii1 天前
Nginx 反向代理详解
运维·nginx
天理智能科技1 天前
工厂 3D 建模服务与流程|数字孪生基础工程【天理智能】
运维·服务器