IBM Cloud Code Engine 入门
IBM Cloud® Code Engine 是一个完全受管的无服务器平台,用于运行容器化工作负载,包括 Web 应用程序,微服务,事件驱动的功能或批处理作业。Code Engine 甚至通过源代码为您构建容器映像。 所有这些工作负载都可以无缝地协同工作,因为它们都在相同的 Kubernetes 基础架构中托管。 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
图像。
- 打开 Code Engine 控制台。
- 选择 让我们开始。
- 从可用项目列表中选择一个项目。 您还可以 创建新的。 请注意,您必须具有所选项目才能部署应用程序。
- 选择应用程序。
- 输入应用程序的名称,例如
myapp
。 为您的应用程序取一个在项目中独一无二的名称。 - 选择以运行 容器映像 并为映像引用指定
icr.io/codeengine/helloworld
。 对于此示例,您不需要修改缺省值。 有关用于此示例的代码的更多信息,请参阅helloworld
。 - 单击创建。
- 在应用程序状态更改为 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 作业。
- 打开 Code Engine 控制台。
- 选择 让我们开始。
- 从可用项目列表中选择一个项目。 您还可以 创建新的。 请注意,您必须具有所选项目才能创建作业。
- 选择工作。
- 输入任务名称,例如
myjob
。 使用项目中独一无二的工作名称。 - 为图像引用指定
icr.io/codeengine/helloworld
。 对于此示例,您不需要修改缺省值。 有关用于此示例的代码的更多信息,请参阅helloworld
。 - 单击创建。
- 从作业页面中,单击 提交作业 以根据当前配置提交作业。
- 在“提交作业”窗格中,接受所有缺省值,然后再次单击 提交作业 以运行作业。
启用日志记录时,将在日志中显示以下示例。 要了解在启用日志记录的情况下运行作业,请参阅 查看日志。
日志记录实例的示例输出
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 函数。
- 打开 Code Engine 控制台。
- 选择 让我们开始。
- 从可用项目列表中选择一个项目。 您还可以 创建新的。 请注意,您必须具有所选项目才能创建函数。
- 选择功能。
- 输入功能名称。 为您的功能取一个在项目中独一无二的名称。
- 选择 Node.js 18
- 单击创建。 您的函数是使用样本代码创建的。 您可以在“功能-> 配置”页面上编辑此代码。
- 单击 测试功能,然后在“测试功能”窗格中单击 发送请求。 要在网页中打开该功能,请单击函数 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 并对其进行了测试。 转至 从本地源运行函数 或 使用函数 以尝试更多函数选项。
根据源代码构建第一个容器映像
创建并运行第一个 Code Engine 构建,然后在应用程序中部署容器映像。
Code Engine 可以自动将映像推送到帐户中的 Container Registry 名称空间。 它甚至可以为您创建名称空间。 要将映像推送到其他 Container Registry 帐户或专用 Docker Hub 帐户,请参阅 添加对专用容器注册表的访问权。
- 打开 Code Engine 控制台。
- 选择 让我们开始。
- 从可用项目列表中选择一个项目。 您还可以 创建新的。 请注意,您必须具有所选项目才能部署应用程序。
- 选择应用程序。
- 输入应用程序的名称。 为您的应用程序取一个在项目中独一无二的名称。
- 选择以运行 容器映像 并为映像引用指定
icr.io/codeengine/helloworld
。 对于此示例,您不需要修改缺省值。 有关用于此示例的代码的更多信息,请参阅helloworld
。 - 选择 源代码。
- 单击 指定构建详细信息。
- 接受每个页面的缺省值,单击 下一步,然后单击 完成。
- 单击创建。
提交构建运行后,会将构建的容器映像发送到 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 存储库。