IBM Cloud Docs
管理项目

管理项目

了解如何创建和使用项目。

什么是项目?

项目是 Code Engine 实体 (例如应用程序,作业和构建) 的分组。 项目基于 Kubernetes 名称空间。 项目的名称在 IBM Cloud® 资源组,用户帐户和区域中必须唯一。 项目用于管理资源并提供对其实体的访问权。

项目提供以下项。

  • 为实体名称提供唯一的名称空间。
  • 管理对项目资源的访问 (入站访问)。
  • 管理对支持服务,注册表和存储库的访问 (出站访问)。
  • 具有自动生成的传输层服务 (TLS) 证书。

有关使用 IAM 管理项目访问控制的更多信息,请参阅 管理用户访问权

项目不会产生任何成本,而是充当应用程序,作业和函数的文件夹。

如何查看我可以访问的项目?

您可以在 Code Engine 控制台中查看项目列表。

您还可以运行 project list 命令。

ibmcloud ce project list

示例输出

Getting projects...
OK

Name             ID                                    Status  Selected  Tags  Region    Resource Group  Age
myproj-eude      01234567-abcd-abcd-abcd-abcdabcd2222  active  false           eu-de     default         27d
myproject        01234567-abcd-abcd-abcd-abcdabcd1111  active  true            us-south  default         52d

如何查看有关项目的详细信息?

在 Code Engine 控制台中,您可以通过单击 Code Engine“项目”页面中的项目名称来查看项目的详细信息。

从控制台 (例如,应用程序,作业或功能) 或其相关实体 (例如,访问,绑定或预订) 使用 Code Engine 中的组件时,可以查看有关关联项目的详细信息。 从特定 Code Engine 实体的页面中,单击 详细信息 以了解有关关联项目的更多信息。 使用此页面来查看关联项目的详细信息,包括区域,CRN (云资源名称),GUID (全局唯一标识),网络地址 (公用和专用) 等信息!

您还可以运行 project get 命令以显示项目的详细信息。 将 PROJECT_NAME 替换为项目的名称。 如果选择项目作为当前上下文,那么此命令的输出将包含有关 Code Engine 项目资源的限制和配额使用的详细信息。 有关项目限制的更多信息,请参阅 项目配额

ibmcloud ce project get --name PROJECT_NAME

示例输出

Getting project 'myproject'...
OK

Name:                       myproject
ID:                         01234567-abcd-abcd-abcd-abcdabcd1111
Status:                     active
Selected:                   true
Region:                     us-south
Resource Group:             default
Service Binding Service ID: ServiceId-1234abcd-abcd-abcd-1111-1a2b3c4d5e6f
Age:                        52d
Created:                    Fri, 15 Jan 2021 13:32:30 -0500
Updated:                    Fri, 15 Jan 2021 13:32:45 -0500

Quotas:
    Category                                  Used       Limit
    App revisions                             33         100
    Apps                                      10         100
    Build runs                                4          100
    Builds                                    4          100
    Configmaps                                7          100
    CPU                                       6.15       64
    Ephemeral storage                         5415750Ki  256G
    Instances (active)                        6          250
    Instances (total)                         9          2500
    Job runs                                  4          100
    Jobs                                      3          100
    Memory                                    26400M     256G
    Secrets                                   21         100
    Subscriptions (cron)                      1          100
    Subscriptions (IBM Cloud Object Storage)  0          100

如何设置策略,以便其他人可以使用我的项目?

请参阅有关 管理用户访问权 的信息,以了解如何设置 IAM 策略,以便其他人可以使用 Code Engine 项目。

是否存在要考虑的项目限制?

每个区域可创建的最大项目数为 20。 有关项目限制的更多信息,请参阅 项目配额

创建项目

您可以通过控制台或 CLI 创建项目。

从控制台创建项目

  1. Code Engine 控制台上的 "项目" 页面,单击 创建。 或者,您可以在创建 Code Engine 应用程序,作业或使用 Code Engine 控制台快速路径的函数时创建项目。 从 Code Engine 控制台中,选择 让我们开始,然后从“开始创建”页面单击 创建项目
  2. 选择要部署项目的位置。
  3. 输入项目的名称。 对于指定位置中的所有项目,该名称必须唯一。
  4. 选择要在其中创建项目的资源组。
  5. 单击创建

要查看项目资源的服务实例,请转至 IBM Cloud 仪表板,并在 Code Engine 中查找项目名称。

使用 CLI 创建项目

