【发布时间】:2023-01-05 05:38:39
【问题描述】:
我正在将我的项目移动到 Kubernetes,使用 Traefik 进行路由,使用 MetalLB 作为我的负载均衡器。
我已经部署了几个应用程序,我想使用官方Kubernetes-Dashboard。所以我使用推荐的配置部署了 Kubernetes-Dashboard 并创建了 IngressRoute:
# dashboard.yaml
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: kubernetes-dashboard
namespace: kubernetes-dashboard
spec:
entryPoints:
- websecure
routes:
- match: Host(`k8s.example.com`, `www.k8s.example.com`)
kind: Rule
middlewares:
# - name: https-redirectscheme
# - name: nginx-basic-auth
services:
- kind: Service
name: kubernetes-dashboard
# namespace: kubernetes-dashboard
port: 443
tls:
secretName: k8s.example.com-tls
它显示在 Traefik 仪表板中,但是当我尝试访问 k8s.example.com 时,我得到 Internal Server Error。
谢谢
【问题讨论】:
-
你试过 Nodeport 了吗? IngressRoute 会更好,但我稍后会深入探讨。我会在答案中描述它——尽管它不是真正的答案;但至少你可以开始使用它
-
你绝对应该设置一些
spec.routes[].services[].scheme,因为仪表板期望 https。我们不知道你是如何部署 traefik 的:你确定有一些网络安全入口点吗? traefik 中的任何日志/您是否尝试提高日志级别? -
看起来在 traefik github 页面上有一些关于这个问题的问题:github.com/traefik/traefik/issues/4197 和 github.com/traefik/traefik/issues/3906
标签: kubernetes traefik-ingress kubernetes-dashboard