【问题标题】:Decrease in Instances Size Suddenly实例大小突然减少
【发布时间】:2021-11-15 09:22:17
【问题描述】:

enter image description here

我在一个组织和空间的 CF 中部署了一个 Spring boot Java 应用程序,最初我部署了具有 2 个实例的应用程序,稍后在清单文件中进行了描述,由于要求我将实例数增加到 4 个,但是我给出了在 cf push 命令“cf push appname -i 4”中,在脚本任务竹子中,一切都按预期运行,但在星期五突然实例减少到 2,清单或脚本没有变化,我检查了日志“cf logs app-name最近和 cf 事件 appname" 没有任何关于应用程序崩溃的线索我是否知道这种奇怪行为的原因可能是什么,我是否需要检查其他地方,如果应用程序突然重新启动,它会占用清单文件吗?请帮我解决这个问题

【问题讨论】:

    标签: cloud-foundry


    【解决方案1】:

    不清楚您指的是总实例数还是当前运行的实例数。

    运行实例计数

    如果您当前运行的实例计数与总实例计数不匹配,则说明实例存在某种问题。应用程序崩溃,您最近扩大/缩小了规模并且无法创建新实例,或者您的平台正在维护并且应用程序实例正在被洗牌。

    在所有情况下,您都需要查看 cf eventscf logs 以获取线索。该事件会告诉您它是应用程序崩溃还是特定的缩放事件。如果事件输出中没有任何内容,则可能是平台维护。这不会生成事件条目。

    总实例计数

    如果总实例计数与您的预期不符,那么它是由某人或某事更改的。总计数存储在 Cloud Controller 中,除非得到指示,否则不会更改。

    如果您的总实例数发生意外变化,请查看cf events 输出。这将包括修改应用程序实例计数的条目,例如cf pushcf scale。它还应该告诉你是什么做出了改变(演员),这样可以帮助追踪它是如何被改变的。

    我不完全确定这里是否发生了这种情况,但我看到其他人受到此打击。如果您执行一次性的cf pushcf scale,则该更改将保留在服务器上。但是,如果您使用的是包含状态的 manifest.yml 文件,即您的旧实例计数。如果您或其他人或您的 CI 然后对具有旧实例计数的 manifest.yml 文件执行cf push,这会将云控制器上的实例计数更新回旧实例计数。

    简而言之,如果您使用一次性cf pushcf scale 来更改实例计数,则需要确保您的manifest.yml 保持最新并且已检查到CI(如果你正在这样做)。

    最后,检查您是否有任何自动缩放规则。这些也可能明显影响您的实例数。如果您更改总实例数,您可能还需要更新扩展规则。

    【讨论】:

    • 在上面的评论中附上了截图,请找到并分享反馈
    • 正在使用您的ci.cif 用户进行更改。您无法从事件日志中说出究竟发生了什么,但列出的参与者是进行更改的用户。因此,您需要查看您在哪里使用该用户以及它在做什么。它正在做的事情是导致实例计数发生变化。您可以查看您的云控制器日志以获取更多详细信息。您应该能够找到进行更改的单个请求并查找发送请求的 IP。
    猜你喜欢
    • 1970-01-01
    • 2019-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-21
    • 2016-04-25
    • 1970-01-01
    相关资源
    最近更新 更多