Gateway API概念引入在文章 03 中你学了 Ingress——K8s 的大门保安负责根据域名和路径把流量分发到不同 Service。但 Ingress 有几个痛点表达能力弱只支持 HTTP 的 host path 匹配想做 header 匹配、权重分流不行配置不标准每个 Ingress Controller 用不同的 annotation换个 Controller 就要重写配置角色不分离运维管网关基础设施开发管路由规则但 Ingress 把两者混在一个资源里Gateway API 就是为了解决这些问题而生的新一代标准。Gateway API新GatewayClass基础设施类型Gateway网关实例HTTPRoute路由规则Ingress旧Ingress一个资源管所有角色分离运维管 Gateway开发管 HTTPRoute原理讲解Gateway API 的三个核心资源资源谁管作用类比GatewayClass基础设施提供商定义网关类型如 nginx、envoy“我要买什么型号的门”Gateway集群运维创建网关实例定义监听器和端口“把门装在哪里开几个口”HTTPRoute应用开发者定义路由规则路径、header、权重“进哪个门走哪条路”路由层开发管基础设施层运维管GatewayClass: nginxGateway: my-gateway监听 :80 和 :443HTTPRoute: web-route/ → web-svcHTTPRoute: api-route/api → api-svcHTTPRoute: canary-route/v2 → v2-svc (20%)/v2 → v1-svc (80%)Ingress vs Gateway API 对比维度IngressGateway API标准化❌ 各 Controller 用不同 annotation✅ 统一标准跨 Controller 兼容路由能力仅 host pathhost path header query method流量分割❌ 不支持✅ 权重分流金丝雀发布角色分离❌ 一个资源✅ 三层分离Class/Gateway/Route协议支持HTTP/HTTPSHTTP/HTTPS/TCP/TLS/gRPC状态稳定但功能受限GA正式可用持续演进HTTPRoute 的强大能力apiVersion:gateway.networking.k8s.io/v1kind:HTTPRoutemetadata:name:advanced-routespec:parentRefs:-name:my-gatewaysectionName:httphostnames:-app.example.comrules:# 规则 1按 header 路由-matches:-headers:-name:x-versionvalue:v2backendRefs:-name:v2-svcport:80# 规则 2按权重分流金丝雀发布-matches:-path:value:/apibackendRefs:-name:api-v1port:80weight:90# 90% 流量到 v1-name:api-v2port:80weight:10# 10% 流量到 v2# 规则 3请求重定向-matches:-path:value:/old-pathfilters:-type:RequestRedirectrequestRedirect:path:type:ReplaceFullPathreplaceFullPath:/new-path迁移路径大多数 Ingress ControllerNginx Ingress、Traefik、Kong已经支持 Gateway API。迁移步骤安装支持 Gateway API 的 Controller创建 GatewayClass 和 Gateway把 Ingress 规则逐一转换为 HTTPRoute验证无误后删除旧 Ingress动手实验配套实验位于docs/labs/beginner/gateway-api/⚠️ 本实验安装 Gateway API CRD资源定义但不安装 Gateway Controller需要额外网络下载镜像。学习重点是资源结构和角色分离——Gateway 和 HTTPRoute 的定义方式、与 Ingress 的对比。本实验用 Gateway API 重新实现 Ingress 的路由规则。步骤 1安装 CRD 并创建后端服务cddocs/labs/beginner/gateway-apibashsetup.sh步骤 2认识 Gateway 资源# 查看已创建的 Gatewaykubectl get gateway# 查看 Gateway 的 YAML 定义kubectl describe gateway my-gatewaycatmanifests/gateway.yaml解读gatewayClassName: nginx指定用哪种网关实现listeners定义监听的端口和协议。这个资源由运维管理——决定网关实例的规格。步骤 3认识 HTTPRoute 资源# 查看已创建的 HTTPRoutekubectl get httproute# 查看路由规则kubectl describe httproute app-routecatmanifests/httproute.yaml解读/api → api:5678/ → web:80。这个资源由开发管理——决定路由规则不需要关心网关是用 nginx 还是 envoy 实现的。步骤 4验证后端服务# 通过 port-forward 直接访问后端无需网关控制器kubectl port-forward svc/web8080:80curl-slocalhost:8080|head-5kill%12/dev/null kubectl port-forward svc/api8081:5678curl-slocalhost:8081kill%12/dev/null 在完整部署中Gateway Controller 会自动配置代理你不需要手动 port-forward。这里直接访问后端是为了验证服务可用。步骤 5理解流量分割金丝雀发布# 查看权重分流路由定义catmanifests/canary-route.yaml# 创建资源没有 Controller 不会有实际分流效果但能学习 API 结构kubectl apply-fmanifests/canary-route.yaml kubectl get httproute canary-route-oyaml|grep-A10backendRefs关键字段weight: 80和weight: 20——声明式地定义流量比例不需要 annotation。步骤 6清理bashteardown.sh自检问题Gateway API 的三层结构GatewayClass / Gateway / HTTPRoute分别由谁管理查看答案 **GatewayClass** 由基础设施提供商定义如 Nginx 提供 nginx GatewayClass。**Gateway** 由集群运维管理——决定在哪里创建网关实例、监听哪些端口。**HTTPRoute** 由应用开发者管理——定义具体的路由规则。这种分离让运维和开发各司其职互不干扰。Ingress 的 annotation 有什么问题Gateway API 怎么解决的查看答案 Ingress 的 annotation 不是标准 API不同 ControllerNginx Ingress、Traefik、Kong用不同的 annotation 实现相同功能。换 Controller 就要改 annotation。Gateway API 是 K8s 官方标准 API所有兼容的 Controller 都支持相同的 HTTPRoute 语法换 Controller 不需要改路由配置。你的团队要做一个灰度发布10% 流量到新版本用 Ingress 和 Gateway API 分别怎么实现查看答案 **Ingress**需要用 Controller 特定的 annotation 实现分流如 Nginx Ingress 的 canary 注解不可移植。**Gateway API**直接在 HTTPRoute 的 backendRefs 中设置 weight: 90 和 weight: 10标准 API任何兼容的 Controller 都支持。下一步Gateway API 是 Ingress 的未来。你的基础功已经扎实了接下来进入进阶实战阶段恭喜你已经完成了 K8s Guide 初学者轨道的全部 11 篇文章。从零基础到能独立部署、排查、运维 K8s 应用——你已经掌握了核心知识。接下来的面试轨道会帮你把这些知识转化为 Offer。本文来自 K8s Guide—— 开源免费的 Kubernetes 中文学习指南️ 初学者轨道 面试轨道从零基础到拿 Offer 一站式覆盖 每篇文章配套 Kind 实验脚本本地一键运行 本文源码docs/beginner/20-gateway-api.md⭐如果对你有帮助欢迎 Stargithub.com/callmebg/k8s-guide
高效、免费、开源:GetQzonehistory让QQ空间历史说说备份变得简单 高效、免费、开源:GetQzonehistory让QQ空间历史说说备份变得简单 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 还记得那些年,在QQ空间里留下的青春印记吗&…
Wayfinder Router:AI应用成本与性能优化的智能路由解决方案 如果你正在构建AI应用,可能会遇到这样的困境:调用云端大模型API成本高、响应慢,而本地部署的模型虽然成本可控但能力有限。如何在保证服务质量的同时控制成本?Wayfinder Router提供了一个全新的解决方案——它不是在模型层面做选择…
26 款别克至境 E7 车灯升级案例|米格国际 4 矩阵模组无损改装,夜间行车照明拉满 - 英特菲斯 一、车辆基础信息 车型:26 款别克至境 E7 新能源 SUV 送改门店:米格国际专业车灯改装机构(昆明本地专注新能源车型大灯升级老店) 升级方案:单侧 2 组矩阵模组,整车4 矩阵远光模组搭配专车专用 LED 双光透镜无损升…
3步掌握星露谷物语农场规划器:免费工具打造完美农场 3步掌握星露谷物语农场规划器:免费工具打造完美农场 【免费下载链接】stardewplanner Stardew Valley farm planner 项目地址: https://gitcode.com/gh_mirrors/st/stardewplanner 你是否曾在星露谷的广阔土地上感到迷茫?面对杂草丛生的农场&…
C语言指针完全指南:从基础到高级应用 1. C语言指针完全指南:从入门到精通 指针是C语言中最强大也最令人困惑的特性之一。作为一位有十年C语言开发经验的工程师,我见过太多初学者在指针面前败下阵来,也见证过掌握指针后开发者能力的质的飞跃。指针就像一把双刃剑 - 用好了可以写出…
计算机毕业设计之基于springboot的动漫信息管理系统 当下社会,信息技术充斥社会各个领域,已融入人们生活的点滴,日常中人们管理信息、办理业务、购买商品等都可以网络线上进行,快速而又便利,特别是随着移动互联网时代的到来,更是让人们随时享受着网络给带来的…
计算球体积 Problem Description 根据输入的半径值,计算球的体积。 Input 输入数据有多组,每组占一行,每行包括一个实数,表示球的半径。 Output 输出对应的球的体积,对于每组输入数据,输出一行,计算结果保留…
Sunshine自托管游戏串流服务器:从入门到精通的完整指南 Sunshine自托管游戏串流服务器:从入门到精通的完整指南 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 你是否厌倦了在不同设备间重复安装游戏?是否想在客厅…
GEO优化服务商推荐:哪个系统能真正量化效果? - 行业深度分析 GEO优化服务商推荐:哪个系统能真正量化效果? 本地生活服务商家、B2B工业企业、电商品牌和公关团队最该选昊GEO优化系统(ForesightNext),因为其客户案例显示,一家本土装修公司围绕“装修避坑”高频提问产出专业内…
告别臃肿!3步让你的暗影精灵笔记本重获新生 告别臃肿!3步让你的暗影精灵笔记本重获新生 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否也曾为官方Om…
RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%! 做 RAG 的人应该都踩过这个致命的坑:把几百页的财报、法规、技术手册扔给向量库,问一个具体问题,搜出来的全是沾边但没用的内容 —— 关键信息要么被硬切块拆碎了,要么藏在几十条结果的最下面。语义相似≠真正相关,这个…
抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽 2026年做短视频运营,从抖音上扒文案早就不是偷偷抄笔记的事了。我刚开始做内容的时候,每天刷半小时抖音,手动把爆款视频的口播敲进备忘录,一条2分钟的视频得花十来分钟,碰到语速快的还要反复回听。后来试了一圈工具&am…
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集 Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…
智慧飞行 大疆无人机一站式智能管控平台/支持大疆机场/私有化部署 从航线规划、自动飞行、AI识别到数据管理,一个平台全搞定 智慧飞行-大疆无人机一站式智能管控平台/支持大疆机场/私有化部署 企业级全域智能无人机一体化管控平台源码! 专为电力巡检、安防监控、应急救援、测绘勘察等行业打造,让您的无人机舰队实现 “无人化、自动化、智能化” 管理! 🎯 …
揭秘ChatGPT+Mathematica协同教学:为什么92%的初学者在72小时内建立函数直觉? 更多请点击: https://codechina.net 第一章:AI帮助理解数学概念 人工智能正以前所未有的方式重塑数学学习的路径。通过自然语言处理与符号计算的深度融合,AI不仅能解析抽象定义,还能将定理、证明和几何直觉转化为可交互、可验证的…
[C++]内存管理:串顺序存储的内存回收 在串(字符串)的顺序存储中,内存回收的方式取决于字符串的存储方式以及所使用的编程语言和相关库。以下以 C 为例进行说明,因为 C 对内存管理有较为直接的控制。 1. 基于 char 数组的串顺序存储 如果使用普通的 char 数组来存储字…
移动端游戏功耗测试实战:电流、功率、亮度和场景对比 移动端游戏功耗测试:先控制变量,再比较优化是否真的省电 摘要:功耗测试最容易犯的错误,是拿两次不同温度、不同亮度、不同场景的平均功率直接比较。本文给出一套可复现的游戏功耗测试方法,覆盖引擎特性验证、版本回归和黑盒体验测试,并说明如何把功耗与帧率、温控、CPU/G…
足球口袋教练 HarmonyOS 离线应用实战(03/20):ArkUI 首页仪表盘搭建 本文是“足球口袋教练 HarmonyOS 离线应用实战”系列第 3 篇。示例项目是一个 HarmonyOS / ArkTS / ArkUI 编写的离线足球训练助手,围绕真实页面、真实截图和可复现操作展开。 本篇要解决的问题 训练 App 的首页不能只展示欢迎语,它要解决“我现在该点哪…