使用TOKEN授权访问api-server在k8s运维场景中比较常见,
apiserver有三种级别的客户端认证方式
1,HTTPS证书认证:基于CA根证书签名的双向数字证书认证方式
2,HTTP Token认证:通过一个Token来识别合法用户
3,HTTP Base认证:通过用户名+密码的认证方式
通常的运维场景使用第二种Token较为方便Token的权限是关联service account,
# kubectl describe secrets admin-token-2q28f -n kube-system
Name: admin-token-2q28f
Namespace: kube-system
Labels: <none>
Annotations: kubernetes.io/service-account.name: admin
kubernetes.io/service-account.uid: 93316ffa-7545-11e9-b617-00163e06992d
Type: kubernetes.io/service-account-token
Data
====
ca.crt: 1419 bytes
namespace: 11 bytes
token: eyJhbGciOiJ******
Service Account 的权限来自Clusterrolebinding–>ClusterRole
# kubectl describe serviceaccount admin -n kube-system
Name: admin
Namespace: kube-system
Labels: <none>
Annotations: