IBM Cloud Docs
IBM Cloud Code Engine 入门

IBM Cloud Code Engine 入门

IBM Cloud® Code Engine 是一个完全受管的无服务器平台,用于运行容器化工作负载,包括 Web 应用程序,微服务,事件驱动的功能或批处理作业。Code Engine 甚至通过源代码为您构建容器映像。 所有这些工作负载都可以无缝地协同工作,因为它们都在相同的 Kubernetes 基础架构中托管。 Code Engine体验的设计目的是让您专注于编写代码,而不是托管代码所需的基础设施。

首先,了解 Code Engine 的一些 关键术语,然后开始使用下列其中一个选项。

Code Engine 项目,应用程序,作业和函数是什么?

开始之前,请熟悉 Code Engine的一些关键术语。 之后,您可以测试自己的知识,并 进行测验!

Code Engine术语
术语 描述
项目 项目是 Code Engine 实体 (例如应用程序,作业和构建) 的分组。 项目用于管理资源并提供对其实体的访问权。
应用程序 应用程序或应用运行您的代码来处理 HTTP 请求。 应用程序有一个用于传入请求的 URL。 根据传入工作负载,应用程序的运行实例数会自动向上扩展或向下扩展 (为零)。
构建 构建或映像构建是一种可用于从源代码创建容器映像的机制。Code Engine 支持从 Dockerfile 或 Cloud Native Buildpack 进行构建。
功能 函数是响应 HTTP 请求执行任务的无状态代码片段。
作业 作业并行运行可执行代码的一个或多个实例。 与包含用于处理入局请求的 HTTP Server 的应用程序不同,作业设计为运行一次并退出。

有关术语的更多信息,请参阅 Code Engine 术语

不确定要选择什么? 请参阅 规划 Code Engine

部署第一个 Code Engine 应用程序

创建你的第一个Code Engine应用程序使用 icr.io/codeengine/helloworld 图像。

  1. 打开 Code Engine 控制台。
  2. 选择 让我们开始
  3. 从可用项目列表中选择一个项目。 您还可以 创建新的。 请注意,您必须具有所选项目才能部署应用程序。
  4. 选择应用程序
  5. 输入应用程序的名称,例如 myapp。 为您的应用程序取一个在项目中独一无二的名称。
  6. 选择以运行 容器映像 并为映像引用指定 icr.io/codeengine/helloworld。 对于此示例,您不需要修改缺省值。 有关用于此示例的代码的更多信息,请参阅 helloworld
  7. 单击创建
  8. 在应用程序状态更改为 Ready 后,可以测试应用程序。 单击 测试应用程序,然后在“测试应用程序”窗格中单击 发送请求。 要在网页中打开应用程序,请单击应用程序网址

示例输出

Hello World from:
. ___  __  ____  ____
./ __)/  \(    \(  __)
( (__(  O )) D ( ) _)
.\___)\__/(____/(____)
.____  __ _   ___  __  __ _  ____
(  __)(  ( \ / __)(  )(  ( \(  __)
.) _) /    /( (_ \ )( /    / ) _)
(____)\_)__) \___/(__)\_)__)(____)

Some Env Vars:
--------------
CE_API_BASE_URL=https://api.us-south.codeengine.cloud.ibm.com
CE_APP=myapp
CE_DOMAIN=us-south.codeengine.appdomain.cloud
CE_PROJECT_ID=abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
CE_REGION=us-south
CE_SUBDOMAIN=abcdabcdab
HOME=/root
HOSTNAME=myapp-00001-deployment-5b5895fdf7-abcd
K_REVISION=myapp-00001
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PORT=8080
PWD=/
SHLVL=1
z=Set env var 'SHOW' to see all variables

您已将第一个应用程序部署到 Code Engine 并进行了测试。 转至 教程: 部署应用程序使用 Code Engine 中的应用程序来尝试更多应用程序选项。

运行第一个Code Engine作业

使用 icr.io/codeengine/helloworld 映像创建并运行第一个 Code Engine 作业。

  1. 打开 Code Engine 控制台。
  2. 选择 让我们开始
  3. 从可用项目列表中选择一个项目。 您还可以 创建新的。 请注意,您必须具有所选项目才能创建作业。
  4. 选择工作
  5. 输入任务名称,例如 myjob。 使用项目中独一无二的工作名称。
  6. 为图像引用指定 icr.io/codeengine/helloworld。 对于此示例,您不需要修改缺省值。 有关用于此示例的代码的更多信息,请参阅 helloworld
  7. 单击创建
  8. 从作业页面中,单击 提交作业 以根据当前配置提交作业。
  9. 在“提交作业”窗格中,接受所有缺省值,然后再次单击 提交作业 以运行作业。

启用日志记录时,将在日志中显示以下示例。 要了解在启用日志记录的情况下运行作业,请参阅 查看日志

日志记录实例的示例输出

