【发布时间】:2018-11-06 22:34:29
【问题描述】:
我在裸机 (v1.10.2) 和最新的 traefik (v1.6.2) 上使用 kubernetes 作为入口。当我想启用 traefik 路由到 httpS 服务时,我看到以下问题。
Error configuring TLS for ingress default/cheese: secret default/traefik-cert does not exist
秘密存在!为什么它报告它没有?
根据评论:无法从 traefik 服务帐户访问机密。但我不明白为什么。
详情如下:
kubectl get secret dex-tls -oyaml --as gem-lb-traefik
Error from server (Forbidden): secrets "dex-tls" is forbidden: User "gem-lb-traefik" cannot get secrets in the namespace "default"
$ kubectl describe clusterrolebinding gem-lb-traefik
Name: gem-lb-traefik
Labels: <none>
Annotations: <none>
Role:
Kind: ClusterRole
Name: gem-lb-traefik
Subjects:
Kind Name Namespace
---- ---- ---------
ServiceAccount gem-lb-traefik default
$ kubectl describe clusterrole gem-lb-traefik
Name: gem-lb-traefik
Labels: <none>
Annotations: <none>
PolicyRule:
Resources Non-Resource URLs Resource Names Verbs
--------- ----------------- -------------- -----
endpoints [] [] [get list watch]
pods [] [] [get list watch]
secrets [] [] [get list watch]
services [] [] [get list watch]
ingresses.extensions [] [] [get list watch]
我仍然不明白为什么我从服务帐户收到秘密无法访问的错误
【问题讨论】:
-
也许 Traefik 没有访问该密钥的权限,您是如何部署 Traefik 的?您的 Kubernetes 集群是否使用 RBAC?
-
kubectl get secret dex-tls --as gem-lb-traefik Error from server (Forbidden): secrets "dex-tls" is forbidden: User "gem-lb-traefik" cannot get secrets in the namespace "default"谢谢。我看到它不能得到秘密。让我看看! -
这里是使用 RBAC 部署的官方文档:docs.traefik.io/user-guide/kubernetes/…
标签: kubernetes traefik