11.2. 默认服务帐户
OpenShift Container Platform 集群包含用于集群管理的默认服务帐户,并且为各个项目生成更多服务帐户。
11.2.1. 默认集群服务帐户
几个基础架构控制器使用服务帐户凭证运行。服务器启动时在 OpenShift Container Platform 基础架构项目 (openshift-infra
) 中创建以下服务帐户,并授予其如下集群范围角色:
服务帐户 | 描述 |
---|---|
|
分配 |
|
分配 |
|
分配 |
11.2.2. 默认项目服务帐户和角色
每个项目中会自动创建三个服务帐户:
服务帐户 | 使用方法 |
---|---|
|
由构建 Pod 使用。被授予 |
|
由部署 Pod 使用并被授予 |
| 用来运行其他所有 Pod,除非指定了不同的服务帐户。 |
项目中的所有服务帐户都会被授予 system:image-puller
角色,允许使用内部容器镜像 registry 从项目中的任何镜像流拉取镜像。
11.2.3. 关于自动生成的服务帐户令牌 secret
在 4.12 中,OpenShift Container Platform 基于上游社区的 Kubernetes ,它默认启用 LegacyServiceAccountTokenNoAutoGeneration
功能。因此,在创建新服务帐户(SA)时,服务帐户令牌 secret 不再自动生成。在以前的版本中,OpenShift Container Platform 会自动将服务帐户令牌添加到每个新 SA 的 secret 中。
但是,一些功能和工作负载需要服务帐户令牌 secret 与 Kubernetes API 服务器通信,例如,OpenShift Controller Manager。虽然这个要求将在以后的发行版本中改变,但它保留在 OpenShift Container Platform 4.12 中。因此,如果需要服务帐户令牌 secret,您必须手动使用 TokenRequest API 来请求绑定的服务帐户令牌或创建服务帐户令牌 secret。
升级到 4.12 后,现有服务帐户令牌 secret 不会被删除,并可以继续按预期工作。
在 4.12 中,服务帐户令牌 secret 仍然会自动生成。OpenShift Container Platform 现在只创建一个服务帐户,而不是为每个服务帐户创建两个 secret。在以后的发行版本中,这个数字会进一步减少为零。请注意,dockercfg
secret 仍然会被生成,在升级过程中不会删除任何 secret。
其他资源
- 有关请求绑定服务帐户令牌的信息,请参阅使用卷投射配置绑定服务帐户令牌
- 有关创建服务帐户令牌 secret 的信息,请参阅创建服务帐户令牌 secret。