6.2. 项目和命名空间
Kubernetes 命名空间提供设定集群中资源范围的机制。Kubernetes 文档中提供有关命名空间的更多信息。
命名空间为以下对象提供唯一范围:
- 指定名称的资源,以避免基本命名冲突。
- 委派给可信用户的管理授权。
- 限制社区资源消耗的能力。
系统中的大多数对象都通过命名空间来设定范围,但一些对象不在此列且没有命名空间,如节点和用户。
项目是附带额外注解的 Kubernetes 命名空间,是管理常规用户资源访问权限的集中载体。通过项目,一个社区的用户可以在与其他社区隔离的前提下组织和管理其内容。用户必须由管理员授予对项目的访问权限;或者,如果用户有权创建项目,则自动具有自己创建项目的访问权限。
项目可以有单独的 name
、displayName
和 description
。
-
其中必备的
name
是项目的唯一标识符,在使用 CLI 工具或 API 时最常见。名称长度最多为 63 个字符。 -
可选的
displayName
是项目在 web 控制台中的显示形式(默认为name
)。 -
可选的
description
可以为项目提供更加详细的描述,也可显示在 web 控制台中。
每个项目限制了自己的一组:
| Pod、服务和复制控制器等。 |
| 用户能否对对象执行操作的规则。 |
| 对各种对象进行限制的配额。 |
| 服务帐户自动使用项目中对象的指定访问权限进行操作。 |
集群管理员可以创建项目,并可将项目的管理权限委派给用户社区的任何成员。集群管理员也可以允许开发人员创建自己的项目。
开发人员和管理员可以通过 CLI 或 Web 控制台与项目交互。