kubernetes怎么设置持久化token

目前k8s跑在本机上,按照k8s部署流程设置完token可以用token登录kubernetes-dashborad,但是重启后token又会失效需要重新设置一遍,看了.kube/config文件token确实会清掉。
token设置命令

$TOKEN=((kubectl -n kube-system describe secret default | Select-String "token:") -split " +")[1]
kubectl config set-credentials docker-desktop --token="${TOKEN}"

不想每次都设置一遍,有什么参数或者方法可以持久化该token。

阅读 2.2k
1 个回答

新建一个service 账号可以,不用使用default账号
1、新建一个admin配置文件admin-role.yml

kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: admin
  annotations:
    rbac.authorization.kubernetes.io/autoupdate: "true"
roleRef:
  kind: ClusterRole
  name: cluster-admin
  apiGroup: rbac.authorization.k8s.io
subjects:
- kind: ServiceAccount
  name: admin
  namespace: kube-system
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin
  namespace: kube-system
  labels:
    kubernetes.io/cluster-service: "true"
    addonmanager.kubernetes.io/mode: Reconcile

2、执行角色绑定

kubectl create -f admin-role.yaml

3、获取admin token

kubectl -n kube-system describe secret admin

或者

echo ((kubectl -n kube-system describe secret admin | Select-String "token:") -split " +")[1]
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进