×

项目允许用户社区独立于其他社区组织和管理其内容。

openshift-kube-开头的项目是默认项目。这些项目托管作为 Pod 运行的集群组件和其他基础设施组件。因此,OpenShift Container Platform 不允许您使用oc new-project命令创建以openshift-kube-开头的项目。集群管理员可以使用oc adm new-project命令创建这些项目。

不要在默认项目中运行工作负载或共享对默认项目的访问权限。默认项目保留用于运行核心集群组件。

以下默认项目被认为是高度特权的:defaultkube-publickube-systemopenshiftopenshift-infraopenshift-node以及其他系统创建的且openshift.io/run-level标签设置为01的项目。依赖于准入插件的功能(例如 Pod 安全准入、安全上下文约束、集群资源配额和镜像引用解析)在高度特权的项目中不起作用。

创建项目

您可以使用 OpenShift Container Platform Web 控制台或 OpenShift CLI (oc) 在集群中创建项目。

使用 Web 控制台创建项目

您可以使用 OpenShift Container Platform Web 控制台在集群中创建项目。

OpenShift Container Platform 认为以openshift-kube-开头的项目至关重要。因此,OpenShift Container Platform 不允许您使用 Web 控制台创建以openshift-开头的项目。

先决条件
  • 确保您拥有在 OpenShift Container Platform 中创建项目、应用程序和其他工作负载的适当角色和权限。

步骤
  • 如果您使用的是**管理员**视角

    1. 导航到**主页**→**项目**。

    2. 点击**创建项目**

      1. 在**创建项目**对话框的**名称**字段中,输入一个唯一的名称,例如myproject

      2. 可选:为项目添加**显示名称**和**描述**详细信息。

      3. 点击**创建**。

        将显示您的项目仪表板。

    3. 可选:选择**详细信息**选项卡以查看项目详细信息。

    4. 可选:如果您对项目具有足够的权限,则可以使用**项目访问**选项卡为项目提供或撤销管理员、编辑和查看权限。

  • 如果您使用的是**开发人员**视角

    1. 点击**项目**菜单并选择**创建项目**

      odc create project
      图 1. 创建项目
      1. 在**创建项目**对话框的**名称**字段中,输入一个唯一的名称,例如myproject

      2. 可选:为项目添加**显示名称**和**描述**详细信息。

      3. 点击**创建**。

    2. 可选:使用左侧导航面板导航到**项目**视图,并查看项目的仪表板。

    3. 可选:在项目仪表板中,选择**详细信息**选项卡以查看项目详细信息。

    4. 可选:如果您拥有项目的足够权限,则可以使用项目仪表板的**项目访问**选项卡来授予或撤销项目的管理员、编辑和查看权限。

使用 CLI 创建项目

如果您的集群管理员允许,您可以创建一个新项目。

openshift-kube-开头的项目被 OpenShift Container Platform 视为关键项目。因此,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 hello-openshift \
        --description="This is an example project" \
        --display-name="Hello OpenShift"

您可以创建的项目数量可能受系统管理员限制。达到限制后,您可能需要删除现有项目才能创建新项目。

查看项目

您可以使用 OpenShift Container Platform Web 控制台或 OpenShift CLI (oc) 来查看集群中的项目。

使用 Web 控制台查看项目

您可以使用 OpenShift Container Platform Web 控制台查看您有权访问的项目。

步骤
  • 如果您使用的是**管理员**视角

    1. 在导航菜单中导航到**主页**→**项目**。

    2. 选择一个项目进行查看。**概述**选项卡包含项目的仪表板。

    3. 选择**详细信息**选项卡以查看项目详细信息。

    4. 选择**YAML**选项卡以查看和更新项目资源的 YAML 配置。

    5. 选择**工作负载**选项卡以查看项目中的工作负载。

    6. 选择**角色绑定**选项卡以查看和创建项目的角色绑定。

  • 如果您使用的是**开发人员**视角

    1. 导航到导航菜单中的**项目**页面。

    2. 从屏幕顶部的**项目**下拉菜单中选择**所有项目**以列出集群中的所有项目。

    3. 选择一个项目进行查看。**概述**选项卡包含项目的仪表板。

    4. 选择**详细信息**选项卡以查看项目详细信息。

    5. 如果您拥有项目的足够权限,请选择**项目访问**选项卡以查看和更新项目的权限。

使用 CLI 查看项目

查看项目时,您只能根据授权策略查看您有权查看的项目。

步骤
  1. 要查看项目列表,请运行

    $ oc get projects
  2. 您可以从当前项目切换到不同的项目以进行 CLI 操作。然后,指定的项目将用于所有后续操作,这些操作会操作项目范围的内容。

    $ oc project <project_name>

使用开发者视角提供项目访问权限

您可以使用**开发者**视角中的**项目**视图来授予或撤销对项目的访问权限。

先决条件
  • 您已创建了一个项目。

步骤

要将用户添加到您的项目并向他们提供**管理员**、**编辑**或**查看**访问权限

  1. 在**开发者**视角中,导航到**项目**页面。

  2. 从**项目**菜单中选择您的项目。

  3. 选择**项目访问**选项卡。

  4. 单击**添加访问权限**以向默认权限添加新权限行。

    odc project permissions
    图 2. 项目权限
  5. 输入用户名,单击**选择角色**下拉列表,然后选择相应的角色。

  6. 单击**保存**以添加新权限。

