kubernetes-dashboard - 无法登录 Kubernetes 仪表板?
问题描述
kubectl create serviceaccount dashboard -n default
kubectl create clusterrolebinding dashboard-admin -n default --clusterrole=cluster-admin --serviceaccount=default:dashboard
并应用 yml 文件
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kube-system
--------
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kube-system
当我单击登录以获取配置服务时出现以下错误
[![{
"status": 401,
"plugins": \[\],
"errors": \[
{
"ErrStatus": {
"metadata": {},
"status": "Failure",
"message": "MSG_LOGIN_UNAUTHORIZED_ERROR",
"reason": "Unauthorized",
"code": 401
}
}][1]][1]
解决方案
Roman Marusyk 是在正确的道路上。这是你必须做的。
$ kubectl get secret -n kubernetes-dashboard
NAME TYPE DATA AGE
default-token-rqw2l kubernetes.io/service-account-token 3 9m8s
kubernetes-dashboard-certs Opaque 0 9m8s
kubernetes-dashboard-csrf Opaque 1 9m8s
kubernetes-dashboard-key-holder Opaque 2 9m8s
kubernetes-dashboard-token-5tqvd kubernetes.io/service-account-token 3 9m8s
从这里您将获得kubernetes-dashboard-token-5tqvd
,这是持有令牌以访问仪表板的秘密。
$ kubectl get secret kubernetes-dashboard-token-5tqvd -n kubernetes-dashboard -oyaml | grep -m 1 token | awk -F : '{print $2}'
ZXlK...
现在您需要对其进行解码:
echo -n ZXlK... | base64 -d
eyJhb...
在登录页面引入token:
而你在。
更新
您也可以合二为一来获取秘密并对其进行解码:
$ kubectl get secret kubernetes-dashboard-token-5tqvd -n kubernetes-dashboard -oyaml | grep -m 1 token | awk -F ' ' '{print $2}' | base64 -d
推荐阅读
- surge.sh - 如何设置一个浪涌.sh 电子邮件
- mysql - 如何根据时间字段删除每个id少于2天的记录
- azure - 使用 Flask 的聊天机器人应用程序可以在本地工作,但不能在 azure web-app 上工作
- opencv - 升级最新版本 OpenCV 4.4.0 后仍然加载以前的版本
- java - 如何在 spring-data-jpa 1.x 中执行多插入
- javascript - 如何在下载管理器中设置 blob uri?
- sql - SQL - 根据最新时间戳查找用户代码
- java - 将 HTML 片段公开为 REST API 与 Web 组件?
- java - 在 Java 中使用 startDate 和 endDate 按日期过滤
- c - 无论是 C 中的全局变量、静态变量还是外部变量?