簡體   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