Linkerd 路由指标是否可以与指向集群外部的ExternalName 一起使用?

问题描述 投票:0回答:1

我一直在尝试使用 Linkerd 基于路由的指标来联系 Kubernetes 集群外部的 DNS。理想情况下,我想知道这些请求的成功率和失败率。延迟也会有帮助;因此 Linkerd 似乎是一个潜在的合适人选。

有关于启用基于路由的指标的文档,并且甚至提到它们使用外部名称工作。太棒了!

但是,当我在集群上实现此功能时,我没有成功获取任何指标。 Linkerd 不支持这个吗?

理想情况下,我希望能够计量离开集群的出站请求并确定它们的成功/失败率和延迟。

我提供了一个简化的示例 YAML 配置,其中从注入 Linkerd 的集群上应用程序向服务对象发出请求。我尝试将这些请求中的 l5d-header 附加到

test.default.svc.cluster.local
。在我测试过的情况下,我得到 200 响应(通过外部名称向 DNS 发出的请求成功)。但是,Prometheus 中没有出现基于路由的指标。

kind: Service
apiVersion: v1
metadata:
  name: test
spec:
  type: ExternalName
  externalName: redacted.com # External to my cluster. Does not have Linkerd proxy attached.
  ports:
  - protocol: TCP
    port: 80
    targetPort: 80
---
apiVersion: linkerd.io/v1alpha2
kind: ServiceProfile
metadata:
  name: test.default.svc.cluster.local
spec:
  routes:
  - condition:
      method: GET
      pathRegex: '.*'
    name: External Name GET
    responseClasses:
    - condition:
        status:
          min: 500
          max: 599
      isFailure: true

为了进行验证,我直接检查了 Prometheus。我还尝试使用

linkerd-viz routes

验证功能

有谁知道可能出了什么问题,或者这可能不受支持?

linkerd
1个回答
0
投票

Linkerd 尚不支持此功能。根据 Buoyant 的说法,它有可能在 Linkerd 1.26 中发布

© www.soinside.com 2019 - 2024. All rights reserved.