首页 > 解决方案 > Kubernetes:无法检索入口的身份验证配置

问题描述

我有一个新的 kubernetes 集群,我在上面安装了 Traefik v1.7.6 并启用了工作正常的 Traefik 仪表板。

现在我想在 traefik 仪表板的入口服务上添加基本身份验证,我遵循了文档

我无法再访问仪表板并获得以下页面: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 Scaleway服务器上运行的 Ubuntu 18.04。我尝试了常规和 MicroK8s 安装,两者都有相同的问题(我现在继续使用 MicroK8s 一个)。

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

标签: kubernetesbasic-authenticationtraefik

解决方案


看起来您可能已经在与它寻找它的位置auth-traefik不同的命名空间上创建了 Kubernetes 密钥。kube-system(看起来像是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

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


推荐阅读