首页 > 其他分享 >k8s dashboard token 生成/获取

k8s dashboard token 生成/获取

时间:2024-09-11 18:35:30浏览次数:11  
标签:kubernetes admin ServiceAccount token dashboard k8s user

创建示例用户

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

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

创建服务帐号

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

apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kubernetes-dashboard

创建 ClusterRoleBinding

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

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: kubernetes-dashboard

获取 ServiceAccount 的 Bearer Token

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

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

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

apiVersion: v1
kind: Secret
metadata:
  name: admin-user
  namespace: kubernetes-dashboard
  annotations:
    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 令牌的更多信息。

访问仪表板

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

登入

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

概述

清理和后续步骤

删除管理员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

标签:kubernetes,admin,ServiceAccount,token,dashboard,k8s,user
From: https://www.cnblogs.com/niuben/p/18408731

相关文章

  • 结合GPT使用k8s部署awx-oprator
    这个错误表明你尝试添加的Helm仓库URL无法访问,或者index.yaml文件不存在,可能是AWXOperator的Helm仓库已经变更或不再支持这个URL。根据AWXOperator项目的最新文档,它不再使用Helm作为主要的安装方式,而是通过直接应用Kubernetes自定义资源(CRD)和Operator来安装......
  • k8s环境搭建
    1.创建主机,设置ip,hostname,firewalldselinux,Netmanage2.设置主机之间的ssh免密3.三个节点yum源配置1.docker2.k8s3.清空以及创建缓存yumcleanall&&yummakecache4.四个源镜像aliyun,epel,kubernetes,docker-ce4.三个节点主机映射5.三个节点安装常......
  • k8s如何部署服务
    在Kubernetes中,配置文件通常以YAML格式编写,用于定义各种资源,如Deployments、Services、Pods等。以下是一个简单的示例,展示了如何编写一个Deployment和一个Service的配置文件。1.Deployment配置文件deployment.yamlapiVersion:apps/v1kind:Deploymentmetadata:name:my-......
  • 使用kube-prometheus部署k8s监控---超详细(Kubernetes Deployment of Kubernetes Moni
    ......
  • k8s--实战入门
    NamespaceNamespace是kubernetes系统中的一种非常重要资源,它的主要作用是用来实现多套环境的资源隔离或者多租户的资源隔离。默认情况下,kubernetes集群中的所有的Pod都是可以相互访问的。但是在实际中,可能不想让两个Pod之间进行互相的访问,那此时就可以将两个Pod划分到不同的n......
  • 部署K8S集群(四):部署MySQL
    密码文件:MySQLSecret#VGVzdA==->Test#ZGJyZWFkZXI=->root#cGFzc0AxMjM0->pass@1234mkdir-p/opt/mysqlmkdir-p/data/mysqlcat>/opt/mysql/mysql-secret.yaml<<EOFapiVersion:v1kind:Secretmetadata:name:mysql-secrettype:......
  • k8s集群部署:安装 kubeadm
    1、确保已经将SELinux设置为permissive模式:这些说明适用于Kubernetes1.31。#SetSELinuxinpermissivemode(effectivelydisablingit)sudosetenforce0sudosed-i's/^SELINUX=enforcing$/SELINUX=permissive/'/etc/selinux/config2、下载并安装相关软件......
  • Rancher 与 Kubernetes(K8s)的关系
    1. 简介1.1Kubernetes作为容器编排平台        Kubernetes是一个开源平台,用于自动化部署、扩展和管理容器化的应用。它提供了容器调度、自动伸缩、健康检查、滚动更新等功能。        例子:假设您有一个微服务架构的应用程序,需要运行在多个节点上,并且......
  • k8s集群外exporter怎么使用Prometheus监控
    要在Kubernetes集群外部使用Exporter并通过Prometheus监控它,您可以按照以下步骤进行配置:1.部署Exporter首先,确保您已经在Kubernetes集群外部的主机上部署了Exporter(如NodeExporter、BlackboxExporter等)。以下是以NodeExporter为例的安装步骤:#下载并解压Nod......
  • Gtoken Tool致力打造Solana发币工具
    GtokenTool致力打造Solana发币工具的全面解析一、GtokenTool是什么GtokenTool是一个致力于为用户提供相关服务的工具。目前关于GtokenTool的具体信息有限,但从已知的情况来看,它在区块链领域可能具有一定的影响力。需要注意的是,在区块链和加密货币领域,各种工具和平......