创建项目时,将自动选择该项目作为当前上下文。 要创建未自动选择的项目,请使用 --no-select 选项。

  1. 安装 Code Engine CLI。 将要用于项目的资源组作为目标。

  2. 使用 project create 命令创建项目。 使用对您所在区域唯一的项目名称。

    ibmcloud ce project create --name PROJECT_NAME
    

    示例输出

    Creating project 'myproject'...
    OK
    
  3. 验证是否使用 project get 命令创建了新项目。

    ibmcloud ce project get --name PROJECT_NAME
    

    示例输出

    Getting project 'myproject'...
    OK
    Name:                       myproject
    ID:                         01234567-abcd-abcd-abcd-abcdabcd1111
    Status:                     active
    Selected:                   true
    Region:                     us-south
    Resource Group:             default
    Service Binding Service ID: ServiceId-1234abcd-abcd-abcd-1111-1a2b3c4d5e6f
    Age:                        52d
    Created:                    Fri, 15 Jan 2021 13:32:30 -0500
    Updated:                    Fri, 15 Jan 2021 13:32:45 -0500
    
    Quotas:
    Category                                  Used      Limit
    App revisions                             1         100
    Apps                                      1         100
    Build runs                                0         100
    Builds                                    0         100
    Configmaps                                2         100
    CPU                                       1.025     64
    Ephemeral storage                         902625Ki  256G
    Instances (active)                        1         250
    Instances (total)                         2         2500
    Job runs                                  1         100
    Jobs                                      1         100
    Memory                                    4400M     256G
    Secrets                                   5         100
    Subscriptions (cron)                      0         100
    Subscriptions (IBM Cloud Object Storage)  0         100
    

    您还可以列出所有项目,此输出将显示哪个项目是所选项目。 在以下示例中,myproject 是选择作为当前上下文的项目。

    ibmcloud ce project list
    

    示例输出

    Getting projects...
    OK
    
    Name             ID                                    Status  Selected  Tags  Region    Resource Group  Age
    myproj-eude      01234567-abcd-abcd-abcd-abcdabcd2222  active  false           eu-de     default         27d
    myproject        01234567-abcd-abcd-abcd-abcdabcd1111  active  true            us-south  default         52d
    

使用项目

创建项目后,可以使用 Code Engine 控制台或 CLI 来处理该项目。

从控制台处理项目

要使用项目,请转至 Code Engine "项目" 页面,然后单击列表中的项目名称。

要使用 Code Engine 组件,必须在项目上下文中使用这些组件。 从项目上下文中,您可以创建和使用 Code Engine 组件,例如 应用程序作业函数。 要确定您当前正在处理的项目,请参阅 Code Engine 组件的面包屑。

从控制台 (例如,应用程序,作业或功能) 或其相关实体 (例如,访问,绑定或预订) 使用 Code Engine 中的组件时,可以查看有关关联项目的详细信息。 从特定 Code Engine 实体的页面中,单击 详细信息 以了解有关关联项目的更多信息。 使用此页面来查看关联项目的详细信息,包括区域,CRN (云资源名称),GUID (全局唯一标识),网络地址 (公用和专用) 等信息!

使用 CLI 处理项目

要使用 CLI 处理项目,必须选择该项目作为当前上下文。 除非您指定 --no-select 选项,否则项目在创建时将自动选择为当前上下文。 要选择当前未设定目标的项目,请使用 project select 命令。

ibmcloud ce project select --name PROJECT_NAME

示例输出

Selecting project 'myproject'...

从所选项目的上下文中,可以使用 Code Engine 组件,例如 应用程序作业函数

确定选择哪个项目作为当前上下文

您可以使用 project current 命令来查找有关选择作为当前上下文的项目的详细信息。

删除项目

当您不再需要项目时,可以将其删除。 删除项目将删除其包含的所有组件。 您可以使用控制台或 CLI。

从控制台或使用 CLI 删除项目时,会将其软删除并可复原。 您必须在 7 天内复原项目,否则项目将被永久删除。 有关复原项目的更多信息,请参阅 复原已删除的项目。 要永久删除项目,请参阅 永久删除项目

删除项目时,未永久删除的任何项目将计入每个区域允许的最多 20 个项目。

区域内的项目名称必须唯一。 当您软删除项目 (或删除具有回收的项目) 时,在永久删除项目之前,无法复用项目名称。

从控制台删除项目

要从控制台中删除项目,请转至 Code Engine "项目" 页面,选择要删除的项目,然后单击“删除”图标。 如果打开特定项目,那么还可以从“操作”菜单中删除该项目。

