我有一个新的kubernetes集群,我在上面安装了Traefik v1.7.6,并启用了Traefik仪表板,效果很好。
现在,我想在traefik仪表板的入口服务上添加基本身份验证,我遵循了docs:
auth-traefik
的秘密向入口信息中心添加了以下注释:
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 Scaleway服务器上运行的Ubuntu 18.04。我尝试了常规和MicroK8s的安装,但都遇到了同样的问题(目前,我将继续使用MicroK8s)。
Traefik是通过最新的Helm软件包安装的(默认值,我仅启用了仪表板)
答案 0 :(得分:1)
看起来您可能已经在auth-traefik
所在的其他名称空间中创建了kube-system
Kubernetes机密。 (看起来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窗格使用的ServiceAccount不能RBAC访问kube系统名称空间中的Secrets资源。