Kubernetes 仪表板 - 内部错误 (500):没有足够的数据来创建身份验证信息结构

Posted

技术标签:

【中文标题】Kubernetes 仪表板 - 内部错误 (500):没有足够的数据来创建身份验证信息结构【英文标题】:Kubernetes Dashboard - Internal error (500): Not enough data to create auth info structure 【发布时间】:2022-01-14 03:37:33 【问题描述】:

我有 Kubernetes,它为我的用户定义了 ClusterRoles,并通过 (RoleBindings) 命名空间获得了权限。 我希望这些用户可以通过自定义权限访问 Kubernetes 仪表板。但是,当他们尝试使用 kubeconfig 选项登录时,会出现以下消息:

"Internal error (500): Not enough data to create auth info structure." 

https://github.com/kubernetes/dashboard/blob/master/docs/user/access-control/creating-sample-user.md -- 本指南仅适用于创建 ADMIN 用户,不适用于具有自定义权限或没有权限的用户...(已编辑)

【问题讨论】:

我看到你很快解决了你的问题。您是否考虑将其发布为答案? 哦,谢谢,我已经修好了。 【参考方案1】:

更新已解决:

你必须这样做:

    为每个用户创建 ServiceAccount
apiVersion: v1
kind: ServiceAccount
metadata:
  name: NAME-user
  namespace: kubernetes-dashboard
    调整 RoleBinding 添加此 SA
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: PUT YOUR CR HERE
  namespace: PUT YOUR NS HERE
subjects:
  - kind: User
    name: PUT YOUR CR HERE
    apiGroup: 'rbac.authorization.k8s.io'
  - kind: ServiceAccount
    name: NAME-user
    namespace: kubernetes-dashboard
roleRef:
  kind: ClusterRole
  name: PUT YOUR CR HERE
  apiGroup: 'rbac.authorization.k8s.io'
    获取令牌:
kubectl -n kubernetes-dashboard get secret $(kubectl -n kubernetes-dashboard get sa/NAME-user -o jsonpath=".secrets[0].name") -o go-template=".data.token | base64decode"

    将令牌添加到您的 kubeconfig 文件中。您的 kb 应包含以下内容:
apiVersion: v1
clusters:
- cluster:
    server: https://XXXX
  name: kubernetes
contexts:
- context:
    cluster: kubernetes
    user: YOUR UER
  name: kubernetes
current-context: "kubernetes"
kind: Config
preferences: 
users:
- name: YOUR USER
  user:
    client-certificate-data: CODED
    client-key-data: CODED
    token: CODED  ---> ADD TOKEN HERE
    登录

【讨论】:

以上是关于Kubernetes 仪表板 - 内部错误 (500):没有足够的数据来创建身份验证信息结构的主要内容,如果未能解决你的问题,请参考以下文章

Kubernetes 仪表板:TLS 握手错误

Kubernetes仪表板-尝试生成管理员令牌时出现ansible任务错误

Kubernetes 仪表板部署 YAML 文件链接已损坏

无法公开 Kubernetes 仪表板以从外部访问它

如何从外部网络访问Kubernetes仪表板

以 Forbidden Errors 开头的 Kubernetes 仪表板