default-token

default-token得先从service account说起,Service account是Pod里面的进程调用Kubernetes API或其他外部服务而设计的,每个namespace下有一个名为default的默认的ServiceAccount对象,如下图:

3_4_1_serviceaccount

Token controller监测service account的创建,并为它们创建默认token,即每个ServiceAccount都有一个名叫{Service Account name}-token-xxx的default token。在新建pod时,会自动挂载当前namespace的default token到pod的secrets下,用于Pod进程访问API Server。如下图:

3_4_1_svc_token-1

default-token实际上就是secret,由于每个namespace下有一个名为default的默认的ServiceAccount对象,因此,每个namespaces下都有一个名为default-token-xxx的secret,如下图:

3_4_1_ns_token

default-token自动刷新就是为每个default-token设置一个过期时间(24小时)。到期后,去IAM重新获取新的token更新到default-token中,如下图:

3_4_1_token_refresh


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!