繁体   English   中英

使用 Traefik 2 镜像流量

[英]Mirror traffic using Traefik 2

我们正在使用在 kubernetes 中运行的 Traefik v2 共享命名空间(称为 shared),为不同的项目/服务提供多个命名空间。 我们正在使用 IngressRoute CRD 和中间件。

我们需要将所有传入流量镜像(复制)到特定的 URL (blah.example.com/newservice) 并将其转发到 2 个不同命名空间中的 2 个后端服务。 因为它们在 2 个命名空间之间分开,所以它们以相同的名称运行,具有相同的端口。

我看过以下链接,但似乎不明白: https://doc.traefik.io/traefik/v2.3/routing/providers/kubernetes-crd/#mirroring

这是我的配置:

apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  annotations:
    kubernetes.io/ingress.class: traefik
  name: shared-ingressroute
  namespace: shared
spec:
  entryPoints: []
  routes:
  - kind: Rule
    match: Host(`blah.example.com`) && PathPrefix(`/newservice/`)
    middlewares:
    - name: shared-middleware-testing-middleware
      namespace: shared
    priority: 0
    services:
    - kind: Service
      name: customer-mirror
      namespace: namespace1
      port: TraefikService


---
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
  name: shared-middleware-testing-middleware
  namespace: shared
spec:
  stripPrefix:
    prefixes:
    - /newservice/

---
apiVersion: traefik.containo.us/v1alpha1
kind: TraefikService
metadata:
  name: customer-mirror
  namespace: namespace1

spec:
  mirroring:
    name: newservice
    port: 8011
    namespace: namespace1
    mirrors:
      - name: newservice
        port: 8011
        percent: 100
        namespace: namespace2

我究竟做错了什么?

基于docs ,对于您的案例类型应该是TraefikService

apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  annotations:
    kubernetes.io/ingress.class: traefik
  name: shared-ingressroute
  namespace: shared
spec:
  entryPoints: []
  routes:
  - kind: Rule
    match: Host(`blah.example.com`) && PathPrefix(`/newservice/`)
    middlewares:
    - name: shared-middleware-testing-middleware
      namespace: shared
    services:
    - kind: TraefikService
      name: customer-mirror
      namespace: namespace1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM