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