k8s dashboard token 生成/获取

ops/2024/9/23 7:25:46/

创建示例用户

kubernetes/dashboard/blob/master/docs/user/access-control/creating-sample-user.md#creating-sample-user" target="_blank" rel="noopener nofollow noopener noreferrer">

在本指南中,我们将了解如何使用 Kubernetes 的服务帐户机制创建新用户、授予该用户管理员权限并使用与该用户绑定的承载令牌登录仪表板。

对于以下每个和的代码片段ServiceAccountClusterRoleBinding您都应该将它们复制到新的清单文件(如)中,dashboard-adminuser.yaml并使用kubectl apply -f dashboard-adminuser.yaml来创建它们。

创建服务帐号

kubernetes/dashboard/blob/master/docs/user/access-control/creating-sample-user.md#creating-a-service-account" target="_blank" rel="noopener nofollow noopener noreferrer">

我们首先admin-user在命名空间中创建具有名称的服务帐户。kubernetes-dashboard

apiVersion: v1
kind: ServiceAccount
metadata:name: admin-usernamespace: kubernetes-dashboard

创建 ClusterRoleBinding

kubernetes/dashboard/blob/master/docs/user/access-control/creating-sample-user.md#creating-a-clusterrolebinding" target="_blank" rel="noopener nofollow noopener noreferrer">

kops在大多数情况下,使用kubeadm或任何其他流行工具配置集群后,ClusterRole cluster-admin集群中已经存在。我们可以使用它并ClusterRoleBinding为我们的创建一个ServiceAccount。如果它不存在,那么您需要先创建此角色并手动授予所需的权限。

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:name: admin-user
roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: cluster-admin
subjects:
- kind: ServiceAccountname: admin-usernamespace: kubernetes-dashboard

获取 ServiceAccount 的 Bearer Token

kubernetes/dashboard/blob/master/docs/user/access-control/creating-sample-user.md#getting-a-bearer-token-for-serviceaccount" target="_blank" rel="noopener nofollow noopener noreferrer">

现在我们需要找到可以用来登录的令牌。执行以下命令:

kubectl -n kubernetes-dashboard create token admin-user

它应该打印类似这样的内容:

eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi11c2VyLXRva2VuLXY1N253Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImFkbWluLXVzZXIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIwMzAzMjQzYy00MDQwLTRhNTgtOGE0Ny04NDllZTliYTc5YzEiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZXJuZXRlcy1kYXNoYm9hcmQ6YWRtaW4tdXNlciJ9.Z2JrQlitASVwWbc-s6deLRFVk5DWD3P_vjUFXsqVSY10pbjFLG4njoZwh8p3tLxnX_VBsr7_6bwxhWSYChp9hwxznemD5x5HLtjb16kI9Z7yFWLtohzkTwuFbqmQaMoget_nYcQBUC5fDmBHRfFvNKePh_vSSb2h_aYXa8GV5AcfPQpY7r461itme1EXHQJqv-SN-zUnguDguCTjD80pFZ_CmnSE1z9QdMHPB8hoB4V68gtswR1VLa6mSYdgPwCHauuOobojALSaMc3RH7MmFUumAgguhqAkX3Omqd3rJbYOMRuMjhANqd08piDC3aIabINX6gP5-Tuuw2svnV6NYQ

查看Kubernetes 文档有关 ServiceAccount 的 API 令牌的更多信息。

获取 ServiceAccount 的长期 Bearer Token

kubernetes/dashboard/blob/master/docs/user/access-control/creating-sample-user.md#getting-a-long-lived-bearer-token-for-serviceaccount" target="_blank" rel="noopener nofollow noopener noreferrer">

我们还可以创建一个与服务账户绑定的带有secret的token,该token会保存在Secret中:

apiVersion: v1
kind: Secret
metadata:name: admin-usernamespace: kubernetes-dashboardannotations:kubernetes.io/service-account.name: "admin-user"   
type: kubernetes.io/service-account-token

Secret创建完成后,我们可以执行以下命令来获取Secret中保存的Token:

kubectl get secret admin-user -n kubernetes-dashboard -o jsonpath={".data.token"} | base64 -d

查看Kubernetes 文档有关 ServiceAccount 的长效 API 令牌的更多信息。

