一键生成基于 ServiceAccount 的 Kubernetes kubeconfig 文件

基于 ServiceAccount 的 kubeconfig 具有与 ServiceAccount 相同的权限,可以灵活地通过 ClusterRoleBinding 和/或 RoleBinding 进行权限控制,以及方便地进行账户吊销,本文介绍基于 ServiceAccount 快速生成 kubeconfig 文件的方法。

1. 准备 ServiceAccount

# 创建 ServiceAccount(例如 admin-user)
kubectl create sa admin-user -n kube-system

# 检查对应的 Secret 是否被自动创建
kubectl get secret -n kube-system admin-user
# 如果不存在,则需要手动创建 Secret(>=1.24 版本的 K8s 不再自动创建 Secret)
# 注意修改 kubernetes.io/service-account.name 为对应的 ServiceAccount 名字,这里即为 admin-user
# Secret 的 name 和 namespace 与 ServiceAccount 保持一致
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Secret
metadata:
  name: admin-user
  namespace: kube-system
  annotations:
    kubernetes.io/service-account.name: admin-user
type: kubernetes.io/service-account-token
EOF

# 为 ServiceAccount 绑定权限(这里以绑定最高权限 cluster-admin 为例)
kubectl create clusterrolebinding admin-user --clusterrole=cluster-admin --serviceaccount=kube-system:admin-us
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值