掌握 Cloud Foundry 应用程序生命周期事件

学习目标

  • 汇总 Cloud Foundry 中的关键生命周期事件及其目的。

生命周期事件简介

要获取该主题的简介,请观看以下视频:

视频:本节含 SAP 官方视频(视频 ID 1_mfb4wtcq),需在 learning.sap.com 在线观看。

在本课的以下部分中,您将了解有关每个事件的更多详细信息。

重新启动

重新启动是一种相对较低的影响操作,旨在在不更改基础代码或配置的情况下刷新应用程序的操作状态或将其从次要问题中恢复

重新启动命令

  • 重新启动所有实例 cf restart <app_name> 此命令将停止所有应用程序实例并再次启动。

  • 重新启动特定实例 cf restart-app-instance <app_name> <instance_index> 此命令仅以指定的应用程序实例为目标,使其非常适合在不影响整体应用程序可用性的情况下进行故障排除或次要修复。

重新暂存

即使应用程序代码保持不变,当环境更改可能会更改应用程序的运行时行为时,都需要重新暂存。在运行时相关性更改(例如,绑定新服务、修改环境变量等)或更新 buildpack 或堆栈时使用。

重新准备命令

cf restage <app-name>

此命令将更新后的配置或相关性与当前代码集成,从而有效地重新编译应用程序以反映新 droplet 中的更改。它确保应用程序的功能和性能与最新的 环境设置和服务配置保持一致。

重新推送

当修改应用程序代码时,重新推送至关重要,因此需要完全重新部署。这对于实施新功能、修复错误或对应用程序进行其他重大更新非常有用。

重新推送命令

cf push <app-name> or cf deploy

此命令将重新启动部署过程,创建新的 droplet 并重新启动应用程序。它确保应用程序的所有实例都运行最新版本的代码。

崩溃

Cloud Foundry 自动尝试重新启动崩溃的实例,最多重新启动 200 次,并增加两次尝试之间的等待时间。此流程有助于最大限度地降低暂时问题的影响,同时留出时间解决更多持久问题。

撤离

在某些情况下,例如平台更新或 VM 替换,应用程序实例可能会在称为"后送"的进程中重新定位到不同的虚拟机。Cloud Foundry 管理此流程,在新虚拟机上创建重复实例并确保它们在停用旧实例之前完全运行。您应该以疏散不会影响用户的方式设计应用程序(12 因子应用)。

关闭

应用程序实例可以手动关闭(使用 cf stop 等命令),也可以由于系统事件或健康检查失败而自动关闭。SAP BTP Cloud Foundry 运行时将应用程序的宽限期设置为 10 秒,以便在强制停止之前正常终止。

摘要

本课介绍 SAP BTP Cloud Foundry 运行时中影响应用程序状态的必要生命周期事件,包括重新启动、重新准备和重新推送等维护操作,以及系统管理的事件,例如故障处理、撤退和关闭。了解和管理这些生命周期事件对于在 SAP BTP Cloud Foundry 运行时上维护强大、高效且可扩展的应用程序至关重要

进一步阅读

  • 应用程序生命周期阶段

  • 启动、重新启动和重新准备应用

  • Diego 体系结构上的应用程序容器生命周期

教程

将 Cloud Foundry 应用程序生命周期用于 Buildpack 应用程序

执行以下教程:了解 Buildpack 应用程序的 Cloud Foundry 应用程序生命周期

将 Cloud Foundry 应用程序生命周期用于 Docker 应用程序

执行以下教程:了解 Docker 应用程序的 Cloud Foundry 应用程序生命周期