首页 > 其他分享 >Rancher 系列文章-K3s Traefik MiddleWare 报错-Failed to create middleware keys

Rancher 系列文章-K3s Traefik MiddleWare 报错-Failed to create middleware keys

时间:2023-03-26 10:46:56浏览次数:56  
标签:K3s keys traefik -- 报错 io Traefik true

概述

书接上回:《Rancher 系列文章-K3S 集群升级》, 我们提到:通过一键脚本升级 K3S 集群有报错。

接下来开始进行 Traefik 报错的分析和修复, 问题是:

  • 所有 Traefik 的 IngressRoute 访问报错 404

问题描述

报错如下:

time="2022-05-05T09:51:21Z" level=error msg="Failed to create middleware keys: middleware kube-system/hsts-header is not in the IngressRoute namespace cert-manager" namespace=cert-manager providerName=kubernetescrd ingress=grafana

即无法跨 NameSpace 调用 Traefik MiddleWare.

解决过程

首先根据官方文档说明:Kubernetes IngressRoute & Traefik CRD - Traefik

可以配置 allowCrossNamespace 参数,该参数默认为 false, 如果该参数设置为true, IngressRoutes 可以引用其他 NameSpace 中的资源。

基本上断定根因就是这个了。查看 K3s v1.22.5+k3s2 的 Traefik 配置,确实没有这个参数,如下:

...
containers:
  - name: traefik
    image: rancher/mirrored-library-traefik:2.5.0
    args:
      - '--entryPoints.metrics.address=:9100/tcp'
      - '--entryPoints.traefik.address=:9000/tcp'
      - '--entryPoints.web.address=:8000/tcp'
      - '--entryPoints.websecure.address=:8443/tcp'
      - '--api.dashboard=true'
      - '--ping=true'
      - '--metrics.prometheus=true'
      - '--metrics.prometheus.entrypoint=metrics'
      - '--providers.kubernetescrd'
      - '--providers.kubernetesingress'
      - >-
        --providers.kubernetesingress.ingressendpoint.publishedservice=kube-system/traefik
      - '--entrypoints.websecure.http.tls=true'
...      

所以,刚开始就计划通过编辑 Helm 的文件把这个参数加上。

编辑 K3s 的 Manifests Helm 文件

标签:K3s,keys,traefik,--,报错,io,Traefik,true
From: https://www.cnblogs.com/east4ming/p/17256357.html

相关文章