库伯内特斯 : Failed to retrieve auth configuration for ingress

标签 kubernetes basic-authentication traefik

我有一个新的 kubernetes 集群,我在上面安装了 Traefik v1.7.6 并启用了运行良好的 Traefik 仪表板。

现在我想在traefik仪表板的入口服务上添加基本身份验证,我关注了docs :

  • 在与 Traefik 相同的命名空间中从 htpasswd 生成的文件创建了一个名为 auth-traefik 的 secret
  • 向入口仪表板添加了以下注释:

    kubernetes.io/ingress.class: traefik
    traefik.ingress.kubernetes.io/auth-secret: auth-traefik
    traefik.ingress.kubernetes.io/auth-type: basic
    

我无法再访问仪表板并收到以下页面:502 Bad Gateway nginx/1.13.12

我重新启动了 traefik pod,有以下日志:

*{"level":"error","msg":"Failed to retrieve auth configuration for ingress kube-system/traefik-dashboard: failed to load auth credentials: secret \"kube-system\"/\"auth-traefik\" not found","time":"2018-12-26T23:45:59Z"}*

更多详细信息:在 x64 上运行的 Ubuntu 18.04 Scaleway服务器。我尝试了常规安装和 MicroK8s 安装,两者都有相同的问题(我现在继续使用 MicroK8s 安装)。

Traefik是通过最新的Helm包安装的(使用默认值,我只启用了仪表板)

最佳答案

看起来您可能已经在与正在寻找它的 kube-system 不同的命名空间中创建了 auth-traefik Kubernetes key 。 (看起来 Ingress 是在 kube-system 命名空间中定义的)。

您可以检查:

$ kubectl -n kube-system get secret auth-traefik -o=yaml

如果它不存在(是否在不同的命名空间中?监控?默认?),那么您可以创建它:

$ kubectl create secret generic auth-traefik --from-file auth --namespace=kube-system

或者ServiceAccount您的 Traefik pod 正在使用的没有 RBAC访问Secrets `kube-system 命名空间中的资源。

关于库伯内特斯 : Failed to retrieve auth configuration for ingress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53938418/

相关文章:

kubernetes - 即使删除了命名空间,CRD 也不会被删除

kubernetes - 如何使用 kubernetes API 获取图像列表?

docker - 如何使用 Cloud sql 代理通过 GKE 配置 Cloud SQL?

kubernetes - Traefik信息中心-自定义API路径

fpm - traefik 和 php fpm 的网关超时

kubernetes - 如何不将 Traefik 端口暴露给互联网?

objective-c - iOS 似乎绕过了基本的服务器身份验证

docker - 使用Django cookiecutter与Traefik和Docker进行基本身份验证

java - 您如何配置 spring security 以使用基本身份验证对数据库进行身份验证?

docker - Traefik http使用docker标签重定向到https