6.5. 针对每个服务帐户,启用和限制自提供的项目
默认情况下,服务帐户无法创建项目。但是,管理员可以为每个服务帐户启用此功能,任何给定服务帐户请求的自置备项目数量则可使用 ProjectRequestLimit
准入控制插件 限制。
如果服务帐户被允许创建项目,则您无法信任上放置的任何标签,因为项目编辑器可以操作这些标签。
如果服务帐户不存在,在项目中创建服务帐户:
$ oc create sa <sa_name>
以具有
cluster-admin
权限的用户身份,将self-provisioner
集群角色添加到服务帐户:$ oc adm policy \ add-cluster-role-to-user self-provisioner \ system:serviceaccount:<project>:<sa_name>
编辑 /etc/origin/master/master-config.yaml 中的 master 配置文件,并将
ProjectRequestLimit
部分中的maxProjectsForServiceAccounts
参数值设置为任何给定 self-provisioner-enabled 服务帐户可以创建的最大项目数。例如,以下配置为每个服务帐户设置三个项目的全局限值:
admissionConfig: pluginConfig: ProjectRequestLimit: configuration: apiVersion: v1 kind: ProjectRequestLimitConfig maxProjectsForServiceAccounts: 3
保存更改后,重启 OpenShift Container Platform 以使更改生效:
# master-restart api # master-restart controllers
以服务帐户身份登录并创建新项目,验证是否已应用您的更改。
使用其令牌作为服务帐户登录:
$ oc login --token <token>
创建一个新项目
$ oc new-project <project_name>