首页 > 其他分享 >kubernetes获取永久token

kubernetes获取永久token

时间:2023-10-23 22:45:06浏览次数:35  
标签:account kubernetes token 永久 Secret io cls

kubernetes获取永久token

概述

1.22 版本之前都是自动创建sa的token,1.22及之后版本永久token需要使用kubernetes.io/service-account-token类型创建secret

步骤

服务账号令牌 Secret

类型为 kubernetes.io/service-account-token 的 Secret 用来存放标识某服务账号的令牌凭据。

说明:

使用这种 Secret 类型时,你需要确保对象的注解 kubernetes.io/service-account-name 被设置为某个已有的服务账号名称。 如果你同时负责 ServiceAccount 和 Secret 对象的创建,应该先创建 ServiceAccount 对象。

当 Secret 对象被创建之后,某个 Kubernetes控制器会填写 Secret 的其它字段,例如 kubernetes.io/service-account.uid 注解以及 data 字段中的 token 键值,使之包含实际的令牌内容。

创建一个sa账号,绑定cluster-admin 权限:

echo "
apiVersion: v1
kind: ServiceAccount
metadata:
  namespace: default
  name: cls-access
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: cls-access
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    namespace: default
    name: cls-access
" | kubectl --kubeconfig eks apply -f - 

下面的配置实例声明了一个服务账号令牌 Secret:

apiVersion: v1
kind: Secret
metadata:
  name: cls-access
  annotations:
    kubernetes.io/service-account.name: "cls-access"
type: kubernetes.io/service-account-token
#data:
  # 你可以像 Opaque Secret 一样在这里添加额外的键/值偶对
  #extra: YmFyCg==

创建了 Secret 之后,等待 Kubernetes 在 data 字段中填充 token 主键。

查看token值:

