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