尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Gateway API:Ingress 的下一代替代方案

Gateway API:Ingress 的下一代替代方案
📅 发布时间:2026/7/5 3:20:17

文章目录

    • 前言
      • 两者之间相比
    • 部署
      • 环境
      • 操作步骤
        • 部署
          • 安装 Gateway API CRD + Envoy Gateway
          • 安装metallb
          • 配 MetalLB 的 IP 池
          • 安装GatewayClass + Gateway
        • 示例
          • 创建httproute
          • 添加dns解析
          • 结果展示

前言

因为ingress在今年3 月就已经停止维护,后面不再发布新版本、修复漏洞或更新安全补丁。所以来写一下k8s官方推荐的ingress的下一代替代方案Gateway api

两者之间相比

对比项IngressGateway API
定位早期入口标准,已停止功能演进官方钦定的下一代标准
路由能力仅 host + path原生支持 header/query 匹配、流量权重、重定向、重写
高级功能依赖厂商 annotation,不可移植标准字段实现,跨实现通用
协议支持仅 HTTP/HTTPSHTTP、gRPC、TCP、TLS 多协议
权限模型单一资源,运维/开发职责混杂GatewayClass / Gateway / HTTPRoute 分层,角色分离,RBAC 更精细
灰度发布需 annotation 或多个 Ingress 拼凑原生支持按权重分流
跨 namespace本身不支持原生支持跨 namespace 路由
生态趋势Ingress NGINX 2026 年 3 月退役官方推荐迁移方向,服务网格也在统一

部署

环境

Ip主机名cpu内存
192.168.10.12master014c6G
192.168.10.13node14c6G
192.168.10.14node24c6G
192.168.10.100nfs2c2g
组件版本
UbuntuUbuntu 26.04 server
containerdv2 2.2.2
Kubernetesv1.36.1
victoria-metrics-k8s-stackv1.146.0

操作步骤

部署
安装 Gateway API CRD + Envoy Gateway
kubectl apply--server-side-f https://github.com/envoyproxy/gateway/releases/download/v1.8.2/install.yaml# 等待几分钟kubectl get crd|grep gateway.networking

安装metallb
kubectl apply-f https://raw.githubusercontent.com/metallb/metallb/v0.16.1/config/manifests/metallb-native.yaml
配 MetalLB 的 IP 池
cat<<EOF|kubectl apply-f-apiVersion: metallb.io/v1beta1 kind: IPAddressPool metadata: name: default-pool namespace: metallb-system spec: addresses:-192.168.10.200-192.168.10.250---apiVersion: metallb.io/v1beta1 kind: L2Advertisement metadata: name: default namespace: metallb-system EOF
安装GatewayClass + Gateway
cat<<EOF|kubectl apply-f-apiVersion: gateway.networking.k8s.io/v1 kind: GatewayClass metadata: name: envoy spec: controllerName: gateway.envoyproxy.io/gatewayclass-controller---apiVersion: gateway.networking.k8s.io/v1 kind: Gateway metadata: name: main-gw namespace: monitoring spec: gatewayClassName: envoy listeners:-name: http protocol: HTTP port: 80 allowedRoutes: namespaces:from: All# 所有命名空间能挂路由EOF kubectl get gateway-n monitoring

PROGRAMMED如果为false是因为pod还没有running

示例

以本地部署的victoria-metrics-k8s-stack举例
链接: victoria-metrics-k8s-stack部署

victoria-metrics-k8s-stack里需要暴露的是 5 个:grafana(看板)、vmselect(vmui 查询)、vmalert(规则状态)、vmalertmanager(告警管理)、vmagent(抓取目标状态)。其他都是纯接口,不用暴露。

创建httproute
cat<<EOF|kubectl apply-f-apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: name: grafana# httproute名称namespace: monitoring# httproute命名空间spec: parentRefs:-name: main-gw# gateway名称hostnames:["grafana.monitoring.sit.internal"]# 域名rules:-backendRefs:-name: vmks-grafana#svc名称port: 80#svc端口---apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: name: vmui namespace: monitoring spec: parentRefs:-name: main-gw hostnames:["vmui.monitoring.sit.internal"]rules:-backendRefs:-name: vmselect-vmks-victoria-metrics-k8s-stack port: 8481---apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: name: vmalert namespace: monitoring spec: parentRefs:-name: main-gw hostnames:["vmalert.monitoring.sit.internal"]rules:-backendRefs:-name: vmalert-vmks-victoria-metrics-k8s-stack port: 8080---apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: name: alertmanager namespace: monitoring spec: parentRefs:-name: main-gw hostnames:["alertmanager.monitoring.sit.internal"]rules:-backendRefs:-name: vmalertmanager-vmks-victoria-metrics-k8s-stack port: 9093---apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: name: vmagent namespace: monitoring spec: parentRefs:-name: main-gw hostnames:["vmagent.monitoring.sit.internal"]rules:-backendRefs:-name: vmagent-vmks-victoria-metrics-k8s-stack port: 8429 EOF

可以通过获取httproute来管理域名

kubectl get httproute-A

添加dns解析

win11 host路径

C:\Windows\System32\drivers\etc\hosts

在最后添加

192.168.10.200 grafana.monitoring.sit.internal vmui.monitoring.sit.internal vmalert.monitoring.sit.internal alertmanager.monitoring.sit.internal vmagent.monitoring.sit.internal

注:通过本地dns解析时需要把代理关闭,不然会访问不到

结果展示

grafana.monitoring.sit.internal

注;vmui有后缀
vmui.monitoring.sit.internal/select/0/vmui/

vmalert.monitoring.sit.internal

alertmanager.monitoring.sit.internal

vmagent.monitoring.sit.internal

相关新闻

  • UE4 SceneCaptureComponent2D 实战:3步实现UI内3D模型360°预览(附蓝图)
  • C++中的String的常用函数用法
  • 史上最简单!sirpdboy固件一键搞定软路由刷机、调试、扩容,彻底告别麻烦!

最新新闻

  • OpenCV+YOLO实战:快速搭建机器人视觉感知系统
  • Cypress vs Playwright:端到端测试框架实战选型与迁移指南
  • Yale OpenHand:重新定义机器人抓取的开源硬件革命
  • 开题写作告别反复改稿,okbiye 一站式 AI 开题功能打通科研起步全流程
  • 从Prompt到自动化:Loop Engineering构建AI Agent自主工作流
  • Fiddler - 前端开发值得拥有

日新闻

  • 基于YOLOv12的番茄成熟度智能检测系统开发
  • 终极RimWorld模组管理指南:用RimSort告别模组冲突烦恼
  • AI Agent框架开发:从理论到实践的完整指南

周新闻

  • 基于YOLOv12的番茄成熟度智能检测系统开发
  • 终极RimWorld模组管理指南:用RimSort告别模组冲突烦恼
  • AI Agent框架开发:从理论到实践的完整指南

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号