我有一个新的kubernetes集群,我在其上安装了Traefik v1.7.6并启用了Traefik仪表板,它运行正常。
现在我想在traefik仪表板的入口服务上添加基本身份验证,我遵循了以下文档:
auth-traefik在与Traefik相同的命名空间中创建了一个从htpasswd生成的文件调用的秘密
在注释到入口仪表板后添加:
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软件包安装的(默认值,我只启用了仪表板)
看起来你可能已经在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没有对`kube-system命名空间中的Secrets资源的RBAC访问权限。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。