更新时间:2026-04-07 GMT+08:00

同步节点池

功能介绍

该API用于同步节点池中已有节点的配置

集群管理的URL格式为:https://Endpoint/uri。其中uri为资源路径,也即API访问的路径

调用方法

请参见如何调用API。

URI

POST /api/v3/projects/{project_id}/clusters/{cluster_id}/nodepools/{nodepool_id}/operation/upgrade

表1 路径参数

参数

是否必选

参数类型

描述

project_id

是

String

参数解释:

项目ID,获取方式请参见如何获取接口URI中参数。

约束限制:

不涉及

取值范围:

账号的项目ID

默认取值:

不涉及

cluster_id

是

String

参数解释:

集群ID,获取方式请参见如何获取接口URI中参数。

约束限制:

不涉及

取值范围:

集群ID

默认取值:

不涉及

nodepool_id

是

String

参数解释:

节点池ID,获取方式请参见如何获取接口URI中参数。

约束限制:

不涉及

取值范围:

节点池ID

默认取值:

不涉及

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

Content-Type

是

String

参数解释:

消息体的类型(格式)

约束限制:

GET方法不做校验

取值范围:

  • application/json

  • application/json;charset=utf-8

  • application/x-pem-file

  • multipart/form-data(注:存在FormData参数时使用)

默认取值:

不涉及

X-Auth-Token

是

String

参数解释:

调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值,获取方式请参见获取token。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表3 请求Body参数

参数

是否必选

参数类型

描述

spec

是

UpgradeNodePoolSpec object

参数解释:

同步节点池请求详细参数

约束限制:

不涉及

表4 UpgradeNodePoolSpec

参数

是否必选

参数类型

描述

maxUnavailable

是

Integer

参数解释:

每批最大同步节点。节点升级时,允许节点不可用的最大数量。节点重置方式进行同步时节点将不可用,请合理设置该参数,尽量避免出现集群节点不可用数量过多导致Pod无法调度的情况。

约束限制:

不涉及

取值范围:

取值范围[1-20]

默认取值:

不涉及

nodeIDs

否

Array of strings

参数解释:

本次操作同步的节点池中选择的节点ID列表,获取方式请参见如何获取接口URI中参数。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

nodePoolID

是

String

参数解释:

节点池ID,获取方式请参见如何获取接口URI中参数。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

nodeTemplate

否

UpgradeNodePoolSpecNodeTemplate object

参数解释:

同步节点池模板参数

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表5 UpgradeNodePoolSpecNodeTemplate

参数

是否必选

参数类型

描述

lifeCycle

是

NodeLifecycleConfig object

参数解释:

节点自定义生命周期配置

约束限制:

不涉及

login

是

Login object

参数解释:

节点的登录方式。密钥对和密码登录方式二者必选其一。

约束限制:

不涉及

表6 NodeLifecycleConfig

参数

是否必选

参数类型

描述

preInstall

否

String

参数解释:

安装前执行脚本。

约束限制:

安装前/后执行脚本统一计算字符,转码后的字符总数不能超过10240。

输入的值需要经过Base64编码,方法如下:

echo -n "待编码内容" | base64

取值范围:

不涉及

默认取值:

不涉及

postInstall

否

String

参数解释:

安装后执行脚本。

约束限制:

安装前/后执行脚本统一计算字符,转码后的字符总数不能超过10240。

输入的值需要经过Base64编码,方法如下:

echo -n "待编码内容" | base64

取值范围:

不涉及

默认取值:

不涉及

waitPostInstallFinish

否

Boolean

参数解释:

该参数用于控制重置/纳管/批量重置节点时, post-install脚本执行完成前允许节点调度 的行为。当操作的节点属于节点池时,以节点池相关配置为准。当该参数未设置或者为false时,在kubernetes节点就绪时,容器即可被调度到可用节点。当该参数为true时,在kubernetes节点就绪时且post-install脚本执行完成时,容器才可被调度到可用节点。

约束限制:

不涉及

取值范围:

  • false:在kubernetes节点就绪时,容器即可被调度到可用节点。

  • true:在kubernetes节点就绪时且post-install脚本执行完成时,容器才可被调度到可用节点。

默认取值:

false

表7 Login

参数

是否必选

参数类型

描述

sshKey

否

String

参数解释:

选择密钥对方式登录时的密钥对名称。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

userPassword

否

UserPassword object

参数解释:

选择密码方式登录时的账号密码信息,之后可通过此账号密码登录节点。

约束限制:

不涉及

removeUserPassword

否

Boolean

参数解释:

更新节点池时,移除当前节点池密码方式登录的配置

约束限制:

仅更新节点池场景支持该参数,设置为true时不允许设置userPassword

取值范围:

不涉及

默认取值:

false

removeSSHKey

否

Boolean

参数解释:

更新节点池时,移除当前节点池密钥对方式登录的配置

约束限制:

仅更新节点池场景支持该参数,设置为true时不允许设置sshKey

取值范围:

不涉及

默认取值:

false

表8 UserPassword

参数

是否必选

参数类型

描述

username

否

String

参数解释:

登录账号,默认为“root”。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

root。

password

是

String

参数解释:

登录密码,若创建节点通过用户名密码方式,即使用该字段,则响应体中该字段作屏蔽展示。

约束限制:

创建节点时password字段需要加盐加密,具体方法请参见创建节点时password字段加盐加密。

取值范围:

密码复杂度要求:

  • 长度为8-26位。

  • 密码至少必须包含大写字母、小写字母、数字和特殊字符(!@$%^-_=+[{}]:,./?)中的三种。

  • 密码不能包含用户名或用户名的逆序。

默认取值:

不涉及

响应参数

状态码:200

表示节点池同步已经被接受

无

请求示例

  • 同步节点池(自建节点池)

    {
      "spec" : {
        "maxUnavailable" : 1,
        "nodeIDs" : [ "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa", "bbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbb" ],
        "nodePoolID" : "cccccccc-cccc-cccc-cccc-cccccccccccc"
      }
    }
  • 同步节点池(默认节点池)

    {
      "spec" : {
        "maxUnavailable" : 1,
        "nodeIDs" : [ "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa", "bbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbb" ],
        "nodePoolID" : "DefaultPool",
        "nodeTemplate" : {
          "lifeCycle" : {
            "preInstall" : "ZWNobyAx",
            "postInstall" : "ZWNobyAx"
          },
          "login" : {
            "userPassword" : {
              "password" : "xxxxx",
              "username" : "root"
            }
          }
        }
      }
    }

响应示例

无

状态码

状态码

描述

200

表示节点池同步已经被接受

错误码

请参见错误码。