当前位置: 首页 > news >正文

Kubernetes 1.35集群管理员权限Token获取手册 - wanghongwei

Kubernetes 1.35集群管理员权限Token获取手册

一、核心前提(K8s 1.24+ 关键变化)

K8s 1.24及以上版本(含1.35),ServiceAccount 不再自动生成包含Token的Secret,需手动创建 Secret 关联 ServiceAccount 才能生成可用Token,这是与旧版本的核心区别,也是配置关键。

二、核心思路

创建专属集群管理ServiceAccount → 绑定K8s内置最高权限角色cluster-admin → 手动创建Secret关联ServiceAccount生成Token → 提取可用Token,全程符合K8s 1.35安全规范。

三、分步操作(标准YAML配置方式,推荐生产使用)

步骤1:创建集群管理专用ServiceAccount

  1. 创建配置文件 cluster-admin-sa.yaml,内容如下:
apiVersion: v1
kind: ServiceAccount
metadata:name: cluster-admin-sa  # 自定义ServiceAccount名称,便于识别namespace: kube-system  # 建议放置在kube-system命名空间,统一管理
  1. 应用配置,创建ServiceAccount:
kubectl apply -f cluster-admin-sa.yaml

步骤2:绑定cluster-admin最高集群权限(核心)

cluster-admin 是K8s内置最高权限集群角色,可操作集群内所有资源,通过ClusterRoleBinding绑定到步骤1创建的ServiceAccount。

  1. 创建配置文件 cluster-admin-rb.yaml,内容如下:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:name: cluster-admin-sa-binding  # 自定义绑定关系名称
subjects:
- kind: ServiceAccount  # 绑定对象类型为ServiceAccountname: cluster-admin-sa          # 关联步骤1创建的ServiceAccount名称namespace: kube-system          # 与ServiceAccount命名空间保持一致
roleRef:kind: ClusterRolename: cluster-admin             # K8s内置集群管理员角色(固定名称)apiGroup: rbac.authorization.k8s.io
  1. 应用配置,完成权限绑定:
kubectl apply -f cluster-admin-rb.yaml

步骤3:创建Secret关联ServiceAccount(生成Token)

手动创建指定类型的Secret,通过注解关联目标ServiceAccount,触发Token生成。

  1. 创建配置文件 cluster-admin-secret.yaml,内容如下:
apiVersion: v1
kind: Secret
metadata:name: cluster-admin-sa-secret  # 自定义Secret名称namespace: kube-systemannotations:# 核心注解:关联步骤1的ServiceAccount,不可修改kubernetes.io/service-account.name: cluster-admin-sa
type: kubernetes.io/service-account-token  # 必须指定该类型,否则无法生成Token
  1. 应用配置,创建Secret:
kubectl apply -f cluster-admin-secret.yaml

步骤4:提取集群管理员Token(最终可用)

执行以下命令,直接提取Base64解码后的Token(无需手动解码,直接可用):

kubectl -n kube-system get secret cluster-admin-sa-secret -o jsonpath='{.data.token}' | base64 -d && echo
  • 成功输出:一串长字符串(格式如 eyJhbGciOiJSUzI1NiIsImtpZCI6Ikxxxxxx),即为集群管理员权限Token。

四、简化操作(一键式命令,无需创建YAML)

若无需留存配置文件,可执行以下一键式命令,直接完成所有资源创建并提取Token:

# 1. 创建ServiceAccount
kubectl create sa cluster-admin-sa -n kube-system# 2. 绑定cluster-admin权限
kubectl create clusterrolebinding cluster-admin-sa-binding --clusterrole=cluster-admin --serviceaccount=kube-system:cluster-admin-sa# 3. 创建关联Secret
kubectl create secret generic cluster-admin-sa-secret -n kube-system --type=kubernetes.io/service-account-token --annotation=kubernetes.io/service-account.name=cluster-admin-sa# 4. 提取Token
kubectl -n kube-system get secret cluster-admin-sa-secret -o jsonpath='{.data.token}' | base64 -d && echo

五、权限验证(确保Token生效)

提取Token后,验证是否具备集群管理员权限,避免配置失效。

  1. 配置环境变量(替换为实际的Token和APIServer地址):