Hello World from:
. ___  __  ____  ____
./ __)/  \(    \(  __)
( (__(  O )) D ( ) _)
.\___)\__/(____/(____)
.____  __ _   ___  __  __ _  ____
(  __)(  ( \ / __)(  )(  ( \(  __)
.) _) /    /( (_ \ )( /    / ) _)
(____)\_)__) \___/(__)\_)__)(____)

Some Env Vars:
--------------
CE_DOMAIN=us-east.codeengine.appdomain.cloud
CE_JOB=myjob
CE_JOBRUN=myjob-jobrun-xgpmz
CE_SUBDOMAIN=abcdabcdab
HOME=/root
HOSTNAME=myjob-jobrun-abcde-0-0
JOB_INDEX=0
...
z=Set env var 'SHOW' to see all variables

您已从控制台创建并运行了作业。 转至 教程: 运行作业在 Code Engine中运行作业,以尝试更多作业选项。

运行第一个函数

使用样本函数代码创建并运行第一个 Code Engine 函数。

  1. 打开 Code Engine 控制台。
  2. 选择 让我们开始
  3. 从可用项目列表中选择一个项目。 您还可以 创建新的。 请注意,您必须具有所选项目才能创建函数。
  4. 选择功能
  5. 输入功能名称。 为您的功能取一个在项目中独一无二的名称。
  6. 选择 Node.js 18
  7. 单击创建。 您的函数是使用样本代码创建的。 您可以在“功能-> 配置”页面上编辑此代码。
  8. 单击 测试功能,然后在“测试功能”窗格中单击 发送请求。 要在网页中打开该功能,请单击函数 URL

示例输出

{"args":{"__ce_headers":{"Accept-Encoding":"gzip, deflate, br","User-Agent":"got (https://github.com/sindresorhus/got)","X-Request-Id":"12340a7b-11c0-4de3-f16b-a6abc27f4146"},"__ce_method":"GET","__ce_path":"/"},"env":{"HOME":"/root","PATH":"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/lib/nodejs/bin","PWD":"/nodejsAction","SHLVL":"1","_":"/usr/local/lib/nodejs/bin/node","__OW_ALLOW_CONCURRENT":"true","container":"oci"}}

您已将第一个函数部署到 Code Engine 并对其进行了测试。 转至 从本地源运行函数使用函数 以尝试更多函数选项。

您可以 将IBM Cloud Functions迁移到Code Engine 中。

根据源代码构建第一个容器映像

创建并运行第一个 Code Engine 构建,然后在应用程序中部署容器映像。

Code Engine 可以自动将映像推送到帐户中的 Container Registry 名称空间。 它甚至可以为您创建名称空间。 要将映像推送到其他 Container Registry 帐户或专用 Docker Hub 帐户,请参阅 添加对专用容器注册表的访问权

  1. 打开 Code Engine 控制台。
  2. 选择 让我们开始
  3. 从可用项目列表中选择一个项目。 您还可以 创建新的。 请注意,您必须具有所选项目才能部署应用程序。
  4. 选择应用程序
  5. 输入应用程序的名称。 为您的应用程序取一个在项目中独一无二的名称。
  6. 选择以运行 容器映像 并为映像引用指定 icr.io/codeengine/helloworld。 对于此示例,您不需要修改缺省值。 有关用于此示例的代码的更多信息,请参阅 helloworld
  7. 选择 源代码
  8. 单击 指定构建详细信息
  9. 接受每个页面的缺省值,单击 下一步,然后单击 完成
  10. 单击创建

提交构建运行后,会将构建的容器映像发送到 Container Registry,然后应用程序会为您拉取该映像并进行部署。 在应用程序状态更改为 Ready 后,您可以试用该应用程序。 单击 测试应用程序,然后在“测试应用程序”窗格中单击 发送请求。 要在网页中打开应用程序,请单击应用程序网址

示例输出

Hello World from:
     ___  __  ____  ____
    / __)/  \(    \(  __)
   ( (__(  O )) D ( ) _)
    \___)\__/(____/(____)
 ____  __ _   ___  __  __ _  ____
(  __)(  ( \ / __)(  )(  ( \(  __)
 ) _) /    /( (_ \ )( /    / ) _)
(____)\_)__) \___/(__)\_)__)(____)
Some Env Vars:
--------------
CE_API_BASE_URL=https://api.us-south.codeengine.cloud.ibm.com
CE_APP=myapp
CE_DOMAIN=us-south.codeengine.appdomain.cloud
CE_PROJECT_ID=abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
CE_REGION=us-south
CE_SUBDOMAIN=abcdabcdab
HOME=/root
HOSTNAME=myapp-00001-deployment-6db6d89dc7-k6qc7
K_REVISION=myapp-00001
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PORT=8080
PWD=/
SHLVL=1

您已将源代码提交到 Code Engine,并创建了一个容器映像,然后将该容器映像从一个接口全部部署到应用程序中。

转至 构建容器映像 以浏览并试用更多构建选项。

Code Engine 的后续步骤

了解有关从控制台或使用 Code Engine CLI 执行这些 Code Engine 任务的更多信息。

要查找更多代码示例吗? 请查看 样本 IBM Cloud Code Engine GitHub 存储库