获取指定的节点
功能介绍
该API用于通过节点ID获取指定节点的详细信息。
集群管理的URL格式为:https://Endpoint/uri。其中uri为资源路径,也即API访问的路径。
URI
GET /api/v3/projects/{project_id}/clusters/{cluster_id}/nodes/{node_id}
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| project_id | 是 | String | 项目ID,获取方式请参见如何获取接口URI中参数。 |
| cluster_id | 是 | String | 集群ID,获取方式请参见如何获取接口URI中参数。 |
| node_id | 是 | String | 节点ID,获取方式请参见如何获取接口URI中参数。 |
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| Content-Type | 是 | String | 消息体的类型(格式) |
| X-Auth-Token | 是 | String | 调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值,获取方式请参见获取token。 |
响应参数
状态码: 200
| 参数 | 参数类型 | 描述 |
|---|---|---|
| kind | String | API类型,固定值“Node”,该值不可修改。 |
| apiVersion | String | API版本,固定值“v3”,该值不可修改。 |
| metadata | NodeMetadata object | metadata是节点对象的元数据定义,是集合类的元素类型,包含一组由不同名称定义的属性。 |
| spec | NodeSpec object | spec是集合类的元素类型,用户对需要管理的节点对象进行详细描述的主体部分都在spec中给出。系统通过spec的描述来创建或更新对象。 |
| status | NodeStatus object | 节点状态,动态记录,创建或修改时指定无意义. |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| name | String | 节点名称 说明: 命名规则:以小写字母开头,由小写字母、数字、中划线(-)组成,长度范围1-56位,且不能以中划线(-)结尾。 若name未指定或指定为空字符串,则按照默认规则生成节点名称。默认规则为:“集群名称-随机字符串”,若集群名称过长,则只取前36个字符。 若节点数量(count)大于1时,则按照默认规则会在用户输入的节点名称末尾添加随机字符串。默认规则为:“用户输入名称-随机字符串”,若用户输入的节点名称长度范围超过50位时,系统截取前50位,并在末尾添加随机字符串。 |
| uid | String | 节点ID,资源唯一标识,创建成功后自动生成,填写无效 |
| labels | Map<String,String> | CCE自有节点标签,非Kubernetes原生labels。 标签可用于选择对象并查找满足某些条件的对象集合,格式为key/value键值对。 示例: "labels": {
"key" : "value"
} |
| annotations | Map<String,String> | CCE自有节点注解,非Kubernetes原生annotations,格式为key/value键值对。 示例: "annotations": {
"key1" : "value1",
"key2" : "value2"
} 说明:
|
| creationTimestamp | String | 创建时间,创建成功后自动生成,填写无效 |
| updateTimestamp | String | 更新时间,创建成功后自动生成,填写无效 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| flavor | String | 节点的规格,CCE支持的节点规格请参考节点规格说明获取。 |
| az | String | 待创建节点所在的可用区,需要指定可用区(AZ)的名称,填random选择随机可用区。 |
| os | String | 节点的操作系统类型。具体支持的操作系统请参见节点操作系统说明。 说明:
|
| login | Login object | 节点的登录方式。密钥对和密码登录方式二者必选其一。 |
| rootVolume | Volume object | 节点的磁盘信息 |
| dataVolumes | Array of Volume objects | 节点的数据盘参数(目前已支持通过控制台为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及以上。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| username | String | 登录账号,默认为“root” |
| password | String | 登录密码,若创建节点通过用户名密码方式,即使用该字段,则响应体中该字段作屏蔽展示。 密码复杂度要求:
|
| 参数 | 参数类型 | 描述 |
|---|---|---|
| size | Integer | 磁盘大小,单位为GB
|
| volumetype | String | 磁盘类型,取值请参见创建云服务器 中“root_volume字段数据结构说明”。
|
| extendParam | Map<String,Object> | 磁盘扩展参数,取值请参见创建云服务器中“extendparam”参数的描述。 |
| cluster_id | String | 云服务器系统盘对应的存储池的ID。仅用作专属云集群,专属分布式存储DSS的存储池ID,即dssPoolID。 |
| 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字节的字符串。 |
| 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的名称,当前仅支持三种类型:kubernetes、runtime、user。
|
| size | String | virtualSpace的大小,仅支持整数百分比。例如:90%。 说明: 一个group中所有virtualSpace的百分比之和不得超过100% |
| lvmConfig | LVMConfig object | lvm配置管理,适用于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说明。 |
| bandwidth | NodeBandwidth object | 弹性IP的带宽参数 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| chargemode | String | 带宽的计费类型:
说明:
|
| size | Integer | 带宽大小,取值请参见取值请参见申请EIP接口中bandwidth.size说明。 |
| 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 | 云服务器规格的分类。响应中会返回此字段。 |
| maxPods | Integer | 节点最大允许创建的实例数(Pod),该数量包含系统默认实例,取值范围为16~256。 该设置的目的为防止节点因管理过多实例而负载过重,请根据您的业务需要进行设置。 节点可以创建多少个Pod,受多个参数影响,具体请参见节点最多可以创建多少Pod。 |
| DockerLVMConfigOverride | String | Docker数据盘配置项(已废弃,请使用storage字段)。默认配置示例如下: "DockerLVMConfigOverride":"dockerThinpool=vgpaas/90%VG;kubernetesLV=vgpaas/10%VG;diskType=evs;lvType=linear" 默认配置在无VD类型磁盘时,会由于数据盘查找失败而出错,请根据真实盘符类型填写diskType。 包含如下字段:
|
| dockerBaseSize | Integer | 节点上单容器的可用磁盘空间大小,单位G。 不配置该值或值为0时将使用默认值,Devicemapper模式下默认值为10;OverlayFS模式默认不限制单容器可用空间大小,且dockerBaseSize设置仅在新版本集群的EulerOS节点上生效。 CCE节点容器运行时空间配置请参考数据盘空间分配说明。 Devicemapper模式下建议dockerBaseSize配置不超过80G,设置过大时可能会导致容器运行时初始化时间过长而启动失败,若对容器磁盘大小有特殊要求,可考虑使用挂载外部或本地存储方式代替。 |
| publicKey | String | 节点的公钥。 |
| alpha.cce/preInstall | String | 安装前执行脚本 说明: 输入的值需要经过Base64编码,方法为echo -n "待编码内容" | base64 |
| alpha.cce/postInstall | String | 安装后执行脚本 说明: 输入的值需要经过Base64编码,方法为echo -n "待编码内容" | base64。 |
| alpha.cce/NodeImageID | String | 如果创建裸金属节点,需要使用自定义镜像时用此参数。 |
| chargingMode | Integer | 节点的计费模式。已废弃,请使用NodeSpec中的billingMode字段。 |
| agency_name | String | 委托的名称。 委托是由租户管理员在统一身份认证服务(Identity and Access Management,IAM)上创建的,可以为CCE节点提供访问云服务器的临时凭证。 作为响应参数仅在创建节点传入时返回该字段。 |
| kubeReservedMem | Integer | 节点内存预留,Kubernetes相关组件预留值。 |
| systemReservedMem | Integer | 节点内存预留,系统组件预留值。 |
| init-node-password | String | 节点密码,作为响应参数时,固定展示星号。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| type | String | K8S节点名称配置类型, 默认为“privateIp”。
说明:
|
| 参数 | 参数类型 | 描述 |
|---|---|---|
| phase | String | 节点状态:节点资源生命周期管理(如安装卸载等)状态和集群内k8s node状态的综合体现,取值如下
|
| lastProbeTime | String | 节点最近一次状态检查时间。集群处于异常、冻结或者中间态(例如创建中)时,节点的状态检查动作可能受影响。检查时间超过5分的节点状态不具有参考意义。 |
| jobID | String | 创建或删除时的任务ID。 |
| serverId | String | 底层云服务器或裸金属节点ID。 |
| privateIP | String | 节点主网卡私有网段IP地址。 |
| privateIPv6IP | String | 节点主网卡私有网段IPv6地址。 |
| publicIP | String | 节点弹性公网IP地址。如果ECS的数据没有实时同步,可在界面上通过“同步节点信息”手动进行更新。 |
| deleteStatus | DeleteStatus object | 删除资源时表示资源删除状态 |
请求示例
无
响应示例
状态码: 200
表示获取集群下指定的节点成功。
{
"kind" : "Node",
"apiVersion" : "v3",
"metadata" : {
"name" : "myhost",
"uid" : "4d1ecb2c-229a-11e8-9c75-0255ac100ceb",
"creationTimestamp" : "2018-08-02 08:12:40.124294439 +0000 UTC",
"updateTimestamp" : "2018-08-02 08:18:20.221871842 +0000 UTC",
"annotations" : {
"kubernetes.io/node-pool.id" : "az1.dc1#s1.medium#EulerOS 2.2"
}
},
"spec" : {
"flavor" : "s1.medium",
"az" : "******",
"os" : "EulerOS 2.2",
"login" : {
"sshKey" : "KeyPair-001"
},
"rootVolume" : {
"volumetype" : "SAS",
"size" : 40
},
"dataVolumes" : [ {
"volumetype" : "SAS",
"size" : 100
} ],
"publicIP" : {
"eip" : {
"bandwidth" : { }
}
},
"billingMode" : 0
},
"status" : {
"phase" : "Active",
"serverId" : "456789abc-9368-46f3-8f29-d1a95622a568",
"publicIP" : "10.34.56.78",
"privateIP" : "192.168.1.23"
}
} 状态码
| 状态码 | 描述 |
|---|---|
| 200 | 表示获取集群下指定的节点成功。 |
错误码
请参见错误码。