You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

K8s中如何配置Ingress将流量路由到Pod指定服务端点

Ingress实现方案

前置检查

配置前先确认两个前提:

  • 集群已部署可用的Ingress控制器(生产最常用的是ingress-nginx,云厂商也有对应托管的Ingress实现,未装控制器的话Ingress规则不会生效)
  • 你的Go应用已经通过Deployment部署完成,且创建了对应Service,Service的targetPort和Go应用实际监听的端口保持一致

配置示例

你的需求是访问xx.yy.com根路径时,流量转发到后端Go应用的/v1/example端点,核心是给Ingress加路径重写注解,完整配置参考如下:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: go-app-ingress
  namespace: 替换成你应用所在的命名空间
  annotations:
    # 路径重写规则,将匹配到的路径转发到后端的/v1/example
    nginx.ingress.kubernetes.io/rewrite-target: /v1/example
spec:
  ingressClassName: nginx # 替换成你实际用的Ingress控制器类名
  rules:
  - host: xx.yy.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: 替换成你Go应用对应的Service名称
            port:
              number: 替换成你Service暴露的端口

配置说明:

  • 如果只需要精确匹配域名根路径(即访问xx.yy.com才转发,访问xx.yy.com/other直接返回404),把pathType从Prefix改成Exact即可
  • 如果你用的是其他类型的Ingress控制器(比如Traefik、ALB Ingress),路径重写的注解key要换成对应控制器要求的格式,逻辑是一致的

生效验证

  1. 先获取Ingress控制器的对外访问IP:执行kubectl get svc -n ingress-nginx,找到ingress-nginx-controller服务对应的EXTERNAL-IP
  2. 本地配置hosts解析把xx.yy.com指向上面拿到的IP,或者在云域名服务商处配置DNS解析记录指向该IP
  3. 浏览器访问xx.yy.com,验证是否正常返回Go应用/v1/example接口的响应即可

替代实现方案

如果不想用Ingress,生产环境还有几个常用方案可选:

  • 采用K8s Gateway API:这是K8s官方推出的下一代流量路由标准,相比Ingress抽离了网关基础设施和路由规则的绑定关系,支持更细粒度的流量策略(比如流量拆分、跨命名空间路由、mTLS等),适合集群规模大、多团队共享网关的场景,需要提前部署Gateway API CRD和对应实现(比如ingress-nginx、Cilium均已支持)
  • 直接对接公有云七层负载均衡:如果集群部署在公有云,可直接创建云厂商的ALB/CLB实例,配置七层监听器绑定xx.yy.com域名,添加转发规则将根路径的请求转发到Go应用所在的后端服务器组,同时配置路径重写为/v1/example,无需自行维护Ingress控制器,稳定性由云厂商兜底
  • 部署独立网关层:在集群中单独部署Nginx/OpenResty/APISIX等网关服务,通过LoadBalancer或NodePort暴露服务,直接在网关配置中编写路由规则,将xx.yy.com的根路径请求转发到Go应用Service地址,同时配置路径重写,适合需要高度自定义网关逻辑、不想受Ingress注解能力限制的场景
  • 测试环境临时方案:执行kubectl port-forward svc/你的Go应用Service名 本地端口:服务端口,直接通过本地端口访问应用,仅适合本地调试使用,不能用于生产。

内容的提问来源于stack exchange,提问作者GurbaniX

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 12:01:14