每次创建了新的 namespace 下都会生成一个默认的 token,名为 default-token-xxxx。default 就相当于该 namespace 下的一个用户。也可以考虑新建 service account 来获取 token。
查看 token secret
1 2 3
| [root@k3s-release-server1 ~] 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
|