开发者社区 问答 正文

Swarm API参考  应用API列表  蓝绿应用更新

[font=PingFangSC, "]蓝绿更新一个应用实例的配置信息。

请求信息


请求行 RequestLinePOST /projects/{name}/update HTTP/1.1
请求行参数 URI Param

[tr=rgb(51, 205, 229)][td]名称 类型是否必须描述namestring是应用名称
特有请求头 RequestHeadContent-Type: application/json
请求体 RequestBody
JSON object
{
    "update_method": "string",
    "description": "string",
    "template": "string",
    "version": "string",
    "latest_image": true,
    "environment": {
       "key": "value",
       ...
    }
}


请求体解析
[tr=rgb(51, 205, 229)][td]名称 类型必须描述update_methodstring是可选值 blue-green。descriptionstring否更新的应用描述。templatestring是更新的 Compose yaml 模板,注意需要按照 JSON 格式进行转义。versionstring是更新的应用版本,更新的版本应和原有版本不同,否则会返回 HTTP code 409。latest_imagebool否是否拉取最新镜像environmentmap环境变量key/value 用于替换 Compose 模板的环境变量

返回信息


返回行 ResponseLineHTT P/1.1 202 Accepted
特有返回头 ResponseHead

返回体 ResponseBody


示例


请求示例
POST /projects/test_01/update HTTP/1.1
Content-Type: application/json
{
  "update_method": "blue-green",
  "description": "This is a test_01 application",
  "template": "web:\r\n  image: nginx",
  "version": "2.0",
  "latest_image": true,
  "environment": {
    "USER": "abc",
    "PWD": "newpwd"
       ...
  }
}


返回示例
HTTP/1.1 202 Accepted

展开
收起
青蛙跳 2018-08-31 23:41:19 1768 分享 版权
阿里云 AI 助理回答

要使用蓝绿更新方法更新应用实例的配置信息,您需要遵循以下步骤和注意事项:

  1. 准备更新内容

    • 确保您已明确应用名称(name),这是请求中必不可少的部分。
    • 准备一个更新描述(description),虽然这一步是可选的,但提供一个简短的描述有助于记录变更历史。
    • 准备好新的Compose YAML模板(template),并确保它已经按照JSON格式进行了正确的转义。此模板将用于定义更新后应用的服务配置、依赖关系等。
    • 指定一个新的应用版本号(version),确保与当前版本不同,以避免冲突返回HTTP 409错误。
    • 决定是否拉取最新镜像(latest_image)为true,表示在更新过程中会尝试获取镜像的最新版本。
    • 设置环境变量(environment),通过键值对形式提供,这些变量将用于替换Compose模板中的环境变量。
  2. 构造请求

    • 使用POST方法构造请求,目标URL格式为:/projects/{name}/update,其中{name}替换为您的应用名称。
    • 设置请求头Content-Typeapplication/json
    • 在请求体中包含所有上述准备好的信息,形成如示例所示的JSON对象。
  3. 执行请求

    • 发送构造好的HTTP POST请求到指定端点。
  4. 验证结果

    • 成功的响应将是HTTP状态码202 Accepted,表明更新操作已被接受并将在后台处理。由于返回体无内容,您需要通过其他方式(如监控或API查询应用状态)来确认蓝绿更新是否成功完成及新配置是否生效。
  5. 注意事项

    • 蓝绿更新是一种零停机部署策略,会在保持旧版本运行的同时部署新版本,并在验证新版本无误后切换流量,因此请确保新旧版本的配置兼容性,以及有适当的回滚机制。
    • 确保环境变量的设置不会导致应用启动失败,特别是当它们被用作关键配置时。
    • 版本控制非常重要,确保每次更新都使用不同的版本号,以便于管理和回溯。

通过以上步骤,您可以实现应用实例配置信息的蓝绿更新,确保服务连续性和高可用性。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答