重新启动PCF空间中的所有应用程序

时间:2018-11-13 17:10:53

标签: java microservices pivotal-cloud-foundry pcf

我们在Pivotal Cloud Foundry(PCF)中托管大量服务。通过脚本重新启动给定空间中的所有微服务的最佳方法是什么?我们面临的另一个挑战是我们要按顺序启动服务,并在每次服务启动之间引入一些延迟。我们现在正在手动执行此操作,但它既繁琐又耗时。请提出建议,无论如何我们可以使其自动化。谢谢。

2 个答案:

答案 0 :(得分:1)

我建议您在wrapper-scriptpowershell中写一个bash,先在您的空间中执行cf apps

以上命令将为您提供App Name。阅读该文本,并让您的包装脚本循环执行cf restart <APP_NAME>

这将重新启动您所在空间中的所有应用程序...

关于在服务启动中引入延迟。.我建议您使用一个CI/CD流程来部署您的应用程序(例如,Jenkins流程),从而可以完全控制您的部署< / p>

答案 1 :(得分:0)

了解@Arun的建议:

for i in $(cf apps | grep '[0-9]/[0-9]' | cut -d" " -f1); do cf restart $i; done

要确定顺序,您可以按正确的顺序维护一个包含应用名称的文本文件:

first_app
second_app
(...)

如果文件名为app_order.txt,则要按顺序延迟30秒重新启动,请执行以下操作:

while read i; do cf restart $i; sleep 30; done < app_order.txt