You need to enable JavaScript to run this app.
导航
CreateDefaultNodePool
最近更新时间:2024.09.14 18:01:02首次发布时间:2022.08.22 10:09:48

在指定集群下创建默认节点池。

使用说明

  • 除标准的自定义节点池外,容器服务支持 默认节点池(固定名称vke-default-nodepool)能力,用来纳管已有云服务器(ECS)实例。创建默认节点池后,通过调用 CreateNodes 接口为默认节点池添加已有 ECS 实例。
  • 调用该接口前,请调用 ListSupportedResourceTypes 接口,确认创建默认节点池时需要用到的资源是否在指定的地域和可用区中支持。
  • 此接口为异步接口,当此接口返回成功时,会返回默认节点池的 ID 信息,此时节点池将进入{Creating, [Progressing]}状态,直到创建执行成功。请调用 ListNodePools 接口获取该节点池当前的状态,查看节点池是否创建成功。
  • 默认节点池不会占用您的节点池配额。配额详情,请参见 使用限制

请求说明

  • 请求方式:POST
  • 请求地址:https://open.volcengineapi.com/?Action=CreateDefaultNodePool&Version=2022-05-12

调试

请求参数

调用该 API 时的请求参数如下,除此之外还需传入公共请求参数。公共请求参数说明,请参见 公共参数

参数类型是否必选示例值描述
ActionStringCreateDefaultNodePool接口名称。当前 API 的名称为 CreateDefaultNodePool
VersionString2022-05-12接口版本。当前 API 的版本为 2022-05-12
ClientTokenStringBC028527-33B9-4990-A633-84E9F9******用于保证请求幂等性的字符串。该字符串由调用方传入,需保证不同请求之间唯一。ClientToken 对大小写敏感,且最大值不超过 64 个 ASCII 字符。

ClusterId

String

cc5silum****

默认节点池所在集群的 ID。
可以调用 ListClusters 接口,获取集群 ID。

注意

集群必须处于{Running,[Ok]}{Updating,[Progressing]}状态。可调用 ListClusters 接口获取集群当前的状态。

KubernetesConfigObject of NodePoolKubernetesConfigRequest-默认节点池 Kubernetes 配置。
NodeConfigObject of DefaultNodePoolNodeConfigRequest-默认节点池中云服务器(ECS)实例配置。

Tags

Array of Tag

-

默认节点池标签信息,用于从不同维度对具有相同特征的节点池进行分类、搜索和聚合,能够灵活管理节点池。

  • Tags 中各个 Key 不可重复。
  • 资源已有相同 Tags.Key 的情况下,重复绑定 Tags.Key 不会报错,会更新为最新的 Tags.Value
  • 单个资源最多支持绑定50个 Tags
  • Tags 中的 KeyValue 不允许在最前或最后输入空格。

NodePoolKubernetesConfigRequest

参数类型是否必选示例值描述

Labels

Array of Label

-

节点池/节点的 Kubernetes 标签(Labels)信息。最多可传入 20 个标签。

说明

节点池会统一管理节点的标签配置信息,因此标签信息会同步到节点池内的所有节点上。当标签发生变更时,会覆盖原有的标签配置信息。

Taints

Array of Taint

-

节点池/节点的 Kubernetes 污点(Taints)信息。最多可传入 20 个污点。

说明

节点池会统一管理节点的污点配置信息,因此污点信息会同步到节点池内的所有节点上。当污点发生变更时,会覆盖原有的污点配置信息。

Cordon

Boolean

false

封锁节点配置,取值:

  • false:(默认值)不封锁
  • true:封锁

说明

更新节点池(UpdateNodePoolConfig)时,若不传入参数值,则保持原有参数配置。

NamePrefix

String

name-prefix

Kubernetes 中节点对象的元数据名称前缀。默认不启用,若设置表示启用,并将影响 Kubernetes Node Manifest 文件中展示的metadata.name前缀信息。前缀校验规则如下:

  • 支持英文小写字母、数字、中划线(-)和半角句号(.)。
  • 只能以英文小写字母或者数字开头。
  • 长度限制为 1~48 个字符。

