管理项目
了解如何创建和使用项目。
什么是项目?
项目是 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 创建项目。
从控制台创建项目
- 从 Code Engine 控制台上的 "项目" 页面,单击 创建。 或者,您可以在创建 Code Engine 应用程序,作业或使用 Code Engine 控制台快速路径的函数时创建项目。 从 Code Engine 控制台中,选择 让我们开始,然后从“开始创建”页面单击 创建项目。
- 选择要部署项目的位置。
- 输入项目的名称。 对于指定位置中的所有项目,该名称必须唯一。
- 选择要在其中创建项目的资源组。
- 单击创建。
要查看项目资源的服务实例,请转至 IBM Cloud 仪表板,并在 Code Engine 中查找项目名称。
使用 CLI 创建项目
创建项目时,将自动选择该项目作为当前上下文。 要创建未自动选择的项目,请使用 --no-select
选项。
-
安装 Code Engine CLI。 将要用于项目的资源组作为目标。
-
使用
project create
命令创建项目。 使用对您所在区域唯一的项目名称。ibmcloud ce project create --name PROJECT_NAME
示例输出
Creating project 'myproject'... OK
-
验证是否使用
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'...
确定选择哪个项目作为当前上下文
您可以使用 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 天内复原项目,否则项目将被永久删除。
- 从 Code Engine 控制台上的 "项目" 页面,查看您所在区域的项目列表。 将显示项目回收数。
- 单击
project reclamations
的链接。 - 在“项目回收”页面中,您可以查看可以复原项目的剩余天数。
- 要复原项目,请单击复原图标。
- 要永久删除项目,请单击“删除”图标。
如果未对“项目回收”页面上列出的项目执行任何操作,那么将在 7 天后自动永久删除该项目。
使用 CLI 复原已删除的项目
可以使用 reclamation
命令来管理软删除的项目。reclamation
命令。
-
使用
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
-
使用
reclamation restore
命令将软删除的项目复原到活动状态。 以下示例复原myproject2
项目及其组件。 确保您以要复原的项目的正确区域为目标。ibmcloud ce reclamation restore --name myproject
示例输出
Restoring project 'myproject'... OK
或者,可以使用 project restore
命令将软删除的项目复原到活动状态。
永久删除项目
从控制台中永久删除项目
软删除项目 (或删除具有回收的项目) 后,可以将其复原或从控制台中永久删除。 永久删除项目时,无法将其复原。
- 从 Code Engine 控制台上的 "项目" 页面,查看您所在区域的项目列表。 将显示项目回收数。
- 单击
project reclamations
的链接。 - 在“项目回收”页面中,您可以查看可以复原项目的剩余天数。 要永久删除项目,请单击
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