开发者社区 问答 正文

Swarm API参考  集群API列表  移除集群内节点

根据集群 ID,以及节点 IP 从容器集群中移除节点。

请求信息


请求行 RequestLineDELETE /clusters/{cluster_id} /ip/{ip}?releaseInstance=true|false HTTP /1.1
请求行参数 URI Param

[tr=rgb(51, 205, 229)][td]名称 类型是否必须描述cluster_idstring是集群 IDipstring是节点 IP 地址,经典网络为公网 IP,VPC 为内网 IP。releaseInstancebool可选移除节点同时释放 ECS 实例(仅能释放按量付费)。
特有请求头 RequestHead
无,请参考 公共请求头部
请求体 RequestBody


返回信息


返回行 ResponseLineHT TP/1.1 202 Accepted
特有返回头 ResponseHead
无,请参考 公共返回头部
返回体 ResponseBody


示例


请求示例DELETE /clusters/Cccfd68c474454665ace07efce924f75f/ip/ 10.1 .0 .123?releaseInstance=false HTTP/ 1.1<公共请求头>
返回示例HTTP/ 1.1 202 Accepted<公共响应头>

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

要根据集群ID以及节点IP从容器集群中移除节点,您需要调用DeleteClusterNodes接口。但是,根据您提供的请求信息示例,该格式并不直接对应于文档中提及的正确API调用方式。正确的操作应遵循以下步骤和注意事项:

  1. 确认操作需求

    • 确保您已获取到目标集群ID和待移除节点的IP地址
    • 决定是否在移除节点时同时释放ECS实例(仅支持按量付费实例)。
  2. 构造请求

    • 接口路径:应使用/clusters/{ClusterId}/nodes而非直接通过IP地址定位节点。您需要先查询集群中的节点列表以获取节点名称,因为节点移除操作是基于节点名称进行的。
    • 请求方法:使用DELETE方法。
    • 请求参数
      • 在请求体(body)中指定节点名称及操作选项,而不是在URI中直接指定IP地址。
      • drain_node:可选,是否自动排空节点上的Pod,默认为false
      • release_node:根据您的需求设置为truefalse,决定是否同时释放ECS实例。
  3. 查询节点名称

    • 在执行移除操作前,您需先调用DescribeClusterNodes接口获取集群内所有节点的信息,并从中找到与目标IP对应的节点名称。
  4. 构造请求体

    • 根据查询到的节点名称,构建请求体,包含节点名称列表及操作选项。
  5. 发起请求

    • 使用构造好的请求信息,通过API调用工具或编程方式发送请求。
  6. 处理响应

    • 成功发起请求后,您将收到HTTP状态码202 Accepted,表示任务已被接受并将在后台执行。
    • 通过返回的任务ID(task_id),您可以进一步查询任务执行状态,确保节点移除操作成功完成。

重要提醒: - 移除节点会涉及Pod迁移,可能影响业务,请选择业务低峰期操作,并提前做好数据备份。 - 确认节点类型,包年包月实例不支持同时移除ECS。 - 节点移除操作需依据节点名称执行,不能直接通过IP地址操作。

请按照上述指导调整您的请求构造方式,并确保遵循所有必要的准备和安全措施。

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