6.5. 针对每个服务帐户,启用和限制自提供的项目


默认情况下,服务帐户无法创建项目。但是,管理员可以为每个服务帐户启用此功能,任何给定服务帐户请求的自置备项目数量则可使用 ProjectRequestLimit 准入控制插件 限制。

注意

如果服务帐户被允许创建项目,则您无法信任上放置的任何标签,因为项目编辑器可以操作这些标签。

  1. 如果服务帐户不存在,在项目中创建服务帐户:

    $ oc create sa <sa_name>
  2. 以具有 cluster-admin 权限的用户身份,将 self-provisioner 集群角色添加到服务帐户:

    $ oc adm policy \
        add-cluster-role-to-user self-provisioner \
        system:serviceaccount:<project>:<sa_name>
  3. 编辑 /etc/origin/master/master-config.yaml 中的 master 配置文件,并将 ProjectRequestLimit 部分中的 maxProjectsForServiceAccounts 参数值设置为任何给定 self-provisioner-enabled 服务帐户可以创建的最大项目数。

    例如,以下配置为每个服务帐户设置三个项目的全局限值:

    admissionConfig:
      pluginConfig:
        ProjectRequestLimit:
          configuration:
            apiVersion: v1
            kind: ProjectRequestLimitConfig
            maxProjectsForServiceAccounts: 3
  4. 保存更改后,重启 OpenShift Container Platform 以使更改生效:

    # master-restart api
    # master-restart controllers
  5. 以服务帐户身份登录并创建新项目,验证是否已应用您的更改。

    1. 使用其令牌作为服务帐户登录:

      $ oc login --token <token>
    2. 创建一个新项目

      $ oc new-project <project_name>
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.