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
创建服务帐户时,会自动为其生成服务帐户令牌 secret。此服务帐户令牌 secret 以及自动生成的 docker 配置 secret,用于向内部 OpenShift Container Platform registry 进行身份验证。不要依赖于这些自动生成的 secret 以供您自己使用;它们可能会在以后的 OpenShift Container Platform 发行版本中删除。
在 OpenShift Container Platform 4.11 之前,在创建服务帐户时会生成第二个服务帐户令牌 secret。此服务帐户令牌 secret 用于访问 Kubernetes API。
从 OpenShift Container Platform 4.11 开始,不再创建第二个服务帐户令牌 secret。这是因为启用了 LegacyServiceAccountTokenNoAutoGeneration
上游 Kubernetes 功能门,这会停止自动生成基于 secret 的服务帐户令牌来访问 Kubernetes API。
升级到 4.14 后,任何现有服务帐户令牌 secret 都不会被删除,并可以继续正常工作。
工作负载自动注入投射卷以获取绑定服务帐户令牌。如果您的工作负载需要额外的服务帐户令牌,请在工作负载清单中添加额外的投射卷。绑定服务帐户令牌比服务帐户令牌 secret 更安全,原因如下:
- 绑定服务帐户令牌具有绑定的生命周期。
- 绑定服务帐户令牌包含受众。
- 绑定服务帐户令牌可以绑定到 pod 或 secret,绑定令牌在删除绑定对象时无效。
如需更多信息,请参阅使用卷投射配置绑定服务帐户令牌。
如果您可以接受在一个可读的 API 对象暴露没有过期的令牌,您也可以手动创建服务帐户令牌 secret 来获取令牌。如需更多信息,请参阅创建服务帐户令牌 secret。
其他资源
- 有关请求绑定服务帐户令牌的信息,请参阅使用卷投射配置绑定服务帐户令牌。
- 有关创建服务帐户令牌 secret 的信息,请参阅创建服务帐户令牌 secret。