Label

参数类型是否必选示例值描述

Key

String

label-key

标签键,要求如下,更多规则,请参见 Kubernetes 标签规则

有效的标签键有两个段:<前缀>和<名称>,用斜杠(/)分隔。

  • <名称>是必须的,支持英文大小写字母、数字、短划线(-)、下划线(_)、英文句号( .),以字母或数字开头和结尾,长度不超过 63 个字符。
  • <前缀>是可选的。如果指定<前缀>,则必须是 DNS 子域:由英文句号(.)分隔的一系列 DNS 标签,长度不超过 253 个字符。
  • <前缀>和<名称>总长度不超过 82 个字符。

Value

String

label-value

标签值,要求如下,更多规则,请参见 Kubernetes 标签规则

  • 长度不超过 63 个字符(可以为空)。
  • 支持以英文大小写字母、数字开头和结尾。
  • 支持特殊字符:短划线(-)、下划线(_)、英文句号(.)。

Taint

参数类型是否必选示例值描述

Effect

String

NoSchedule

污点效果,取值:

  • NoSchedule:(默认值)不调度。
  • NoExecute:驱逐没有容忍污点的 Pod。
  • PreferNoSchedule:尽量避免调度。

Key

String

taint-key

污点键,要求如下,更多规则,请参见 Kubernetes 标签规则

有效的污点键有两个段:<前缀>和<名称>,用斜杠(/)分隔。

  • <名称>是必须的,支持英文大小写字母、数字、短划线(-)、下划线(_)、英文句号( .),以字母或数字开头和结尾,长度不超过 63 个字符。
  • <前缀>是可选的。如果指定<前缀>,则必须是 DNS 子域:由英文句号(.)分隔的一系列 DNS 标签,长度不超过 253 个字符。
  • <前缀>和<名称>总长度不超过 82 个字符。

Value

String

taint-value

污点值,要求如下,更多规则,请参见 Kubernetes 标签规则

  • 长度不超过 63 个字符(可以为空)。
  • 支持以英文大小写字母、数字开头和结尾。
  • 支持特殊字符:短划线(-)、下划线(_)、英文句号(.)。

DefaultNodePoolNodeConfigRequest

参数类型是否必选示例值描述
InitializeScriptStringZWNobyAidG******创建并初始化节点后执行的自定义脚本。 支持 Shell 格式,Base64 编码后长度不超过 1 KB。
SecurityObject of NodeSecurityRequest-节点安全配置。

NamePrefix

String

prefix-name

节点名称前缀。取值为空字符串时表示不启用节点命名前缀,默认不启用。前缀校验规则如下:

  • 支持英文大小写字母、数字和中划线(-)。
  • 只能以英文字母开头,英文字母或数字结尾。
  • 不能连续使用中划线(-)。
  • 长度限制为 2~51 个字符。

Tags

Array of Tag

-

节点对应 ECS 实例绑定的标签信息,用于搜索、管理 ECS 实例。

  • Tags 中各个 Key 不可重复。
  • 资源已有相同 Tags.Key 的情况下,重复绑定 Tags.Key 不会报错,会更新为最新的 Tags.Value
  • 单个资源最多支持绑定 20 个 ECS 实例标签。
  • Tags 中的 KeyValue 不允许在最前或最后输入空格。

NodeSecurityRequest

参数类型是否必选示例值描述

SecurityGroupIds

Array of String

["sg-2byy13cnsc******"]

节点网络所在的安全组 ID 列表。
调用私有网络的 DescribeSecurityGroups 接口,获取安全组 ID。

注意

  • 必须与集群处于同一个私有网络内。
  • 取值为空时,默认使用 集群节点默认安全组(命名格式为<集群ID>-common)。默认安全组相关说明,请参见 安全组设置
  • 单个节点池最多支持关联 5 个安全组(含集群节点默认安全组)。

SecurityStrategies

Array of String

["Hids"]

节点的安全策略,取值:

  • 取值为空:表示节点不开启安全加固。
  • Hids:主机安全加固。

