更新时间:2022-02-22 GMT+08:00

执行堆栈生命周期

功能介绍

执行特定的堆栈生命周期操作。

URI

PUT /v2/stacks/{stack_id}/actions

表1 参数说明

参数

是否必选

描述

stack_id

堆栈id,长度[1, 64]。

请求消息

  • 请求参数

    只有创建生命周期支持Rollback的失败策略。

    表2 请求参数

    参数

    是否必选

    参数类型

    描述

    failure_strategy

    String

    失败策略,默认DoNothing。取值范围为DoNothing/Rollback。

    nodes

    Array of objects

    堆栈元素生命周期参数,详情请参见表3

    timeout

    Integer

    生命周期超时时间,单位为分钟,默认60分钟。取值范围为[0, 1440] (最多一天,24*60)。

    lifecycle

    String

    生命周期名称。

    create 创建 / delete 删除 / upgrade 变更 / rollback 回滚 / retry 重试

    inputs

    String

    升级时重新指定堆栈配置参数,每个key-value代表一项输入,对应模板里面的inputs

    template_id

    String

    使用新的模板执行生命周期

    1. 升级时仅支持inputs的升级方式。

    2. failure_strategy仅在create的生命周期下支持Rollback。

    3. 元素agent、 job、 DynamicVolume、FlexVolume、DynamicNodePool、NodePool、AutoScaler不支持升级,也不支持安装失败再次安装的情况。

    表3 节点参数

    参数

    是否必选

    参数类型

    描述

    name

    String

    节点名称

    parameters

    Object

    节点生命周期参数,其中变更使用ScaleParams(详情请参见表4

    表4 变更参数

    参数

    是否必选

    参数类型

    描述

    instances

    Integer

    节点实例数目,取值范围为[0, 100]。

    变更生命周期,仅支持无状态应用且实例数已经定义到inputs中的情况。如果该inputs存在多个应用共同使用,除非多个应用同时变更,否则变更动作将无法支持。

  • 创建请求示例
    {
        "lifecycle": "create",
        "timeout": 20,
        "failure_strategy": "Rollback"
    }
  • 回滚请求示例
    {
        "lifecycle": "rollback"
    }
  • 配置参数升级请求示例
    {
        "lifecycle": "upgrade",
        "inputs": {
            "param1": "value1"
        }
    }
  • 重试请求示例
    {
        "lifecycle": "retry",
        "timeout": 20
    }

响应消息

  • 响应参数
    表5 响应参数

    参数

    参数类型

    描述

    action_id

    String

    执行记录ID

    last_action_id

    String

    前一次执行记录ID

  • 响应示例
    {
        "action_id" : "string",
        "last_action_id" : "string",
    }

状态码

  • 正常
    表6 状态码

    状态码

    描述

    200

    执行堆栈生命周期成功

  • 异常
    表7 状态码

    状态码

    描述

    400

    请求参数有误

    404

    堆栈不存在或元素不存在

    500

    服务器遇到了一个未曾预料的状况,导致无法完成对请求的处理。