kubernetes - Kubernetes:无法检索入口的身份验证配置
问题描述
我有一个新的 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没有RBAC访问 `kube-system 命名空间中的Secrets资源。
推荐阅读
- jenkins - Jenkins - 共享库 CpsCompilationErrorsException - 无法解析类
- jmeter - Jmeter登录问题?
- android - 想法布局预览中的“无法实例化一个或多个类”
- python-3.x - 如何根据数组的密度对数组进行二次采样?(去除频繁值,保留稀有值)
- python - Python re.findall() 不适用于可选匹配(使用问号)
- asp.net-mvc - 如何使用 OAuth2/OpenIdConnect 实现“代理”
- python - botocore.errorfactory.InvalidS3ObjectException:
- javascript - Is it possible to enque commits to send in batch insted of one by one in vuex?
- node.js - 如何在 couchdb 中创建数据库
- html - 在 Orchard CMS 的 EditorTemplate 中渲染 PartialView