kubectl --kubeconfig eks get secret cls-access -o yaml
#返回结果:
apiVersion: v1
data:
  ca.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUMvakNDQWVhZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJek1EZ3hOekExTkRNeU9Wb1hEVE16TURneE5EQTFORE15T1Zvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBS2tBCnVMVnk2MzY0aHc1MjdhRHgxTTNiNm1FMGlyMWFRSzRpNnlqTkZVeDdSMnc0YXFuZm5XRTlyVjRCYTRmMTFoUEgKVXorWEhhUXFmWUdwcVlFajJMTmdqQ3JJZDQyY29MaHhyWHpKNWtBZnFXUXhRa1U4WXdNZXBVeEhyY1hNSk1tbAp2UEg4WS9OTlFxckV2T0NSdG5taDlPRmNkZ1AvU3ZqSkxMeTBHdkZIM3J1cE9qUUxRcXpWc2F4RDF3cS9FUWFYCkkrRjNjUlZUZ01iRUxjQzRPRzBMR2I3TUdYNXYzTUFyVEhubi9OUGFmMFIwQ01UWmQxbExwRmVidVhRaHlUUXkKR0pyakNsY002YWY4YXlub0dRUnBqNlY3SXpTbGdkUU4xVnk5cndRcDRrVUlCYlpMenRrZVJPODFwZGxLc05lZgpoRVAxKytMcWVtZWVBK0NnZ2UwQ0F3RUFBYU5aTUZjd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZPRXBXR25TTXNRdWNoUmlnaWlTMGEwNU5ZM1JNQlVHQTFVZEVRUU8KTUF5Q0NtdDFZbVZ5Ym1WMFpYTXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBSjlJcHVkZEM5OTJlRXlhTVdmVwpTWmdpMklNZUpGOFlkMFVHVVZVYW95dDB4OE9MV1VHUXY3Z1lMKzJ5cTNNb2pFeFdJNkRZMHVveHl0cFVkWE15Cnk1cW9hejFUNExTcFVTSVgyNU0vNS9vYVAvVVpuWU82VmpCcDlIRGZoNElTVHU1VXpEZDFvWnFJZGR0WGNwUEgKMlptemJOaVNZWkFKMTNjczg0Q0NYenNJcjNzbXNkV293VzNiaUN2SFVQV0RWNit4VHV3ditiKzkvbmZITzJYZwpkekkrVDNrN3VNcW1rTitjUVp1THZjMDVqbGc1ajdOamRDcG9GWkw2RVBJSU5NcFFhWExoUmY0NG5DeC8zY1MrCmpKWDVDYk5OTlh2Y01LL25LN3ppQTZkR3lGaXREa2NhTENtSjIzY1ZvY1J0eHdEOFZ5OTJRaHdUN2VpaEZHaWkKc2tBPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
  namespace: ZGVmYXVsdA==
  token: ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNkltdEZhbE41YWkxaldFdFRkSFo1Y1hKalowRm9XRWRHYm1aNFpFZENTRTB3YkhSYWFHSTJkRlJRTmswaWZRLmV5SnBjM01pT2lKcmRXSmxjbTVsZEdWekwzTmxjblpwWTJWaFkyTnZkVzUwSWl3aWEzVmlaWEp1WlhSbGN5NXBieTl6WlhKMmFXTmxZV05qYjNWdWRDOXVZVzFsYzNCaFkyVWlPaUprWldaaGRXeDBJaXdpYTNWaVpYSnVaWFJsY3k1cGJ5OXpaWEoyYVdObFlXTmpiM1Z1ZEM5elpXTnlaWFF1Ym1GdFpTSTZJbU5zY3kxaFkyTmxjM01pTENKcmRXSmxjbTVsZEdWekxtbHZMM05sY25acFkyVmhZMk52ZFc1MEwzTmxjblpwWTJVdFlXTmpiM1Z1ZEM1dVlXMWxJam9pWTJ4ekxXRmpZMlZ6Y3lJc0ltdDFZbVZ5Ym1WMFpYTXVhVzh2YzJWeWRtbGpaV0ZqWTI5MWJuUXZjMlZ5ZG1salpTMWhZMk52ZFc1MExuVnBaQ0k2SW1ObE1UUmxaREJqTFRsaU9UWXRORFkxWWkxaE16TTVMVEptTmpNM016RXpPV1kzT0NJc0luTjFZaUk2SW5ONWMzUmxiVHB6WlhKMmFXTmxZV05qYjNWdWREcGtaV1poZFd4ME9tTnNjeTFoWTJObGMzTWlmUS54YUNPaU9ELVNHa3BCdk1ta3pnWDVBMTNobzExdE82cW9UWTF2NjA1Y3RDNk43dUlpT0podHJfSDBpWGd4eExUTE1ZdFdCMFNCVkFiU1BKVEpVbUxseDNEakdWZTVmM2FUb05FVC1yOXExVnEtU1I2VmFXb0ZfYlNkcHg0UkpMODBvbjJld3VHV2Y3c3JrLWVKR2xSVHU0eHpFQ04xRVVtWU9QWG4xYWwxMHZFQy0tNzVhUEk5U0NBTFZhMW9FVnkwQTZoM1o3cW5fRVFIcFcxVHYyc0hwOW9yckM4a3VVbi0xWHJ2SzE5bXZxWWV2dWtWVmlKUENiMndoazVQYy04a2IybHNqRjE4NXRZWk5oNVZwTXN5MGxjX01EM2VCWXVYYS1kcXRUWFlnTVFqT2xsa0ZOR1hYZEJmT3VmSUwyUE16UDVCSzFRUS1LbEhqbExDeVBxS0E=
kind: Secret
metadata:
  annotations:
    cpaas.io/creator: kubernetes-admin
    cpaas.io/updated-at: "2023-08-19T05:12:16Z"
    kubernetes.io/service-account.name: cls-access
    kubernetes.io/service-account.uid: ce14ed0c-9b96-465b-a339-2f6373139f78
  creationTimestamp: "2023-08-19T05:12:16Z"
  name: cls-access
  namespace: default
  resourceVersion: "753728"
  uid: 09d696e6-a3ac-4975-8f1e-b67496c3266d
type: kubernetes.io/service-account-token

# base64 解析token
moyu$ kubectl --kubeconfig eks get secret cls-access -o jsonpath='{.data.token}'|base64 -d
#token:
eyJhbGciOiJSUzI1NiIsImtpZCI6ImtFalN5ai1jWEtTdHZ5cXJjZ0FoWEdGbmZ4ZEdCSE0wbHRaaGI2dFRQNk0ifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJkZWZhdWx0Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6ImNscy1hY2Nlc3MiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiY2xzLWFjY2VzcyIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6ImNlMTRlZDBjLTliOTYtNDY1Yi1hMzM5LTJmNjM3MzEzOWY3OCIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDpkZWZhdWx0OmNscy1hY2Nlc3MifQ.xaCOiOD-SGkpBvMmkzgX5A13ho11tO6qoTY1v605ctC6N7uIiOJhtr_H0iXgxxLTLMYtWB0SBVAbSPJTJUmLlx3DjGVe5f3aToNET-r9q1Vq-SR6VaWoF_bSdpx4RJL80on2ewuGWf7srk-eJGlRTu4xzECN1EUmYOPXn1al10vEC--75aPI9SCALVa1oEVy0A6h3Z7qn_EQHpW1Tv2sHp9orrC8kuUn-1XrvK19mvqYevukVViJPCb2whk5Pc-8kb2lsjF185tYZNh5VpMsy0lc_MD3eBYuXa-dqtTXYgMQjOllkFNGXXdBfOufIL2PMzP5BK1QQ-KlHjlLCyPqKA

