k8s 在集群版本1.22已以上版本在创建SA的时候不会自动生成token
如果想要在1.22集群及以上版本获取token可以参考如下方案
第一步 : 先创建一个用户角色
kubectl create sa test-user
第二步: 使用yaml 单独创建 secret token
apiVersion: v1
kind: Secret
metadata:
name: test-user-token # 这个 sa toekn 的名称
annotations:
kubernetes.io/service-account.name: "test-user" # 这里填写serviceAccountName
type: kubernetes.io/service-account-token
第三步: apply 这个yaml 文件,创建 secret
kubectl apply -f test-user-token.yaml
查看已经创建成功
第四步: 获取对应的token
这里有两个方案获取
方案一: 通过 describe secret 获取
kubectl describe secret test-user-token
复制token字段中的内容即可
方案二: 通过get secret 在 base64 解码获取
kubectl get secret test-user-token -n default -o "jsonpath={.data.token}" | base64 -d
这个就是对应的token