从控制台中删除项目时,将软删除该项目,并且可以在永久删除该项目之前的 7 天内复原该项目。 项目回收表示仍可复原的已删除项目。 从 Code Engine "项目" 页面,将显示项目回收数。 单击 restorable projects 以打开“项目回收”页面,并显示可复原或永久删除的项目列表。

使用 CLI 删除项目

要使用 CLI 删除项目,请使用 project delete 命令。 您可以选择使用 -f 选项来强制删除项目而不进行确认。 软删除项目后,可以使用 reclamation 命令来管理此项目。 以下示例软删除 myproject 项目,

ibmcloud ce project delete --name myproject -f

示例输出

Deleting project 'myproject'...
OK

要永久删除项目以使其无法复原,请使用 project delete 命令指定 --hard 选项。 您可以选择使用 -f 选项来强制删除项目而不进行确认。 以下示例将永久删除 myproject1 项目,

ibmcloud ce project delete --name myproject1 --hard -f

示例输出

Deleting project 'myproject1'...
OK

如果使用 project delete 命令指定 --hard 选项,那么将立即删除该项目,并且无法使用 IBM Cloud 资源回收来复原该项目。 如果未指定 --hard 选项,那么可以使用 reclamation restore 命令在 7 天内复原项目。

如果先前软删除了项目 (未指定 --hard 选项),那么只能通过将 project delete 命令与 --hard 选项配合使用来指定后续删除。 此操作将完全删除项目,以便无法将其复原。

复原已删除的项目

从控制台复原已删除的项目

软删除项目后,可以将其复原或从控制台永久删除。 您必须在 7 天内复原项目,否则项目将被永久删除。

  1. Code Engine 控制台上的 "项目" 页面,查看您所在区域的项目列表。 将显示项目回收数。
  2. 单击 project reclamations 的链接。
  3. 在“项目回收”页面中,您可以查看可以复原项目的剩余天数。
    • 要复原项目,请单击复原图标。
    • 要永久删除项目,请单击“删除”图标。

如果未对“项目回收”页面上列出的项目执行任何操作,那么将在 7 天后自动永久删除该项目。

使用 CLI 复原已删除的项目

可以使用 reclamation 命令来管理软删除的项目。reclamation 命令。

  1. 使用 reclamation list 命令发现软删除的项目。

    ibmcloud ce reclamation list
    

    示例输出

    Getting project reclamations...
    OK
    Name          ID                                    Reclamation ID                        Status        Region    Resource Group  Age   Time to Hard Deletion
    myproject     def218c5-abcd-abcd-abcd-97854c288d76  48e3d7a2-abcd-abcd-abcd-99db7152b8fe  soft deleted  us-south  default         40h   6d23h
    myproject2    01f0bc66-abcd-abcd-abcd-3ef7e99f6f69  af2cd017-abcd-abcd-abcd-d32e2bb79136  soft deleted  jp-osa    default         8m58s 2d11h
    
  2. 使用 reclamation restore 命令将软删除的项目复原到活动状态。 以下示例复原 myproject2 项目及其组件。 确保您以要复原的项目的正确区域为目标。

    ibmcloud ce reclamation restore --name myproject
    

    示例输出

    Restoring project 'myproject'...
    OK
    

或者,可以使用 project restore 命令将软删除的项目复原到活动状态。

永久删除项目

从控制台中永久删除项目

软删除项目 (或删除具有回收的项目) 后,可以将其复原或从控制台中永久删除。 永久删除项目时,无法将其复原。

  1. Code Engine 控制台上的 "项目" 页面,查看您所在区域的项目列表。 将显示项目回收数。
  2. 单击 project reclamations 的链接。
  3. 在“项目回收”页面中,您可以查看可以复原项目的剩余天数。 要永久删除项目,请单击 Delete

如果未对“项目回收”页面上列出的已删除项目执行任何操作,那么该项目将在 7 天后自动永久删除。

使用 CLI 永久删除项目

如果您的项目已软删除,那么可以使用 reclamation delete 命令来永久删除该项目。 通过将 --force 选项与此命令配合使用,将强制删除而不进行确认。

ibmcloud ce reclamation delete -n myproject --f

示例输出

Hard deleting project 'myproject'...
OK

如果未软删除项目,那么要永久删除项目以使其无法复原,请将 --hard 选项与 project delete 命令配合使用,以指定立即永久删除该项目。 例如,要永久删除 myproject3 项目,

ibmcloud ce project delete --name myproject3 --hard

示例输出

Deleting project 'myproject3'...
OK