• 每次创建了新的namespace下都会生成一个默认的token,名为default-token-xxxx。default就相当于该namespace下的一个用户。也可以考虑新建service count来获取token

  • 查看token secret

1
2
3
[root@k3s-release-server1 ~]# kubectl get secrets
NAME TYPE DATA AGE
default-token-6f7xb kubernetes.io/service-account-token 3 16m
  • 使用脚本方式访问api
1
2
3
4
5
6
7
8
#!/usr/bin/env bash
url=$1
token=`kubectl get secrets|awk 'NR>1'|awk '{print $1}'|xargs -i kubectl describe secret {} |grep token: |awk -F: '{print $2}'|sed s/' '//g`
if [ -n "$url" ]; then
curl --insecure "$url" --header "Authorization: bearer $token"
else
curl --insecure https://127.0.0.1:6443/api --header "Authorization: bearer $token"
fi