3.4.3. 项目
项目是附带额外注解的 Kubernetes 命名空间,是管理常规用户资源访问权限的中央载体。通过项目,一个社区的用户可以在与其他社区隔离的前提下组织和管理其内容。用户必须由管理员授予对项目的访问权限;或者,如果用户有权创建项目,则自动具有自己创建项目的访问权限。
项目可以有单独的 name
, displayName
, 和 description
。
-
必需的
name
是项目的唯一标识符,在使用 CLI 工具或 API 时是做常用的。名称长度最多为 63 个字符。 -
可选的
displayName
是项目在 web 控制台中的显示形式(默认为name
)。 -
可选的描述
可以是项目更为详细的描述,它也在 Web 控制台中可见。
每个项目限制了自己的一组:
对象(object) | Pod、服务和复制控制器等。 |
策略(policy) | 用户能否对对象执行操作的规则。 |
约束(constraint) | 对各种对象进行限制的配额。 |
服务帐户 | 服务帐户自动使用项目中对象的指定访问权限进行操作。 |
集群管理员可以 创建项目,并将项目 的管理权限委派给 用户社区的任何成员。集群管理员也可以允许开发人员 创建自己的项目。
开发人员和管理员可以使用 CLI 或 Web 控制台 与项目交互。
3.4.3.1. 安装时提供的项目
OpenShift Container Platform 附带大量项目,以 openshift-
开头的项目对用户来说最为重要。这些项目托管作为 Pod 运行的主要组件和其他基础架构组件。在这些命名空间中创建的带有 关键 Pod 注解的 pod 被视为关键,它们会保证被 kubelet 准入。在这些命名空间中为主要组件创建的 Pod 已标记为“critical”。