golang k8s 客户端 client-go 中如何使用 token 认证?

在集群外使用 client-go, 如何使用我自己生成的 token 而不是使用 kubeconfig 文件与 apiserver 认证呢?

阅读 3.7k
1 个回答
  • 以下内容保存成 adminuser.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: admin-user
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admin-user
  namespace: kube-system
# 应用配置创建授权用户
kubectl apply -f adminuser.yaml
# 查询token,脚本稍长,分解一下很好理解,就是先获取secert实际名字,然后读取里面的token信息
kubectl -n kube-system get secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}') -o "jsonpath={.data.token}"
# 扩展阅读,可以查看完整的secert信息,修改输出参数即可
kubectl -n kube-system get secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}') -o yaml
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题