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

GKE默认GCE Ingress控制器下Linkerd路由指标无法生效求助

GKE GCE Ingress 与 Linkerd 配合获取路由指标问题

问题描述

在GKE中运行微服务,尝试让默认GKE GCE Ingress与Linkerd配合以获取基于路由的指标。根据Linkerd文档,GCE Ingress应启用ingress模式注入(使用linkerd.io/inject: ingress注解而非默认的enabled)。配置了如下Ingress资源后,路由指标仍未生成,通过linkerd tap检查发现rt_route未被设置。怀疑该注解应添加到Ingress控制器,但由于是GKE托管的,不知道如何操作。

Ingress配置:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: web-ingress
  namespace: emojivoto
  annotations:
    ingress.kubernetes.io/custom-request-headers: "l5d-dst-override: web-svc.emojivoto.svc.cluster.local:80"
    ingress.gcp.kubernetes.io/pre-shared-cert: "managed-cert-name"
    kubernetes.io/ingress.global-static-ip-name: "static-ip-name"
    linkerd.io/inject: ingress
spec:
  ingressClassName: gce
  rules:
  - host: example.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: web-svc
            port:
              number: 80

解决方案

1. 纠正注入注解的使用位置

你将linkerd.io/inject: ingress注解加在了Ingress资源上,这是无效的——该注解用于触发Linkerd Sidecar注入到Pod中,Ingress资源本身不会被注入。

由于GKE托管的GCE Ingress控制器属于系统组件(运行在kube-system命名空间),用户无法直接修改其Pod或Deployment的注解来注入Sidecar,因此这条路走不通。

2. 添加路由覆盖头生成指标

要让Linkerd生成rt_route指标,需要在Ingress转发的请求中添加l5d-route-override头,配合已有的l5d-dst-override头使用:

  • 修改Ingress的ingress.kubernetes.io/custom-request-headers注解,补充路由覆盖配置:
    ingress.kubernetes.io/custom-request-headers: "l5d-dst-override: web-svc.emojivoto.svc.cluster.local:80,l5d-route-override: /"
    
    这里的/对应Ingress规则中的路径前缀,可根据实际路由规则调整(比如/api/*对应l5d-route-override: /api)。

3. 确保后端服务已被Linkerd注入

确认后端web-svc对应的Deployment已添加默认模式的Linkerd注入注解:

  • 在Deployment的metadata.annotations中添加linkerd.io/inject: enabled,或通过命令重新部署:
    kubectl get deployment web -n emojivoto -o yaml | linkerd inject - | kubectl apply -f -
    

4. 验证配置效果

更新Ingress和后端Deployment后,通过linkerd tap再次检查流量:

linkerd tap deploy/web -n emojivoto

此时应能看到rt_route标签被正确设置为l5d-route-override中指定的值,对应的路由指标也会在Linkerd Dashboard中显示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 00:41:59