k8s基础学习-serviceaccount

什么是service account? 顾名思义,相对于user account(比如:kubectl访问APIServer时用的就是user account),service account就是Pod中的Process用于访问Kubernetes API的account,它为Pod中的Process提供了一种身份标识。相比于user account的全局性权限,service account更适合一些轻量级的task,更聚焦于授权给某些特定Pod中的Process所使用。

service account作为一种resource存在于Kubernetes cluster中,我们可以通过kubectl获取当前cluster中的service acount列表:

kubectl get serviceaccount --all-namespaces

我们查看一下kube-system namespace下名为”default”的service account的详细信息:

 kubectl describe serviceaccount/default -n kube-system

我们看到service account并不复杂,只是关联了一个secret资源作为token,该token也叫service-account-token,该token才是真正在API Server验证(authentication)环节起作用的:

 sa就像POD,secret,configmap一样都是资源,作用在单独的命名空间,为每个命名空间自动创建一个默认的SA。

可以通过将不同的sa赋值给pod来控制每个pod可以访问的资源。

猜你喜欢

转载自www.cnblogs.com/normanlin/p/10654971.html