export K8S_TOKEN="提取到的集群管理员Token"
export K8S_API_SERVER="https://你的K8s APIServer地址:6443"
  1. 调用APIServer获取集群所有命名空间(管理员权限专属操作):
curl -k -H "Authorization: Bearer ${K8S_TOKEN}" ${K8S_API_SERVER}/api/v1/namespaces
  • 验证成功标志:返回集群所有命名空间的JSON数据,无401(未认证)、403(无权限)报错。

六、安全与有效期说明

1. Token有效期

手动创建的Secret生成的Token 无默认过期时间(长期有效),适合长期运维使用。

2. 安全注意事项(核心)

  • 该Token具备集群最高权限,严禁明文存储、公网传输,避免泄露;

  • 仅限运维管理场景使用,业务Pod禁止绑定cluster-admin角色;

  • 生产环境建议定期轮换Token:删除旧Secret(kubectl delete secret cluster-admin-sa-secret -n kube-system),重新执行创建Secret命令即可生成新Token;

  • 可配置NetworkPolicy,限制仅指定IP地址访问K8s APIServer,降低Token滥用风险。

七、Token适用场景

  • K8s Dashboard登录认证;

  • kubectl命令行Token认证(无需kubeconfig文件);

  • CI/CD工具(如GitLab CI、Jenkins)对接K8s集群;

  • 第三方运维平台关联K8s集群;

  • K8s API接口调用认证。

http://www.jsqmd.com/news/350555/

相关文章:

  • 微信商城小程序怎么自己开发,微信购物小程序怎么开通 - 码云数智
  • 五家优质GEO服务商详解,覆盖全场景AI搜索优化需求 - 品牌2025
  • BUUCTF刷题MISC[八] (81-88)
  • IPv6连通性差、内链失效?一文解决所有适配难题
  • Pandas数据清洗
  • 2026年四川植草砖生产厂家一览 聚焦品质与个性化需求选型参考 应用场景适配 - 深度智识库
  • 2026年五大S级NMN品牌引行业变革:NMN全新抗衰机制,直击睡眠肠道损伤 - 速递信息
  • 全场景EDR部署指南:覆盖Windows/Linux/信创/云主机/工控网
  • 2026 优质健身教练培训机构推荐:从资质到就业全解析 - 品牌2025
  • 2026年2月西安近视防控/近视矫正/视力矫正/眼镜哪家好?行业五强解析与选型指南 - 2026年企业推荐榜
  • SW草图绘制之镜像
  • 2026选GEO服务商?豆包GEO、DeepSeek GEO测评 - 品牌2025
  • 一套会员管理系统多少钱?会员管理系统费用与适用场景 - 码云数智
  • SW草图绘制之线性阵列与圆周阵列
  • 2026年轻质混凝土混凝土行业十大厂家排名:苏州黄湖节能科技口碑领先 - 速递信息
  • 出海营销必备:5家高性价比GEO定位服务商深度推荐 - 品牌2025
  • 新手避坑指南|5家靠谱GEO服务商详解,技术+服务双保障 - 品牌2025
  • 建设一个网站大概需要多少钱?网站建设成本解析 - 码云数智
  • 基于深度学习的学生上课行为检测系统演示与介绍(YOLOv12/v11/v8/v5模型+django界面+训练代码+数据集)
  • 猎翼无人机推荐:2026轻量化单兵无人机系统公司哪家好 - 品牌2025
  • 用 10 行 Java8 代码,开发一个自己的 ClaudeCodeCLI?你信吗?
  • 小程序制作平台有哪些?码云数智、有赞、微盟深度解析 - 码云数智
  • 自己如何做小程序?2026年主流SaaS小程序平台对比 - 码云数智
  • 【避坑指南】新创建conda环境后,务必重启终端
  • 【沈阳工业大学主办、连续5届EI稳定】第六届能源工程、新能源材料与器件国际学术会议(NEMD 2026)
  • 小程序 - 订阅消息通知
  • 全屋定制行业:激光封边机选择指南 - 星辉数控
  • 机械设备海外社媒代运营公司+储能海外营销推广服务商—推荐几家靠谱B2B合作伙伴 - 品牌2025
  • Ubuntu系统如何修改DNS?操作方法详解
  • Java实习模拟面试实录:手撕阿里千问30亿免单核心代码(高并发+大模型场景实战)