11.2. 默认服务帐户


OpenShift Container Platform 集群包含用于集群管理的默认服务帐户,并且为各个项目生成更多服务帐户。

11.2.1. 默认集群服务帐户

几个基础架构控制器使用服务帐户凭证运行。服务器启动时在 OpenShift Container Platform 基础架构项目 (openshift-infra) 中创建以下服务帐户,并授予其如下集群范围角色:

服务帐户描述

replication-controller

分配 system:replication-controller 角色

deployment-controller

分配 system:deployment-controller 角色。

build-controller

分配 system:build-controller 角色。另外,build-controller 服务帐户也包含在特权安全上下文约束中,以创建特权构建 Pod。

11.2.2. 默认项目服务帐户和角色

每个项目中会自动创建三个服务帐户:

服务帐户使用方法

builder

由构建 Pod 使用。被授予 system:image-builder 角色,允许使用内部 Docker registry 将镜像推送到项目中的任何镜像流。

deployer

由部署 Pod 使用并被授予 system:deployer 角色,允许查看和修改项目中的复制控制器和 Pod。

default

用来运行其他所有 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

其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.