第 2 章 项目
2.1. 处理项目
通过项目(project),一个社区用户可以在与其他社区隔离的前提下组织和管理其内容。
					以 openshift- 和 kube- 开头的项目是默认项目。这些项目托管作为 pod 运行的主要组件和其他基础架构组件。因此,OpenShift Container Platform 不允许使用 oc new-project 命令创建以 openshift- 或 kube- 开始的项目。集群管理员可以使用 oc adm new-project 命令创建这些项目。
				
不要在默认项目中运行工作负载或共享对默认项目的访问权限。为运行核心集群组件保留默认项目。
					以下默认项目被视为具有高度特权:default, kube-public, kube-system, openshift, openshift-infra, openshift-node,其他系统创建的项目的标签 openshift.io/run-level 被设置为 0 或 1。依赖于准入插件(如 pod 安全准入、安全性上下文约束、集群资源配额和镜像引用解析)的功能无法在高特权项目中工作。
				
2.1.1. 创建一个项目
					您可以使用 OpenShift Container Platform Web 控制台或 OpenShift CLI (oc) 在集群中创建项目。
				
2.1.1.1. 使用 Web 控制台创建项目
您可以使用 OpenShift Container Platform Web 控制台在集群中创建项目。
							OpenShift Container Platform 认为以 openshift- 和 kube- 开头的项目是重要的。因此,OpenShift Container Platform 不允许使用 Web 控制台创建以 openshift- 开头的项目。
						
先决条件
- 在 OpenShift Container Platform 中,确保您有适当的角色和权限来创建项目、应用程序和其他工作负载。
流程
- 如果使用 Administrator 视角: - 
										浏览至 Home Project。 
- 点 Create Project: - 
												在 Create Project 对话框的 Name 项中输入一个唯一的名称,如 myproject。
- 可选:为项目添加 Display Name 和 Description 详情。
- 点 Create。 - 您的项目的仪表板会显示。 
 
- 
												在 Create Project 对话框的 Name 项中输入一个唯一的名称,如 
- 可选: 选择 Details 选项卡来查看项目详情。
- 可选:如果您有针对一个项目的足够权限,您可以使用 Project Access 选项卡为项目提供或撤销 admin、edit 和 view 权限。
 
- 
										浏览至 Home 
- 如果使用 Developer 视角: - 点 Project 菜单,再选择 Create Project: - 图 2.1. Create Project - 
												在 Create Project 对话框的 Name 项中输入一个唯一的名称,如 myproject。
- 可选:为项目添加 Display Name 和 Description 详情。
- 点 Create。
 
- 
												在 Create Project 对话框的 Name 项中输入一个唯一的名称,如 
- 可选:使用左侧导航面板导航到 Project 视图,在仪表板中查看您的项目。
- 可选:在项目仪表板中,选择 Details 选项卡来查看项目详情。
- 可选:如果您有足够的项目权限,您可以使用项目仪表板的 Project Access 选项卡为项目提供或撤销 admin、edit 和 view 权限。
 
其他资源
2.1.1.2. 使用 CLI 创建项目
如果集群管理员允许,您可以创建新项目。
							OpenShift Container Platform 认为以 openshift- 和 kube- 开头的项目是重要的。因此,OpenShift Container Platform 不允许使用 oc new-project 命令创建以 openshift- 或 kube- 开始的项目。集群管理员可以使用 oc adm new-project 命令创建这些项目。
						
流程
- 运行: - oc new-project <project_name> \ --description="<description>" --display-name="<display_name>"- $ oc new-project <project_name> \ --description="<description>" --display-name="<display_name>"- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 例如: - oc new-project hello-openshift \ --description="This is an example project" \ --display-name="Hello OpenShift"- $ oc new-project hello-openshift \ --description="This is an example project" \ --display-name="Hello OpenShift"- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
系统管理员可能会限制允许创建的项目数量。达到限值后,需要删除现有项目才能创建新项目。
2.1.2. 查看项目
					您可以使用 OpenShift Container Platform Web 控制台或 OpenShift CLI (oc) 查看集群中的项目。
				
2.1.2.1. 使用 Web 控制台查看项目
您可以使用 OpenShift Container Platform Web 控制台查看您可以访问的项目。
流程
- 如果使用 Administrator 视角: - 
										在导航菜单中进入到 Home Projects。 
- 选择要查看的项目。Overview 选项卡包含项目的仪表板。
- 选择 Details 选项卡来查看项目详情。
- 选择 YAML 选项卡来查看和更新项目资源的 YAML 配置。
- 选择 Workloads 选项卡来查看项目中的工作负载。
- 选择 RoleBindings 选项卡来查看和为项目创建角色绑定。
 
- 
										在导航菜单中进入到 Home 
- 如果使用 Developer 视角: - 进入到导航菜单中的 Project 页面。
- 从屏幕顶部的 Project 下拉菜单中选择 All Projects,以列出集群中的所有项目。
- 选择要查看的项目。Overview 选项卡包含项目的仪表板。
- 选择 Details 选项卡来查看项目详情。
- 如果您有足够的项目权限,请选择 Project access 选项卡视图并更新项目的特权。
 
