第 10 章 在应用程序中使用服务帐户
10.1. 服务帐户概述
服务帐户是一种 OpenShift Container Platform 帐户,它允许组件直接访问 API。服务帐户是各个项目中存在的 API 对象。服务帐户为控制 API 访问提供了灵活的方式,不需要共享常规用户的凭证。
使用 OpenShift Container Platform CLI 或 web 控制台时,您的 API 令牌会为您与 API 进行身份验证。您可以将组件与服务帐户关联,以便组件能够访问 API 且无需使用常规用户的凭证。例如,借助服务帐户:
- 复制控制器可以发出 API 调用来创建或删除 Pod。
- 容器内的应用程序可以发出 API 调用来进行发现。
- 外部应用程序可以发出 API 调用来进行监控或集成。
每个服务帐户的用户名都源自于其项目和名称:
system:serviceaccount:<project>:<name>
每一服务帐户也是以下两个组的成员:
- system:serviceaccounts
- 包含系统中的所有服务帐户。
- system:serviceaccounts:<project>
- 包含指定项目中的所有服务帐户。
每个服务帐户自动包含两个 secret:
- API 令牌
- OpenShift Container Registry 的凭证
生成的 API 令牌和 registry 凭证不会过期,但可通过删除 secret 来撤销它们。当删除 secret 时,系统会自动生成一个新 secret 来取代它。