Login

Object of NodeLoginRequest

-

节点的访问方式配置。
支持密码方式或密钥对方式。同时传入时,优先使用密钥对。

NodeLoginRequest

参数类型是否必选示例值描述

Password

String

UHdkMT******

Root 用户登录密码,使用 Base64 编码格式。
请遵循云服务器对于实例密码的要求规范:

  • 长度为 8~30 个字符
  • 不能以/$6$开头
  • 支持以下几项字符,且至少包含三项
    • 小写字母a~z
    • 大写字母A~Z
    • 数字0~9
    • 特殊字符( ) ` ~ ! @ # $ % ^ & * _ - + = | { } [ ] : ; ' < > , . ? / |
SshKeyPairNameStringtest-keySSH 密钥对名称。请确保该密钥对已在云服务器中创建或托管。

Tag

参数类型是否必选示例值描述

Key

String

key

标签键。

  • 不能以任何大小写形式的volc:开头。
  • 只能包含语言字符、数字、空格和特殊符号_.:/=+-@
  • 长度限制为 1~128 个字符。

Value

String

value

标签值,可以为空。

  • 只能包含语言字符、数字、空格和特殊符号_.:/=+-@
  • 长度不超过 256 个字符。

请求示例

POST https://open.volcengineapi.com/?Action=CreateDefaultNodePool&Version=2022-05-12 HTTP/1.1
Content-Type:application/json
{
    "ClusterId": "cc5silumrsfeq****",
    "KubernetesConfig": {
        "Labels": [
            {
                "Key": "label-key",
                "Value": "label-value"
            }
        ],
        "Taints": [
            {
                "Key": "taint-key",
                "Value": "taint-value",
                "Effect": "NoSchedule"
            }
        ],
        "Cordon": false
    },
    "NodeConfig": {
        "InitializeScript": "ZWNobyAidG******",
        "Security": {
            "SecurityGroupIds": ["sg-2byy13cnsc******"],
            "SecurityStrategies": ["Hids"],
            "Login": {
                "Password": "UHdkM******"
            }
        },
        "NamePrefix": "name-prefix",
        "Tags":[
            {
                "Key":"key",
                "Value":"value"
            }
        ]
    },
    "Tags":[
        {
            "Key":"key",
            "Value":"value"
        }
    ],
    "ClientToken": "BC028527-33B9-4990-A633-84E9F9******",
}

返回参数

本接口返回参数如下表所示,公共返回参数请参见 返回结果

参数类型示例值描述
IdStringpc51i0m6****默认节点池 ID。

返回示例

HTTP/1.1 200 OK
Content-Type:application/json

{
    "ResponseMetadata": {
        "RequestId": "0216353****",
        "Action": "CreateDefaultNodePool",
        "Version": "2022-05-12",
        "Service": "vke",
        "Region": "cn-beijing"
    },
    "Result": {
        "Id": "pc51i0****"
    }
}

错误码

本接口错误码如下表所示,公共错误码请参见 公共错误码

HTTP 状态码错误码错误信息说明
409AlreadyExists.DefaultNodePoolThe default node pool already exists.默认节点池已存在,无需创建。
400ClusterVpcMismatch.{{parameter}}The specified {{resourceType}} {{resourceId}} is not in the VPC of cluster.指定的子网、安全组、高性能计算集群与集群属于不同私有网络,请确保其与集群处于同一个私有网络内。
400OperationDenied.ClusterStatusThe action has been denied due to wrong cluster status {{statusPhase}} and [{{statusConditions}}].指定集群的当前状态不支持该操作。请确认该接口依赖的集群状态后重试。
400QuotaExceeded.{{ResourceType}}The quota of {{ResourceType}} has reached the limit.指定资源的配额达到上限,如 Tag、ECS Tag 等。请提升相关资源配额,或删除无用资源,预留出配额后重试。
400NotSupported.{{parameter}}The specified {{resourceType}} {{resourceContent}} is not supported.指定参数不支持,例如 SecurityGroupIds 等。请确认参数后重试