弹性伸缩 AS-生命周期挂钩:工作原理

时间:2024-01-05 16:16:58

工作原理

将生命周期挂钩添加到伸缩组后,生命周期挂钩将按照如下方式工作:

  • 实例移入伸缩组

    实例移入伸缩组并且初始化完成之后,自动触发挂钩类型为“实例启动”的生命周期挂钩,实例进入“加入挂起”状态,即实例被挂钩挂起。若您配置了一个通知目标,则系统会向该目标发送消息。收到消息后,您可以执行自定义操作,例如在实例上安装软件。自定义操作执行完成后,您可以手动执行回调操作,结束实例等待状态,详细操作步骤请参见进行回调操作。或等待超时时间结束,系统自动结束实例等待状态。实例等待状态结束之后的默认回调操作有两种执行方案,“继续”或“终止”。这两种执行方案解释如下:

    • 继续:处于等待状态的实例将加入伸缩组。
    • 终止:处于等待状态的实例将被直接删除并重新创建新实例。

    若配置了多个“实例启动”类型的生命周期挂钩,实例移入伸缩组会触发多个生命周期挂钩,若有一个挂钩默认回调操作为“终止”时,将会直接删除实例并重新创建新实例。若所有挂钩默认回调操作都为“继续”时,则会等待最后一个挂钩挂起结束后,将实例加入伸缩组。

  • 实例移出伸缩组

    实例移出伸缩组时,先进入正在移出伸缩组状态,触发生命周期挂钩后,实例进入“移出挂起”状态。系统会向您配置的通知目标发送消息,收到消息后,您可以执行自定义操作,如卸载实例上的软件、备份数据等。自定义操作执行完成之后,您可以选择手动执行默认回调操作或等待超时时间超时来结束实例等待状态。等待状态结束后实例有两种执行方案,继续或终止,这两种执行方案解释如下:

    • 继续:将实例移出伸缩组
    • 终止:将实例移出伸缩组

    当有多个挂钩时,“继续”表示继续等待其他挂钩挂起超时,只有所有挂钩状态都为“继续”时,才会将实例移出伸缩组。只要有一个挂钩默认回调操作为“终止”,会直接将实例移出伸缩组。

support.huaweicloud.com/usermanual-as/zh-cn_topic_0042018380.html