访问仪表板

kubernetes/dashboard/blob/master/docs/user/access-control/creating-sample-user.md#accessing-dashboard" target="_blank" rel="noopener nofollow noopener noreferrer">

现在复制令牌并将其粘贴到Enter token登录屏幕上的字段中。

kubernetes/dashboard/blob/master/docs/images/signin.png" target="_blank" rel="noopener nofollow noopener noreferrer">

kubernetes/dashboard/raw/master/docs/images/signin.png" alt="登入" style="outline: none;" />

单击Sign in按钮即可。您现在以管理员身份登录。

kubernetes/dashboard/blob/master/docs/images/overview.png" target="_blank" rel="noopener nofollow noopener noreferrer">

kubernetes/dashboard/raw/master/docs/images/overview.png" alt="概述" style="outline: none;" />

清理和后续步骤

kubernetes/dashboard/blob/master/docs/user/access-control/creating-sample-user.md#clean-up-and-next-steps" target="_blank" rel="noopener nofollow noopener noreferrer">

删除管理员ServiceAccountClusterRoleBinding

kubectl -n kubernetes-dashboard delete serviceaccount admin-user
kubectl -n kubernetes-dashboard delete clusterrolebinding admin-user

为了了解有关如何在 Kubernetes 中授予/拒绝权限的更多信息,请阅读官方验证&授权文档。

https://github.com/kubernetes/dashboard/blob/master/docs/user/access-control/creating-sample-user.md


http://www.ppmy.cn/ops/111749.html

相关文章

Redis的存储原理和数据模型

一、Redis是单线程还是多线程呢? 我们通过跑redis的代码,查看运行的程序可以得知,Redis本身其实是个多线程,其中包括redis-server,bio_close_file,bio_aof_fsync,bio_lazy_free,io_t…

Kubernetes的3种数据持久化方式

Kubernetes的3种数据持久化方式 1. EmptyDir2. HostPath3. PersistentVolume (PV)💖The Begin💖点点关注,收藏不迷路💖 Kubernetes提供了几种数据持久化方式,以满足不同场景的需求: 1. EmptyDir 用途:临时数据存储,Pod内容器间共享。特点:生命周期与Pod相同,Pod删…

MySQl篇(数据类型)(持续更新迭代)

目录 常见类型一:数值类型 常见类型二:字符串类型 一、文本字符串类型 1. char & varchar 1.1. CHAR(M)类型 1.2. VARCHAR(M)类型 1.3. 两者应用 2. enum & set 二、二进制字符串类型 1. BINARY & VARBINARY类型 2. 二进制字符串和…

情感识别系统源码分享

情感识别检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vision …

Python3网络爬虫开发实战(14)资讯类页面智能解析

文章目录 一、详细页智能解析算法1.1 提取标题1.2 提取正文1.3 提取时间 二、列表页智能解析算法三、智能分辨列表页和详细页四、完整的库4.1 参考文献4.2 Project 页面智能解析就是利用算法从页面的 HTML 代码中提取想要的内容,算法会自动计算出目标内容在代码中的…

怎么去浮毛比较高效?热门除浮毛宠物空气净化器希喂、范罗士、有哈测评推荐

我朋友是呼吸科医生,他自己也养猫,成天成天的给我们那几个养宠物的朋友科普宠物毛发的各种危害。有人调侃他:“这么多危害,那你送出去别养了啊”。开玩笑,自己养大的猫跟亲生的有什么区别。看到还有蛮多朋友因为养宠物…

fuxa搭建与使用(web组态)

1. 安装Node.js -> npm安装 参考网址:https://blog.csdn.net/WHF__/article/details/129362462 一、安装运行 C:\WINDOWS\system32>node -v v20.17.0 C:\WINDOWS\system32>npm -v 10.8.2 二、环境配置 在安装路径(D:\Program_Files\nodejs&a…

对目录的操作、获取文件信息

目录 一、目录操作 二、获取文件的相关信息 1、演示获取文件的相关信息 2、注意事项和细节 一、目录操作 需求: 1)创建一级目录 d://aaa 2)创建多级目录 d://bbb//ccc 3)删除目录 d://aaa和d://bbb//ccc import os# 1&am…