第 9 章 了解并创建服务帐户

9.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 来取代它。