Cloud foundry CF设置环境,无需重新设置

Cloud foundry CF设置环境,无需重新设置,cloud-foundry,Cloud Foundry,假设我有一个应用程序和两个实例。 我将更改一个环境变量(cf set env),而不执行cf重新设置。 最终,这两个实例中的一个将崩溃并重新启动。它需要新的环境变量还是旧的环境变量?编辑: 在阅读了下面唐尼的答案后,我尝试了一下。唐尼是对的。当应用程序由于崩溃而重新启动时,它将不会拾取新的环境变量,因此您的两个应用程序实例将共享相同的环境 相反,当您执行cf重新启动我的应用程序时,它会将其拾取。抱歉搞混了 =============================================

假设我有一个应用程序和两个实例。 我将更改一个环境变量(cf set env),而不执行cf重新设置。 最终,这两个实例中的一个将崩溃并重新启动。它需要新的环境变量还是旧的环境变量?

编辑:

在阅读了下面唐尼的答案后,我尝试了一下。唐尼是对的。当应用程序由于崩溃而重新启动时,它将不会拾取新的环境变量,因此您的两个应用程序实例将共享相同的环境

相反,当您执行
cf重新启动我的应用程序时,
它会将其拾取。抱歉搞混了

=================================================================================

它将采用环境变量的新值。请看这里:


只有当变量与buildpack相关时,才需要重新启动

通常,如果实例崩溃(例如应用程序内存不足)并由Diego(实际运行容器实例的运行时)重新启动,重新启动的实例仍将具有最初“需要”(创建)的环境变量

如果您明确地
cf restart
cf stop&cf start
应用程序,它将拾取需要重新启动的新环境变量

正如上面user152468所说,如果在登台过程中使用了环境变量,您将需要重新启动应用程序,使其功能生效

边缘案例场景

如果Diego运行时由于某种灾难性的原因而消失/丢失数据,云控制器将重新同步数据并重新创建要运行的应用程序。在这种情况下,行为类似于重新启动,应用程序将拾取新的环境变量。这肯定不常见,但也可以算作“崩溃”场景