如何使用 Kubernetes Ingress 公开 Traefik v2 仪表板

zin*_*ngi 5 kubernetes traefik traefik-ingress

目前我使用Traefik IngressRoute来公开 Traefik 仪表板。我正在使用这个配置:

apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: traefik-dashboard
  namespace: my-namespace
spec:
  routes:
  - match: Host(`traefik.example.com`) && (PathPrefix(`/api`) || PathPrefix(`/dashboard`))
    kind: Rule
    services:
    - name: api@internal
      kind: TraefikService
    middlewares:
      - name: traefik-dashboard-https-redirect
      - name: traefik-dashboard-basic-auth
  tls:
    certResolver: le
Run Code Online (Sandbox Code Playgroud)

而且效果很好。

不过我想用原生Kubernetes Ingress来公开它。我找不到任何显示如何api@internal从入口访问的资源。有可能吗?

小智 5

无法从 Ingress 引用 api@internal。

我认为有一个解决方法,可能是:

  • 将 api 公开为不安全,它默认在端口 8080 上名为 traefik 的入口点上公开仪表板。
  • 在静态conf中手动更新入口点:entrypoints.traefik.address=<what-you-want>
  • 创建一个指向 traefik 入口点的服务(默认端口 8080)。
  • 创建指向服务的入口