您也可以使用

  • **选择角色**下拉列表,修改现有用户的访问权限。

  • **删除访问权限**图标,完全删除现有用户对项目的访问权限。

高级基于角色的访问控制在**管理员**视角的**角色**和**角色绑定**视图中进行管理。

使用 Web 控制台自定义可用的集群角色

在 Web 控制台的**开发者**视角中,**项目**→**项目访问**页面允许项目管理员向项目中的用户授予角色。默认情况下,可以授予项目中用户的可用集群角色为管理员、编辑和查看。

作为集群管理员,您可以定义在所有项目的集群范围的**项目访问**页面中可用的集群角色。您可以通过自定义Console配置资源中的spec.customization.projectAccess.availableClusterRoles对象来指定可用的角色。

先决条件
  • 您可以作为具有cluster-admin角色的用户访问集群。

步骤
  1. 在**管理员**视角中,导航到**管理**→**集群设置**。

  2. 单击**配置**选项卡。

  3. 从**配置资源**列表中,选择**Console operator.openshift.io**。

  4. 导航到**YAML**选项卡以查看和编辑 YAML 代码。

  5. spec下的 YAML 代码中,自定义项目访问的可用集群角色列表。以下示例指定了默认的admineditview角色

    apiVersion: operator.openshift.io/v1
    kind: Console
    metadata:
      name: cluster
    # ...
    spec:
      customization:
        projectAccess:
          availableClusterRoles:
          - admin
          - edit
          - view
  6. 单击**保存**以保存对Console配置资源的更改。

验证
  1. 在**开发者**视角中,导航到**项目**页面。

  2. 从**项目**菜单中选择一个项目。

  3. 选择**项目访问**选项卡。

  4. 单击**角色**列中的菜单,并验证可用的角色是否与您应用于Console资源配置的配置匹配。

添加到项目

您可以使用**开发者**视角中的**+添加**页面将项目添加到您的项目。

先决条件
  • 您已创建了一个项目。

步骤
  1. 在**开发者**视角中,导航到**+添加**页面。

  2. 从**项目**菜单中选择您的项目。

  3. 单击**+添加**页面上的一个项目,然后按照工作流程进行操作。

您也可以使用**添加**页面的搜索功能查找要添加到项目的其他项目。单击页面顶部**添加**下的*,然后在搜索字段中键入组件的名称。

检查项目状态

您可以使用 OpenShift Container Platform Web 控制台或 OpenShift CLI (oc) 来查看项目的状况。

使用 Web 控制台检查项目状态

您可以使用 Web 控制台查看项目的状况。

先决条件
  • 您已创建了一个项目。

步骤
  • 如果您使用的是**管理员**视角

    1. 导航到**主页**→**项目**。

    2. 从列表中选择一个项目。

    3. 在**概述**页面中查看项目状态。

  • 如果您使用的是**开发人员**视角

    1. 导航到**项目**页面。

    2. 从**项目**菜单中选择一个项目。

    3. 在**概述**页面中查看项目状态。

使用 CLI 检查项目状态

您可以使用 OpenShift CLI (oc) 查看项目的状况。

先决条件
  • 您已安装 OpenShift CLI (oc)。

  • 您已创建了一个项目。

步骤
  1. 切换到您的项目

    $ oc project <project_name> (1)
    1 <project_name>替换为您的项目名称。
  2. 获取项目的高级概述

    $ oc status

删除项目

您可以使用 OpenShift Container Platform Web 控制台或 OpenShift 命令行界面 (oc) 删除项目。

删除项目时,服务器会将项目状态从**活动**更新为**终止中**。然后,服务器会清除处于**终止中**状态的项目中的所有内容,最后删除项目。项目处于**终止中**状态时,您无法向项目添加新内容。项目可以通过 CLI 或 Web 控制台删除。

使用 Web 控制台删除项目

您可以使用 Web 控制台删除项目。

先决条件
  • 您已创建了一个项目。

  • 您拥有删除项目的必要权限。

步骤
  • 如果您使用的是**管理员**视角

    1. 导航到**主页**→**项目**。

    2. 从列表中选择一个项目。

    3. 单击项目的**操作**下拉菜单,然后选择**删除项目**。

      如果您没有删除项目的必要权限,则**删除项目**选项不可用。

      1. 在**删除项目?**窗格中,通过输入项目名称确认删除。

      2. 单击**删除**。

  • 如果您使用的是**开发人员**视角

    1. 导航到**项目**页面。

    2. 从**项目**菜单中选择要删除的项目。

    3. 单击项目的**操作**下拉菜单,然后选择**删除项目**。

      如果您没有删除项目的必要权限,则**删除项目**选项不可用。

      1. 在**删除项目?**窗格中,通过输入项目名称确认删除。

      2. 单击**删除**。

使用 CLI 删除项目

您可以使用 OpenShift 命令行界面 (oc) 删除项目。

先决条件
  • 您已安装 OpenShift CLI (oc)。

  • 您已创建了一个项目。

  • 您拥有删除项目的必要权限。

步骤
  1. 删除您的项目

    $ oc delete project <project_name> (1)
    1 <project_name>替换为要删除的项目名称。