2.1.2.2. 使用 CLI 查看项目
查看项目时,只能看到根据授权策略您有权访问的项目。
流程
- 要查看项目列表,请运行: - oc get projects - $ oc get projects- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 您可以从当前项目更改到其他项目,以进行 CLI 操作。然后,所有操控项目范围内容的后续操作都会使用指定的项目: - oc project <project_name> - $ oc project <project_name>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
2.1.3. 使用 Developer 视角为您的项目提供访问权限
您可以使用 Developer 视角中的 Project 视图来授予或撤销对项目的访问权限。
先决条件
- 您已创建了一个项目。
流程
将用户添加到项目,并为用户提供 Admin、Edit 或 View 访问权限:
- 在 Developer 视角中,进入到 Project 页面。
- 从 Project 菜单中选择您的项目。
- 选择 Project Access 选项卡。
- 点 Add access 为默认权限添加新权限行。 - 图 2.2. 项目权限 
- 输入用户名,点 Select a role 下拉列表,然后选择适当的角色。
- 点击 Save 添加新权限。
您还可以使用:
- Select a role 下拉列表修改现有用户的访问权限。
- Remove Access 图标以完全删除现有用户对项目的访问权限。
基于角色的高级访问控制是在 Administrator 视角的 Roles 和 Roles Binding 视图中管理的。
2.1.4. 使用 Web 控制台自定义可用的集群角色
					在 Web 控制台的 Developer 视角中,Project 
					作为集群管理员,您可以在集群范围的 项目访问页面中定义哪些集群角色可用。您可以通过在 Console 配置资源中自定义 spec.customization.projectAccess.availableClusterRoles 对象来指定可用的角色。
				
先决条件
- 
							您可以使用具有 cluster-admin角色的用户访问集群。
流程
- 
							在 Administrator 视角中,进入到 Administration Cluster settings。 
- 点 Configuration 选项卡。
- 
							从 Configuration resource 列表中,选择 Console operator.openshift.io。
- 导航到 YAML 选项卡以查看和编辑 YAML 代码。
- 在 - spec下的 YAML 代码中,自定义可用于项目访问的集群角色列表。以下示例指定了默认的- admin、- edit和- view角色:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 
							点 Save 将更改保存到 Console配置资源。
验证
- 在 Developer 视角中,进入到 Project 页面。
- 从 Project 菜单中选择一个项目。
- 选择 Project access 选项卡。
- 
							点 Role 列中的菜单,并验证可用的角色是否与应用到 Console资源配置的配置匹配。
2.1.5. 添加到项目
您可以使用 Developer 视角中的 +Add 页面将项目添加到项目中。
先决条件
- 您已创建了一个项目。
流程
- 在 Developer 视角中,进入 +Add 页面。
- 从 Project 菜单中选择您的项目。
- 点 +Add 页面上的项目,然后按照工作流操作。
您还可以使用 Add* page to find additional items to add to your project.Click *(在页面顶部的 Add 下),并在搜索字段中输入组件名称。
2.1.6. 检查项目状态
					您可以使用 OpenShift Container Platform Web 控制台或 OpenShift CLI (oc) 查看项目的状态。
				
2.1.6.1. 使用 Web 控制台检查项目状态
您可以使用 Web 控制台查看项目的状态。
先决条件
- 您已创建了一个项目。
流程
- 如果使用 Administrator 视角: - 
										浏览至 Home Project。 
- 从列表中选择一个项目。
- 查看 Overview 页面中的项目状态。
 
- 
										浏览至 Home 
- 如果使用 Developer 视角: - 前往 Project 页面。
- 从 Project 菜单中选择一个项目。
- 查看 Overview 页面中的项目状态。
 
2.1.6.2. 使用 CLI 检查项目状态
						您可以使用 OpenShift CLI (oc)查看项目的状态。
					
先决条件
- 
								已安装 OpenShift CLI(oc)。
- 您已创建了一个项目。
流程
- 切换到项目: - oc project <project_name> - $ oc project <project_name>- 1 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- 将<project_name>替换为项目的名称。
 
- 获取项目的高级别概述: - oc status - $ oc status- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
2.1.7. 删除项目
					您可以使用 OpenShift Container Platform Web 控制台或 OpenShift CLI (oc) 删除项目。
				
当您删除项目时,服务器会将项目状态从 Active 更新为 Terminating。在最终移除项目前,服务器会清除处于 Terminating 状态的项目中的所有内容。项目处于 Terminating 状态时,您无法将新的内容添加到这个项目中。可以从 CLI 或 Web 控制台删除项目。
2.1.7.1. 使用 Web 控制台删除项目
您可以使用 Web 控制台删除项目。
先决条件
- 您已创建了一个项目。
- 有删除项目所需的权限。
流程
- 如果使用 Administrator 视角: - 
										浏览至 Home Project。 
- 从列表中选择一个项目。
- 点项目的 Actions 下拉菜单,再选择 Delete Project。 注意- 如果您没有删除项目所需的权限,则 Delete Project 选项不可用。 - 在 Delete Project? 窗格中,输入您的项目名称以确认删除。
- 点击 Delete。
 
 
- 
										浏览至 Home 
- 如果使用 Developer 视角: - 前往 Project 页面。
- 从 Project 菜单中选择您要删除的项目。
- 点项目的 Actions 下拉菜单,再选择 Delete Project。 注意- 如果您没有删除项目所需的权限,则 Delete Project 选项不可用。 - 在 Delete Project? 窗格中,输入您的项目名称以确认删除。
- 点击 Delete。
 
 
2.1.7.2. 使用 CLI 删除项目
						您可以使用 OpenShift CLI (oc) 删除项目。
					
先决条件
- 
								已安装 OpenShift CLI(oc)。
- 您已创建了一个项目。
- 有删除项目所需的权限。
流程
- 删除项目: - oc delete project <project_name> - $ oc delete project <project_name>- 1 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- 将<project_name>替换为您要删除的项目的名称。
 
 
    