我有一个新的 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/