Kubernetes K8s从入门到精通系列之七:K8s的基本概念和术语之安全类
一、安全类
开发的Pod应用需要通过API Server查询、创建及管理其他相关资源对象,所以这类用户才是K8s的关键用户。K8s设计了Service Account这个特殊的资源对象,代表Pod应用的账号,为Pod提供必要的身份验证。在此基础上,K8s实现和完善了基于角色的访问控制权限系统——RBAC(Role-Based Access Control)。
在默认情况下,K8s在每个命名空间中都会创建一个默认的名称为default的Service Account,因此Service Account是不能全局使用的,只能被所在命名空间中的Pod使用。
通过以下命令可以查看集群中的所有Service Account:
kubectl get sa --all-namespaces
Service Account是通过Secret来保存对应的用户身份凭证的,这些凭证信息有CA根证书数据(ca.crt)和签名后的Token信息(Token)。在Token信息中就包括了对应的Service Account的名称,因此API Server通过接收到的Token信息就能确定Service Account的身份。
在默认情况下,用户创建一个Pod时,Pod会绑定对应命名空间中的default这个Service Account作为其公民身份证。当Pod里的容器被