扩展,高可用性和流量管理
将应用程序部署到 Code Engine时,该应用程序可供测试甚至生产使用。 由于 Code Engine 为容器化工作负载提供了无服务器平台,因此大多数运行时详细信息由 Code Engine自动管理。 但是,您可以控制许多详细信息。
缩放应用程序
使用 Cloud Foundry时,您可能已设置并使用了自动缩放功能,这使您能够根据性能指标或日期和时间自动添加和除去应用程序实例。 相反,缺省情况下,Code Engine 会自动缩放应用程序。Code Engine 将应用程序扩展为最多 10 个运行时实例 (缺省情况下),并向下扩展为零 (表示应用程序在未使用时不会使用任何资源)。
您可以在 Code Engine 的限制和配额 中编辑这些设置。 如果需要,最大规模 0
(零) 会将应用程序扩展至可能的最大规模,而最小规模 1
会使应用程序的至少一个实例保持运行。 通过调整并行性和请求超时,您可以根据需要调整自动缩放器。 有关更多信息,请参阅 配置应用程序缩放
高可用性
对于高可用性 (和灾难恢复) 方面,Cloud Foundry 和 Code Engine 类似。
- 遵循处理并发请求的最佳实践。
- 确保应用程序至少有两个甚至三个实例已启动并正在运行。
- 在多专区区域 (MZR) 的可用专区中运行应用程序实例。
- 在部署到多个 MZR 的应用程序实例前使用 全局负载均衡器(GLB) 以实现全局级别的高可用性。
流量管理和滚动更新
要在 Cloud Foundry上部署新版本时保持应用程序可用,请使用特殊 CLI 命令选项 滚动更新或零停机时间部署。 使用 Code Engine,将自动执行滚动更新。 在新应用程序修订版就绪后,流量将从旧应用程序移至新修订版。
在 Cloud Foundry中,执行蓝绿色部署并逐步将流量从旧应用程序移至新修订版 需要一些手动干预。 通过 Code Engine,您可以使用其底层 Kubernetes 和 Knative 层中内置的功能。 博客帖子 Blue-green deployment with IBM Cloud Code Engine 和 Knative显示了 Knative CLI 命令如何更新应用程序,以便将流量配置为在修订版之间进行分割。 给定名为 bluegreen
以及两个修订版 rev-old
和 rev-new
的应用程序,以下命令将在它们之间分割流量
80/20。
kn service update bluegreen --traffic rev-old=80 --traffic rev-new=20
通过调整分配的百分比,您可以先使用一些流量来测试新代码版本,并在代码就绪后,在生产环境中运行修订版。
后续步骤
- 刚开始迁移? 请查看 入门。
- 将 Cloud Foundry 术语与 Code Engine 进行比较。
- 使用本地构建教程试用 Code Engine。
- 应用程序是否使用服务绑定? 请查看 迁移服务绑定。
- 缩放,高可用性和流量管理 (当前页面)
- 查找 Code Engine 等价于 Cloud Foundry 命令。
- 仍然有疑问? 尝试 将 Cloud Foundry 应用程序迁移到 Code Engine 常见问题解答。
其他信息
- 了解有关 Code Engine 定价 的信息。
- 尝试其他 Code Engine 教程。
- 浏览其他 Code Engine 主题。