创建虚拟节点。
说明
【邀测·申请试用】:虚拟节点相关 OpenAPI 功能目前处于 邀测 阶段。如果需要使用,请提交申请。
此接口为异步接口,当此接口返回成功时,会返回虚拟节点的 ID 信息,此时虚拟节点将进入{Creating, [Progressing]}
状态,直到创建执行成功,状态显示{Running, [Ok]}
。请调用 ListVirtualNodes 接口获取该虚拟节点当前的状态,查看虚拟节点是否创建成功。
调用该 API 时的请求参数如下,除此之外还需传入公共请求参数。公共请求参数说明,请参见 公共参数。
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | CreateVirtualNode | 接口名称。当前 API 的名称为 CreateVirtualNode 。 |
Version | String | 是 | 2022-05-12 | 接口版本。当前 API 的版本为 2022-05-12 。 |
ClientToken | String | 否 | BC028527-33B9-4990-A633-84E9F9xxxx | 用于保证请求幂等性的字符串。该字符串由调用方传入,需保证不同请求之间唯一。ClientToken 对大小写敏感,且最大值不超过 64 个 ASCII 字符。 |
Name | String | 否 | vci-vnode-cn-beijing-1 | 虚拟节点的名称。
注意
|
Kubeconfig | String | 是 | YXBpVmVyc2lvbjogdjEKY2x1c3RlcnM6******* | 虚拟节点要连接的目标 Kubernetes 集群的 Kubeconfig。 注意 需要对 Kubeconfig 进行 Base 64 编码后传入。Base 64 编码相关注意事项,请参见 FAQ。 |
VirtualNodeConfig | Object of VirtualNodeConfig | 是 | - | 虚拟节点的节点配置信息。 |
KubernetesConfig | Object of VirtualNodeKubernetesConfigRequest | 否 | - | 虚拟节点的 Kubernetes 配置信息。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
VpcId | String | 是 | vpc-2d73mgm******** | 虚拟节点网络所在的私有网络(VPC)ID。 |
SubnetIds | Array of String | 是 | ["subnet-2d73mhao7vj0g58ozf****"] | 虚拟节点网络所属的子网 ID 列表。
|
SecurityGroupIds | Array of String | 是 | ["sg-3re8ffwjclybk5zsk****"] | 虚拟节点网络所在的安全组 ID 列表。
|
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Labels | Array of Label | 否 | - | 虚拟节点的 Kubernetes 标签(Labels)信息。 |
Taints | Array of Taint | 否 | - | 虚拟节点的 Kubernetes 污点(Taints)信息。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Key | String | 是 | label-key | 标签键,要求如下,更多规则,请参见 Kubernetes 标签规则。
|
Value | String | 否 | label-value | 标签值,要求如下,更多规则,请参见 Kubernetes 标签规则。
|
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Effect | String | 否 | NoSchedule | 污点效果,取值:
|
Key | String | 是 | taint-key | 污点键,要求如下,更多规则,请参见 Kubernetes 标签规则。
|
Value | String | 否 | taint-value | 污点值,要求如下,更多规则,请参见 Kubernetes 标签规则。
|
POST https://open.volcengineapi.com/?Action=CreateVirtualNode&Version=2022-05-12 HTTP/1.1 Content-Type:application/json { "Name": "virtualnode-1", "VirtualNodeConfig": { "VpcId": "vpc-3reuafbrw1********", "SubnetIds": ["subnet-3rfcnoazj4cu85zsk2j******"], "SecurityGroupIDs": ["sg-3reuafhozdwjk5zsk2i******"] }, "ClientToken": "BC028527-33B9-4990-A633-84E9F9******", "KubernetesConfig": { "Labels": [ {"Key": "nodetype", "Value": "vci"} ], "Taints": [ { "Key": "t1", "Value": "tv1", "Effect": "NoSchedule" } ] }, "Kubeconfig": "YXBpVmVyc2lvbjogdjEKY2x1c3RlcnM6*******" }
本接口返回参数如下表所示,公共返回参数请参见 返回结果。
参数 | 类型 | 示例值 | 描述 |
---|---|---|---|
id | String | v73mhao7vj0g******** | 虚拟节点 ID。 |
HTTP/1.1 200 OK Content-Type:application/json { "ResponseMetadata": { "RequestId": "021635*******", "Action": "CreateVirtualNode", "Version": "2022-05-12", "Service": "vke", "Region": "cn-beijing" }, "Result": { "id": "vck4gdidle********" } }
本接口错误码如下表所示,公共错误码请参见 公共错误码。
HTTP 状态码 | 错误码 | 错误信息 | 说明 |
---|---|---|---|
400 | VpcMismatch.{{parameter}} | The specified {{resourceType}} {{resourceId}} is not in the same VPC. | 指定的 SubnetIds 不属于同一个私有网络。请重新配置参数后重试。 |
400 | OperationDenied.Subnet | The specified Subnet {{subnetId}} is not in the VCI zones. | 指定的子网对应的可用区不在用户vci开服可用区范围内。 |
409 | Conflict.Name | The specified name conflicts with existing {{resourceType}}. | 指定地域存在同名资源,请更新资源名称后重试。 |
400 | NotSupported.{{parameter}} | The specified {{resourceType}} {{resourceContent}} is not supported. | 指定参数不支持,例如 SecurityGroupIds 等。请确认参数后重试 |