2

我们在 Pivotal Cloud Foundry (PCF) 中托管了大量服务。通过脚本重新启动给定空间中所有微服务的最佳方法是什么?我们面临的另一个挑战是我们希望按顺序启动服务并在每个服务启动之间引入一些延迟。我们现在正在手动进行,但它既乏味又耗时。请建议我们是否可以将其自动化。谢谢。

4

2 回答 2

2

要了解@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
于 2020-11-05T10:25:11.643 回答
2

我建议你写一个wrapper-scriptinpowershell或者bash首先cf apps在你的空间中执行

上面的命令会给你App Name. 阅读该文本并让您的包装脚本cf restart <APP_NAME>循环执行

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

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

于 2018-11-14T07:25:34.177 回答