常见问题解答 Code Engine
有关 IBM Cloud® Code Engine 服务的常见问题的答案。
什么是 IBM Cloud Code Engine?
Code Engine 由 IBM 开发,并使用许多开放式源代码组件进行构建。 我们的目标是扩展 Kubernetes 的功能,帮助您创建可在 Kubernetes 集群上运行的现代、以源代码为中心的容器化无服务器应用程序。 该平台旨在满足当下的开发者的需求,因为他们必须决定要在云中运行哪种类型的应用程序:12 因子应用程序、容器或函数。 有关更多信息,请参阅关于 Code Engine。
通过 Code Engine,您可以从单个仪表板部署应用程序,运行作业,甚至构建源代码。
什么是项目?
项目是 Code Engine 实体 (例如应用程序,作业和构建) 的分组。 项目基于 Kubernetes 名称空间。 项目的名称在 IBM Cloud® 资源组,用户帐户和区域中必须唯一。 项目用于管理资源并提供对其实体的访问权。
项目提供以下项。
- 为实体名称提供唯一的名称空间。
- 管理对项目资源的访问 (入站访问)。
- 管理对支持服务,注册表和存储库的访问 (出站访问)。
- 具有自动生成的传输层服务 (TLS) 证书。
有关项目的更多信息,请参阅 管理项目。
在哪里可以找到代码样本?
您可以找到代码样本,以帮助您探索 Code Engine的功能。 请访问我们的 GitHub 上的 Code Engine 代码样本存储库。
我需要更多的记忆 我可以增加我的限制吗?
我是否需要 Docker Hub 帐户才能使用 Code Engine?
Code Engine 不需要 Docker Hub 帐户。 虽然 Code Engine 会运行容器,但您无需了解容器技术即可在 Code Engine上部署工作负载。 您可以从源代码开始,Code Engine 为您构建容器映像,并将其存储在帐户拥有的 IBM Cloud Container Registry 名称空间中。 虽然 IBM Cloud Container Registry 用作缺省容器注册表,但 Code Engine 可以从可从 IBM Cloud访问的任何其他公共和专用注册表推送和拉取映像。
我的系统上的 Docker 构建与 Code Engine中的构建有何区别?
如果使用 Code Engine中的相同 Dockerfile 运行构建,那么在本地系统上运行的 Docker 构建的结果将是您获得的相同容器映像。 但是,Code Engine 中的构建未在本地系统上运行,而是在 Code Engine 系统中运行。 Code Engine 中的此构建提供了若干优点。
- 您无需在本地安装软件,例如 Docker Desktop。
- 您可以使用 Code Engine提供的资源。 例如,您可以利用 IBM Cloud 的速度为您推送和拉取容器注册表映像。
- 您可以使用 Buildpack 构建策略 而不是 Dockerfile 来构建容器映像,这将检测各种语言的源并自动构建容器。
- 如果您具有使用非基于 Intel 的处理器构建的映像,那么 Code Engine 可以为您重建该映像。
为何使用非 Intel 处理器构建的映像不适用于 Code Engine?
如果您的映像存在于容器注册表中,并且该映像是使用非基于 Intel 的处理器构建的,那么 Code Engine 无法运行容器映像。Code Engine 使用基于 Intel 的处理。 如果您使用 Intel 处理 (x86 处理器),那么可以构建自己的映像。 您还可以选择让 Code Engine 为您处理构建过程。 有关更多信息,请参阅 规划构建。
Code Engine 应用程序支持 WebSockets? 吗?
是的! 您可以通过访问 GitHub上的 Code Engine 样本存储库来查找 使用 WebSockets 的样本应用程序。
与应用程序的任何连接的最长时间为 10 分钟,即使连接未处于空闲状态也是如此。 通过 Code Engine,可以使用 timeout
值配置此连接时间。 通过 CLI,将 --timeout
选项与 app create
命令或 app update
命令配合使用。 在控制台中,可以从 资源和缩放 选项卡设置应用程序的 Timeout
值。 对于使用 WebSockets, 客户端必须在连接关闭后重新连接应用程序。 因此,如果应用程序需要持久连接,请在达到
timeout
值之前创建新连接。
Code Engine 应用程序支持 gRPC? 吗?
是的! 您可以通过访问 GitHub上的 Code Engine 样本存储库来查找 使用 gRPC 的样本应用程序。
由于 gRPC 依赖于 HTTP/2,因此必须将端口名称设置为 h2c
,将端口值设置为 8080
,然后 Code Engine 应用程序才能支持 HTTP/2 流量。 使用 Code Engine CLI 通过 app create
命令或 app update
命令来配置 --port h2c:8080
选项,以将应用程序配置为使用 gRPC。 请参阅 使用 gRPC。
Code Engine 是否提供了一种方法来限制对 Code Engine 项目中特定实体的访问?
否,在 Code Engine中,应用于任何 Code Engine 实体的角色仅限于选择作为当前上下文的项目。 因此,您无法控制 Code Engine 项目中各个资源的许可权。
Code Engine 是否为已部署的函数提供 OpenAPI 规范?
否,Code Engine 不会为您部署的函数生成或提供 OpenAPI 规范。 许多编程语言都可以使用软件包和工具从代码生成 OpenAPI 规范。
如何查看 Code Engine 服务术语?
有关最新的服务级别协议条款,请参阅 服务条款。
如何提供反馈?
您对 Code Engine 的反馈对我们很重要,有助于我们改进。 您可以通过多种方式提供反馈:
- 单击文档页面末尾的 打开文档问题,打开一个问题并提供您的评论。
- 通过 Slack 共享反馈。 您可以在 #code-engine 频道参与讨论。