删除节点池
功能介绍
该API用于删除指定的节点池。
集群管理的URL格式为:https://Endpoint/uri。其中uri为资源路径,也即API访问的路径
调用方法
请参见如何调用API。
URI
DELETE /api/v3/projects/{project_id}/clusters/{cluster_id}/nodepools/{nodepool_id}
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID,获取方式请参见如何获取接口URI中参数。 |
cluster_id |
是 |
String |
集群ID,获取方式请参见如何获取接口URI中参数。 |
nodepool_id |
是 |
String |
节点池ID |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
Content-Type |
是 |
String |
消息体的类型(格式) |
X-Auth-Token |
是 |
String |
调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值,获取方式请参见获取token。 |
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
kind |
String |
API类型,固定值“NodePool”。 |
apiVersion |
String |
API版本,固定值“v3”。 |
metadata |
NodePoolMetadata object |
节点池的元数据信息 |
spec |
NodePoolSpec object |
节点池的规格描述 |
status |
DeleteNodePoolStatus object |
节点池状态 |
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
节点名池名称。
说明:
命名规则:
|
uid |
String |
节点池的uid。创建成功后自动生成,填写无效 |
annotations |
Map<String,String> |
节点池的注解,以key value对表示。仅用于查询,不支持请求时传入,填写无效。 |
updateTimestamp |
String |
更新时间 |
creationTimestamp |
String |
创建时间 |
参数 |
参数类型 |
描述 |
---|---|---|
type |
String |
节点池类型。不填写时默认为vm。
|
nodeTemplate |
NodeSpec object |
节点池模板详细参数。 |
initialNodeCount |
Integer |
节点池初始化节点个数。查询时为节点池目标节点数量。 |
autoscaling |
NodePoolNodeAutoscaling object |
弹性伸缩参数。 |
nodeManagement |
NodeManagement object |
节点管理相关配置 |
podSecurityGroups |
Array of SecurityID objects |
安全组相关配置。 |
extensionScaleGroups |
ExtensionScaleGroup object |
节点池扩展伸缩组配置 |
customSecurityGroups |
Array of strings |
节点池自定义安全组相关配置。支持节点池新扩容节点绑定指定的安全组。
|
参数 |
参数类型 |
描述 |
---|---|---|
flavor |
String |
节点的规格,CCE支持的节点规格请参考节点规格说明获取。 |
az |
String |
待创建节点所在的可用区,需要指定可用区(AZ)的名称,填random选择随机可用区。 CCE支持的可用区请参考地区和终端节点。 |
os |
String |
节点的操作系统类型。具体支持的操作系统请参见节点操作系统说明。
说明:
|
login |
Login object |
节点的登录方式。密钥对和密码登录方式二者必选其一。 |
rootVolume |
Volume object |
节点的磁盘信息 |
dataVolumes |
Array of Volume objects |
节点的数据盘参数,磁盘挂载上限为虚拟机不超过16块,裸金属不超过10块。在此基础上还受限于虚拟机/裸金属规格可挂载磁盘数上限。(目前支持通过控制台或API为CCE节点添加第二块数据盘)。 如果数据盘正供容器运行时和Kubelet组件使用,则不可被卸载,否则将导致节点不可用。 针对专属云节点,参数解释与rootVolume一致 |
storage |
Storage object |
磁盘初始化配置管理参数。 该参数配置逻辑较为复杂,详细说明请参见节点磁盘挂载。 该参数缺省时,按照extendParam中的DockerLVMConfigOverride(已废弃)参数进行磁盘管理。此参数对1.15.11及以上集群版本支持。
说明:
说明:
说明:
|
publicIP |
NodePublicIP object |
节点的弹性公网IP
说明:
创建节点池添加节点时不支持该参数。 |
nodeNicSpec |
NodeNicSpec object |
节点的网卡信息 |
count |
Integer |
批量创建时节点的个数,必须为大于等于1,小于等于最大限额的正整数。作用于节点池时该项可以不填写。 |
billingMode |
Integer |
节点的计费模式:
|
taints |
Array of Taint objects |
支持给创建出来的节点加Taints来设置反亲和性,taints配置不超过20条。每条Taints包含以下3个参数:
示例: "taints": [{ "key": "status", "value": "unavailable", "effect": "NoSchedule" }, { "key": "looks", "value": "bad", "effect": "NoSchedule" }] |
k8sTags |
Map<String,String> |
格式为key/value键值对。键值对个数不超过20条。
示例: "k8sTags": { "key": "value" } |
ecsGroupId |
String |
云服务器组ID,若指定,将节点创建在该云服务器组下
说明:
创建节点池时该配置不会生效,若要保持节点池中的节点都在同一个云服务器组内,请在节点池 nodeManagement 字段中配置 |
dedicatedHostId |
String |
指定DeH主机的ID,将节点调度到自己的DeH上。
说明:
创建节点池添加节点时不支持该参数。 |
userTags |
Array of UserTag objects |
云服务器标签,键必须唯一,CCE支持的最大用户自定义标签数量依region而定,自定义标签数上限为8个。 字段使用场景:在节点创建场景下,支持指定初始值,查询时不返回该字段;在节点池场景下,其中节点模板中支持指定初始值,查询时支持返回该字段;在其余场景下,查询时都不会返回该字段。
说明:
标签键只能包含大写字母.小写字母、数字和特殊字符(-_)以及Unicode字符,长度不超过36个字符。 |
runtime |
Runtime object |
容器运行时, 默认场景:
|
initializedConditions |
Array of strings |
自定义初始化标记,默认值为空。 CCE节点在初始化完成之前,会打上初始化未完成污点(node.cloudprovider.kubernetes.io/uninitialized)防止pod调度到节点上。用户在创建节点时,可以通过设置initializedConditions参数,控制污点的移除时间(默认不设置超时时间)。 使用示例如下:
status: conditions: - type: CCEInitial status: 'True' - type: CustomedInitial status: 'True'
|
extendParam |
NodeExtendParam object |
创建节点时的扩展参数。 |
hostnameConfig |
HostnameConfig object |
K8S节点名称配置参数,支持的集群版本为v1.23.6-r0到v1.25或者v1.25.2-r0及以上。 |
serverEnterpriseProjectID |
String |
服务器企业项目ID。CCE服务不实现EPS相关特性,该字段仅用于同步服务器企业项目ID。 创建节点/节点池场景:可指定已存在企业项目,当取值为空时,该字段继承集群企业项目属性。 更新节点池场景:配置修改后仅会对新增节点的服务器生效,存量节点需前往EPS界面迁移。 如果更新时不指定值,不会更新该字段。 当该字段为空时,返回集群企业项目。 |
参数 |
参数类型 |
描述 |
---|---|---|
sshKey |
String |
选择密钥对方式登录时的密钥对名称。 |
userPassword |
UserPassword object |
选择密码方式登录时的账号密码信息,之后可通过此账号密码登录节点。 |
参数 |
参数类型 |
描述 |
---|---|---|
username |
String |
登录账号,默认为“root” |
password |
String |
登录密码,若创建节点通过用户名密码方式,即使用该字段,则响应体中该字段作屏蔽展示。 密码复杂度要求:
|
参数 |
参数类型 |
描述 |
---|---|---|
size |
Integer |
磁盘大小,单位为GB
|
volumetype |
String |
磁盘类型,取值请参见创建云服务器 中“root_volume字段数据结构说明”。
|
extendParam |
Map<String,Object> |
磁盘扩展参数,取值请参见创建云服务器中“extendparam”参数的描述。 链接请参见创建云服务器。 |
cluster_id |
String |
云服务器系统盘对应的存储池的ID。仅用作专属云集群,专属分布式存储DSS的存储池ID,即dssPoolID。 获取方法请参见获取单个专属分布式存储池详情中“表3 响应参数”的ID字段。 |
cluster_type |
String |
云服务器系统盘对应的磁盘存储类型。仅用作专属云集群,固定取值为dss。 |
hw:passthrough |
Boolean |
|
metadata |
VolumeMetadata object |
云硬盘加密信息,仅在创建节点系统盘或数据盘需加密时须填写。 |
参数 |
参数类型 |
描述 |
---|---|---|
__system__encrypted |
String |
表示云硬盘加密功能的字段,'0'代表不加密,'1'代表加密。 该字段不存在时,云硬盘默认为不加密。 |
__system__cmkid |
String |
用户主密钥ID,是metadata中的表示加密功能的字段,与__system__encrypted配合使用。 |
参数 |
参数类型 |
描述 |
---|---|---|
storageSelectors |
Array of StorageSelectors objects |
磁盘选择,根据matchLabels和storageType对匹配的磁盘进行管理。磁盘匹配存在先后顺序,靠前的匹配规则优先匹配。 |
storageGroups |
Array of StorageGroups objects |
由多个存储设备组成的存储组,用于各个存储空间的划分。 |
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
selector的名字,作为storageGroup中selectorNames的索引,因此各个selector间的名字不能重复。 |
storageType |
String |
存储类型,当前仅支持evs(云硬盘)或local(本地盘);local存储类型不支持磁盘选择,所有本地盘将被组成一个VG,因此也仅允许只有一个local类型的storageSelector。 |
matchLabels |
matchLabels object |
evs盘的匹配字段,支持DataVolume中的size、volumeType、metadataEncrypted、metadataCmkid、count五个字段。 |
参数 |
参数类型 |
描述 |
---|---|---|
size |
String |
匹配的磁盘大小,不填则无磁盘大小限制。例如:100. |
volumeType |
String |
云硬盘类型,目前支持SSD\GPSSD\SAS\ESSD\SATA等,不填则无云硬盘类型限制。 |
metadataEncrypted |
String |
磁盘加密标识符,0代表不加密,1代表加密,不填则无磁盘加密标识符限制。 |
metadataCmkid |
String |
加密磁盘的用户主密钥ID,长度为36字节的字符串,不填则无磁盘密钥ID限制。 |
count |
String |
磁盘选择个数,不填则选择所有此类磁盘。 |
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
storageGroups的名字,作为虚拟存储组的名字,因此各个group名字不能重复。
说明:
|
cceManaged |
Boolean |
k8s及runtime所属存储空间。有且仅有一个group被设置为true,不填默认false。 |
selectorNames |
Array of strings |
对应storageSelectors中的name,一个group可选择多个selector;但一个selector只能被一个group选择。 |
virtualSpaces |
Array of VirtualSpace objects |
group中空间配置的详细管理。 |
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
virtualSpace的名称,当前仅支持四种类型:share、kubernetes、runtime、user。
|
size |
String |
virtualSpace的大小,仅支持整数百分比。例如:90%。
说明:
一个group中所有virtualSpace的百分比之和不得超过100% |
lvmConfig |
LVMConfig object |
lvm配置管理,适用于share、kubernetes和user空间配置。 需要注意:一个virtualSpace仅支持一个config配置。 |
runtimeConfig |
RuntimeConfig object |
runtime配置管理,适用于运行时空间配置。 需要注意:一个virtualSpace仅支持一个config配置。 |
参数 |
参数类型 |
描述 |
---|---|---|
lvType |
String |
LVM写入模式:linear、striped。linear:线性模式;striped:条带模式,使用多块磁盘组成条带模式,能够提升磁盘性能。 |
path |
String |
磁盘挂载路径。仅在用户配置中生效。支持包含:数字、大小写字母、点、中划线、下划线的绝对路径。 |
参数 |
参数类型 |
描述 |
---|---|---|
lvType |
String |
LVM写入模式:linear、striped。linear:线性模式;striped:条带模式,使用多块磁盘组成条带模式,能够提升磁盘性能。 |
参数 |
参数类型 |
描述 |
---|---|---|
ids |
Array of strings |
已有的弹性IP的ID列表。数量不得大于待创建节点数
说明:
若已配置ids参数,则无需配置count和eip参数 |
count |
Integer |
要动态创建的弹性IP个数。
说明:
count参数与eip参数必须同时配置。 |
eip |
NodeEIPSpec object |
弹性IP参数
说明:
创建节点池时不支持此参数 |
参数 |
参数类型 |
描述 |
---|---|---|
iptype |
String |
弹性IP类型,取值请参见申请EIP接口中publicip.type说明。 链接请参见申请EIP。 |
bandwidth |
NodeBandwidth object |
弹性IP的带宽参数 |
参数 |
参数类型 |
描述 |
---|---|---|
chargemode |
String |
带宽的计费类型:
说明:
|
size |
Integer |
带宽大小,取值请参见取值请参见申请EIP接口中bandwidth.size说明。 链接请参见申请EIP。 |
sharetype |
String |
带宽的共享类型,共享类型枚举:PER,表示独享,目前仅支持独享。 |
参数 |
参数类型 |
描述 |
---|---|---|
primaryNic |
NicSpec object |
主网卡的描述信息。 |
extNics |
Array of NicSpec objects |
扩展网卡
说明:
创建节点池添加节点时不支持该参数。 |
参数 |
参数类型 |
描述 |
---|---|---|
subnetId |
String |
网卡所在子网的网络ID。主网卡创建时若未指定subnetId,将使用集群子网。扩展网卡创建时必须指定subnetId。 |
fixedIps |
Array of strings |
主网卡的IP将通过fixedIps指定,数量不得大于创建的节点数。fixedIps或ipBlock同时只能指定一个。扩展网卡不支持指定fiexdIps。 |
ipBlock |
String |
主网卡的IP段的CIDR格式,创建的节点IP将属于该IP段内。fixedIps或ipBlock同时只能指定一个。 |
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
容器运行时,默认场景:
|
参数 |
参数类型 |
描述 |
---|---|---|
ecs:performancetype |
String |
云服务器规格的分类。响应中会返回此字段。 |
orderID |
String |
订单ID,节点付费类型为自动付费包周期类型时,响应中会返回此字段(仅创建场景涉及)。 |
productID |
String |
产品ID,节点付费类型为自动付费包周期类型时,响应中会返回此字段。 |
maxPods |
Integer |
节点最大允许创建的实例数(Pod),该数量包含系统默认实例,取值范围为16~256。 该设置的目的为防止节点因管理过多实例而负载过重,请根据您的业务需要进行设置。 节点可以创建多少个Pod,受多个参数影响,具体请参见节点可创建的最大Pod数量说明。 |
periodType |
String |
说明:
作为请求参数,billingMode为1(包周期)或2(已废弃:自动付费包周期)时生效,且为必选。 作为响应参数,仅在创建包周期节点时返回。 |
periodNum |
Integer |
订购周期数,取值范围:
说明:
作为请求参数,billingMode为1或2(已废弃)时生效,且为必选。 作为响应参数,仅在创建包周期节点时返回。 |
isAutoRenew |
String |
是否自动续订
说明:
billingMode为1或2(已废弃)时生效,不填写此参数时默认不会自动续费。 |
isAutoPay |
String |
是否自动扣款
说明:
billingMode为1或2(已废弃)时生效,billingMode为1时不填写此参数时默认不会自动扣款。(已废弃:billingMode为2时不填写此参数时默认会自动扣款) |
DockerLVMConfigOverride |
String |
Docker数据盘配置项(已废弃,请使用storage字段)。默认配置示例如下: "DockerLVMConfigOverride":"dockerThinpool=vgpaas/90%VG;kubernetesLV=vgpaas/10%VG;diskType=evs;lvType=linear" 默认配置在无VD类型磁盘时,会由于数据盘查找失败而出错,请根据真实盘符类型填写diskType。 包含如下字段:
|
dockerBaseSize |
Integer |
节点上单容器的可用磁盘空间大小(已废弃,请优先使用containerBaseSize参数),单位G。 不配置该值或值为0时将使用默认值,Devicemapper模式下默认值为10;OverlayFS模式默认不限制单容器可用空间大小,且dockerBaseSize设置仅在新版本集群的EulerOS/HCEOS2.0节点上生效。 CCE节点容器运行时空间配置请参考数据盘空间分配说明。 Devicemapper模式下建议dockerBaseSize配置不超过80G,设置过大时可能会导致容器运行时初始化时间过长而启动失败,若对容器磁盘大小有特殊要求,可考虑使用挂载外部或本地存储方式代替。 |
containerBaseSize |
Integer |
节点上单容器的可用磁盘空间大小,单位G。 不配置该值或值为0时将使用默认值,OverlayFS模式默认不限制单容器可用空间大小;Devicemapper模式下默认值为10,且containerBaseSize设置仅在新版本集群(v1.23.14-r0/v1.25.9-r0/v1.27.6-r0/v1.28.4-r0及以上)的EulerOS/HCEOS2.0节点上生效。 CCE节点容器运行时空间配置请参考数据盘空间分配说明。 Devicemapper模式下建议containerBaseSize配置不超过80G,设置过大时可能会导致容器运行时初始化时间过长而启动失败,若对容器磁盘大小有特殊要求,可考虑使用挂载外部或本地存储方式代替;Devicemapper模式在新版中仅有共池裸机使用,已逐步废弃。 |
publicKey |
String |
节点的公钥。 |
alpha.cce/preInstall |
String |
安装前执行脚本。
说明:
输入的值需要经过Base64编码,方法如下: echo -n "待编码内容" | base64 |
alpha.cce/postInstall |
String |
安装后执行脚本。
说明:
输入的值需要经过Base64编码,方法如下: echo -n "待编码内容" | base64 |
alpha.cce/NodeImageID |
String |
如果创建裸金属节点,需要使用自定义镜像时用此参数。 |
nicMultiqueue |
String |
"[{\"queue\":4}]" 包含如下字段:
|
nicThreshold |
String |
"0.3:0.6"
|
chargingMode |
Integer |
节点的计费模式。已废弃,请使用NodeSpec中的billingMode字段。 |
marketType |
String |
创建竞价实例时,需指定该参数的值为“spot”。
说明:
仅当billingMode=0时此参数生效 |
spotPrice |
String |
用户愿意为竞价实例每小时支付的最高价格。
说明:
仅当billingMode=0且marketType=spot时,该参数设置后生效。 当billingMode=0且marketType=spot时,如果不传递spotPrice,默认使用按需购买的价格作为竞价。 spotPrice需要小于等于按需价格并大于等于云服务器市场价格。 |
agency_name |
String |
委托的名称。 委托是由租户管理员在统一身份认证服务(Identity and Access Management,IAM)上创建的,可以为CCE节点提供访问云服务器的临时凭证。 作为响应参数仅在创建节点传入时返回该字段。 |
kubeReservedMem |
Integer |
节点内存预留,Kubernetes相关组件预留值。 |
systemReservedMem |
Integer |
节点内存预留,系统组件预留值。 |
init-node-password |
String |
节点密码,作为响应参数时,固定展示星号。 |
参数 |
参数类型 |
描述 |
---|---|---|
type |
String |
K8S节点名称配置类型, 默认为“privateIp”。
说明:
|
参数 |
参数类型 |
描述 |
---|---|---|
enable |
Boolean |
是否开启自动扩缩容 |
minNodeCount |
Integer |
若开启自动扩缩容,最小能缩容的节点个数。不可大于集群规格所允许的节点上限 |
maxNodeCount |
Integer |
若开启自动扩缩容,最大能扩容的节点个数,应大于等于 minNodeCount,且不超过集群规格对应的节点数量上限。 |
scaleDownCooldownTime |
Integer |
节点保留时间,单位为分钟,扩容出来的节点在这个时间内不会被缩掉 |
priority |
Integer |
节点池权重,更高的权重在扩容时拥有更高的优先级 |
参数 |
参数类型 |
描述 |
---|---|---|
serverGroupReference |
String |
云服务器组ID,若指定,节点池中所有节点将创建在该云服务器组下,节点池的云服务器组只能在创建时指定,无法修改。指定云服务器组时节点池中的节点数量不允许超出云服务器组的配额限制。 |
参数 |
参数类型 |
描述 |
---|---|---|
metadata |
ExtensionScaleGroupMetadata object |
扩容伸缩组的基本信息 |
spec |
ExtensionScaleGroupSpec object |
扩展伸缩组配置,承载区别于默认伸缩组的差异化配置 |
参数 |
参数类型 |
描述 |
---|---|---|
uid |
String |
扩展伸缩组的uuid,由系统自动生成 |
name |
String |
扩展伸缩组的名称,不能为 default,长度不能超过55个字符,只能包含数字和小写字母以及**-** |
参数 |
参数类型 |
描述 |
---|---|---|
flavor |
String |
节点规格 |
az |
String |
节点可用区,未指定或者为空则以默认伸缩组中配置为准 |
capacityReservationSpecification |
扩展伸缩组容量预留配置 |
|
autoscaling |
ScaleGroupAutoscaling object |
扩展伸缩组弹性伸缩配置 |
参数 |
参数类型 |
描述 |
---|---|---|
id |
String |
私有池id,preference为none时忽略该值 |
preference |
String |
私有池容量选项,为 none 时表示不指定容量预留,为 targeted 时表示指定容量预留,此时 id 不能为空 |
参数 |
参数类型 |
描述 |
---|---|---|
enable |
Boolean |
伸缩组弹性扩缩容启用开关,默认不开启 |
extensionPriority |
Integer |
伸缩组优先级,未设置则默认为0,数值越大优先级越高 |
minNodeCount |
Integer |
弹性伸缩时,伸缩组最少应保持的节点数量,必须大于0 |
maxNodeCount |
Integer |
弹性伸缩时,伸缩组最多可保持的节点数量,应大于等于 minNodeCount, 不可大于集群规格所允许的节点上限,不可大于节点池节点数量上限 |
参数 |
参数类型 |
描述 |
---|---|---|
currentNode |
Integer |
当前节点池中所有节点数量(不含删除中的节点)。 |
creatingNode |
Integer |
当前节点池中处于创建流程中的节点数量。 |
deletingNode |
Integer |
当前节点池中删除中的节点数量。 |
phase |
String |
节点池状态。
说明:
上述节点池状态已废弃,仅兼容保留,不建议使用,替代感知方式如下:
|
jobId |
String |
对节点池执行操作时的 JobID。 |
conditions |
Array of NodePoolCondition objects |
节点池当前详细状态列表,详情参见Condition类型定义。 |
参数 |
参数类型 |
描述 |
---|---|---|
type |
String |
Condition类型,当前支持类型如下
|
status |
String |
Condition当前状态,取值如下
|
lastProbeTime |
String |
上次状态检查时间。 |
lastTransitTime |
String |
上次状态变更时间。 |
reason |
String |
上次状态变更原因。 |
message |
String |
Condition详细描述。 |
请求示例
无
响应示例
状态码: 200
表示删除节点池作业下发成功。
{ "kind" : "NodePool", "apiVersion" : "v3", "metadata" : { "name" : "lc-it-nodepool-79796", "uid" : "99addaa2-69eb-11ea-a592-0255ac1001bb" }, "spec" : { "type" : "vm", "nodeTemplate" : { "flavor" : "s6.large.2", "az" : "******", "os" : "EulerOS 2.5", "login" : { "sshKey" : "KeyPair-001" }, "rootVolume" : { "volumetype" : "SAS", "size" : 40 }, "dataVolumes" : [ { "volumetype" : "SAS", "size" : 100, "extendParam" : { "useType" : "docker" } } ], "publicIP" : { "eip" : { "bandwidth" : { } } }, "nodeNicSpec" : { "primaryNic" : { "subnetId" : "7e767d10-7548-4df5-ad72-aeac1d08bd8a" } }, "billingMode" : 0, "extendParam" : { "maxPods" : 110 }, "k8sTags" : { "cce.cloud.com/cce-nodepool" : "lc-it-nodepool-79796" } }, "autoscaling" : { }, "nodeManagement" : { } }, "status" : { "phase" : "Deleting", "jobId" : "3281fa02-69ee-11ea-a592-0255ac1001bb" } }
SDK代码示例
SDK代码示例如下。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
package com.huaweicloud.sdk.test; import com.huaweicloud.sdk.core.auth.ICredential; import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.core.exception.ConnectionException; import com.huaweicloud.sdk.core.exception.RequestTimeoutException; import com.huaweicloud.sdk.core.exception.ServiceResponseException; import com.huaweicloud.sdk.cce.v3.region.CceRegion; import com.huaweicloud.sdk.cce.v3.*; import com.huaweicloud.sdk.cce.v3.model.*; public class DeleteNodePoolSolution { public static void main(String[] args) { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment String ak = System.getenv("CLOUD_SDK_AK"); String sk = System.getenv("CLOUD_SDK_SK"); String projectId = "{project_id}"; ICredential auth = new BasicCredentials() .withProjectId(projectId) .withAk(ak) .withSk(sk); CceClient client = CceClient.newBuilder() .withCredential(auth) .withRegion(CceRegion.valueOf("<YOUR REGION>")) .build(); DeleteNodePoolRequest request = new DeleteNodePoolRequest(); request.withClusterId("{cluster_id}"); request.withNodepoolId("{nodepool_id}"); try { DeleteNodePoolResponse response = client.deleteNodePool(request); System.out.println(response.toString()); } catch (ConnectionException e) { e.printStackTrace(); } catch (RequestTimeoutException e) { e.printStackTrace(); } catch (ServiceResponseException e) { e.printStackTrace(); System.out.println(e.getHttpStatusCode()); System.out.println(e.getRequestId()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# coding: utf-8 import os from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkcce.v3.region.cce_region import CceRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkcce.v3 import * if __name__ == "__main__": # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak = os.environ["CLOUD_SDK_AK"] sk = os.environ["CLOUD_SDK_SK"] projectId = "{project_id}" credentials = BasicCredentials(ak, sk, projectId) client = CceClient.new_builder() \ .with_credentials(credentials) \ .with_region(CceRegion.value_of("<YOUR REGION>")) \ .build() try: request = DeleteNodePoolRequest() request.cluster_id = "{cluster_id}" request.nodepool_id = "{nodepool_id}" response = client.delete_node_pool(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" cce "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cce/v3" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cce/v3/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cce/v3/region" ) func main() { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK") projectId := "{project_id}" auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). WithProjectId(projectId). Build() client := cce.NewCceClient( cce.CceClientBuilder(). WithRegion(region.ValueOf("<YOUR REGION>")). WithCredential(auth). Build()) request := &model.DeleteNodePoolRequest{} request.ClusterId = "{cluster_id}" request.NodepoolId = "{nodepool_id}" response, err := client.DeleteNodePool(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } |
更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。
状态码
状态码 |
描述 |
---|---|
200 |
表示删除节点池作业下发成功。 |
错误码
请参见错误码。