繁体   English   中英

Traefik 2.0 IPWhitelist for TCP - Kubernetes CRD

[英]Traefik 2.0 IPWhitelist for TCP - Kubernetes CRD

我们正在使用 Kubernetes 和 Traefik 2.0。 我们使用 Kubernetes CRD (IngressRoute) 作为 Traefik 的提供者。

从 Traefik Documentaion 看来,中间件似乎不能用于 TCP 路由器。

我们想将IP Whitelist 中间件与 TCP 路由器一起使用,但到目前为止它只与 Http 路由器一起使用。

这是我们的 ipWhitelist 定义:

apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
  name: testIPwhitelist
spec:
  ipWhiteList:
    sourceRange:
      - 127.0.0.1/32
      - 192.168.1.7

这是 Traefik 服务定义:

apiVersion: v1
kind: Service
metadata:
  name: traefik

spec:
  type: LoadBalancer
  externalTrafficPolicy: Local
  ports:
    - protocol: TCP
      name: web
      port: 8000
    - protocol: TCP
      name: admin
      port: 8080
    - protocol: TCP
      name: websecure
      port: 4443
    - protocol: TCP
      name: mongodb
      port: 27017
  selector:
    app: traefik

IngressRoutes 定义:

apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: simpleingressroute
  namespace: default
spec:
  entryPoints:
    - web
  routes:
  - match: PathPrefix(`/who`)
    kind: Rule
    services:
    - name: whoami
      port: 80
    middlewares:
      - name: testIPwhitelist
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRouteTCP
metadata:
  name: ingressroute.mongo

spec:
  entryPoints:
    - mongodb
  routes:
  # Match is the rule corresponding to an underlying router.
  - match: HostSNI(`*`)
    services:
    - name: mongodb
      port: 27017

    middlewares:
      - name: testIPwhitelist

有什么方法可以使用 traefik TCP 路由器限制 IP?

有关使用 Kubernetes CRD 的 traefik 的更多资源,您可以在此处查看go

你是对的,中间件不能用于 TCP 路由器。 IPWhitelist through Middleware 概念仅适用于 HTTP 路由器。 您可以关注github上的问题,请求 TCP 路由器的中间件。

暂无
暂无

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

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