标签:account,kubernetes,token,永久,Secret,io,cls
From: https://www.cnblogs.com/h-gallop/p/17783679.html

相关文章

  • kubernetes发布周期
    前言页面介绍了版本发布的一些时间点和PR的要求,通过了解k8s的发布周期来规划自己的版本选择。合并PR的要求如果你希望将你的代码合并到官方代码仓库中,不同的开发阶段需要有不同的标签和里程碑。也是希望通过这样的方式来查看到代码的提交者是经过了认真的开发、测试,从而保证代......
  • 下载kubernetes
    前言页面介绍了k8s的组件下载的方法二进制文件二进制文件的下载链接在CHANGELOG文件中,这里有一个技巧是直接下载ServerBinaries,这个是包含了所有的二进制文件。下载后记得比对sha512hash值来确定下载的文件是否完整。kubectl直接yum安装即可。参考https://developer.aliyun......
  • kubernetes批量删除evicted状态pod
    #!/bin/bash#getnamespacenamespaces=`kubectlgetpod-A|grep-i"evicted"|awk'{print$1}'`fornamespacein${namespaces}dokubectlgetpod-n${namespace}|grep-i"evicted"|awk'{print$1}'|xargsk......
  • 前端token获取存储
    //存储的token的KEYexportconstTOKEN_KEY='token-user';//获取token接口urlexportconstTOKEN_URL='';//跳转登录地址exportconstLOGIN_URL='';//获取tokenexportfunctiongetToken(){consttoken=localStorage.getItem(TOKEN_......
  • 掌握 Kubernetes 故障排除:有效维护集群的最佳实践和工具
    Kubernetes是一款管理容器化应用程序的强大工具。然而,与任何复杂的系统一样,使用它时也可能出错。当问题出现时,掌握有效的故障排除技术和工具非常重要。 本文将介绍以下步骤,助您了解事件收集的入门知识:检索最新事件使用Pod模拟问题在位于PV的Pod中存储事件 检索......
  • 掌握 Kubernetes 故障排除:有效维护集群的最佳实践和工具
    Kubernetes是一款管理容器化应用程序的强大工具。然而,与任何复杂的系统一样,使用它时也可能出错。当问题出现时,掌握有效的故障排除技术和工具非常重要。 本文将介绍以下步骤,助您了解事件收集的入门知识:检索最新事件使用Pod模拟问题在位于PV的Pod中存储事件 检索......
  • Navicat 15 最新po jie版下载_永久激活注册码(附图文安装教程)
    分享一波Navicat15的最新pojie版安装包和注册机,可以永久激活哟奉上Navicat15激活成功的画面:前言Navicat是一款强大的数据库管理和设计工具,支持Win、macOS和linux。直观的GUI让用户简单地管理MySQL、MariaDB、MongoDB、SQLServer、SQLite、Oracle和PostgreSQL的数......
  • Adobe InDesign CC2021 for Mac「ID」汉化版 一键安装 永久使用
    AdobeInDesign2021中文直装版是专业的版面设计和桌面出版软件,使用旨在为用户提供设计、预检、发布等一体化的功能,为宣传册、海报以及其他印刷或数字媒体制作完美的布局。软件地址:看置顶贴AdobeInDesign2021Mac版的软件亮点:1、设计任何材料:信笺,传单,海报,小册子,年度报告,杂志和书......
  • 405-503 搞懂Kubernetes调度 (DNS ingress NodeSelector NodeAffinity)4.5-5.3
    一、Kubernetes里的DNSK8S集群默认使用CoreDNS作为DNS服务:#kubectlgetsvc-nkube-system|grepdnskube-dnsClusterIP10.96.0.10<none>53/UDP,53/TCP,9153/TCP24d测试在node-1-231安装bind-utilsyuminstall-ybind-utils解析外网域名dig@10......
  • 云原生架构实战02 Kubernetes实战入门
    一、Kubernetes是什么?kubernetes具有以下特性:服务发现和负载均衡Kubernetes可以使用DNS名称或自己的IP地址公开容器,如果进入容器的流量很大,Kubernetes可以负载均衡并分配网络流量,从而使部署稳定。存储编排Kubernetes允许你自动挂载你选择的存储系统,例如本地存储、公共云提......