批量删除节点
请求信息
请求行
DELETE /kubernetes/{cluster}/api/v1/nodes
批量删除节点。
请求参数
名称 | 类型 | 是否必填项 | 描述 |
---|---|---|---|
allowWatchBookmarks | boolean | 否 | allowWatchBookmarks 请求查看类型为“BOOKMARK”的事件。 不实施书签的服务器可能会忽略此标志,并且书签由服务器自行决定发送。 客户端不应假定书签会在任何特定时间间隔返回,也不应假定服务器将在会话期间发送任何 BOOKMARK 事件。 如果这不是手表,则忽略此字段。 如果 apiserver 中未启用功能门 WatchBookmarks,则忽略此字段。该字段为测试版。 |
continue | string | 否 | 服务器定义的值,⽤于从服务器中查询更多的返回结果。客户端只能从上⼀个查询结果中获取该值。当查询列表时设置了limit 参数,返回结果未包含服务器上可以查询到的所有数据,此时,会返回 continue 参数,并为 continue 参数赋值⼀个 Token。需要查询更多返回结果时,可将 continue 参数及其值作为查询参数查询更多结果。 说明:如果列表配置发⽣变化或查询过期,输⼊此查询参数后,会返回 410 错误码,如果继续输⼊该查询参数进⾏查询,返回的查询结果可能不是最新的数据。 |
dryRun | string | 否 | 当该参数出现时,表示不应该持久化修改。一个无效的或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。 有效值为:All,将处理所有的试运行阶段。 |
fieldSelector | string | 否 | 字段选择器,可通过资源对象的字段过滤、筛选资源对象,默认返回所有资源对象。 |
gracePeriodSeconds | integer | 否 | 对象被删除之前的宽限期,单位:秒。值必须是非负整数。值 0 表示立即删除。如果该值为 nil,则将使用指定类型的默认宽限期。 |
labelSelector | string | 否 | 标签选择器,可通过标签过滤、筛选资源对象,默认返回所有资源对象。 |
limit | integer | 否 | limit 是查询列表请求返回的最大响应数。 如果存在更多项,则服务器会将列表元数据上的 “continue” 字段设置为一个值,该值可与相同的初始查询一起使用用来检索下一组结果。如果所有请求的对象都被过滤掉了,则设置的限制返回的项目数可能少于请求的项目数(最多为零),并且客户端应仅使用 continue 字段的存在来确定是否有更多结果可用。服务器可能选择不支持 limit 参数,并将返回所有可用结果。如果指定了限制,并且 continue 字段为空,则客户端可能会认为没有更多结果可用。如果 watch 为 true,则不支持此字段。 服务器保证使用 continue 时返回的对象与发出单个列表调用无限制地相同,也就是说,在发出第一个请求后,任何创建、修改或删除的对象都不会包含在任何后续的继续请求中。有时这被称为一致快照,并确保使用限制接收非常大结果的较小块的客户端可以确保它们看到所有可能的对象。如果在分块列表期间更新对象,则将返回在计算第一个列表结果时存在的对象版本。 |
orphanDependents | boolean | 否 | 已弃用:请使用 PropagationPolicy,此字段将在 1.7 中弃用。 是否应该孤立依赖对象。 如果为 true / false,则将 “orphan” 终结器添加到对象的终结器列表中/从该列表中删除。 可以设置此字段或 PropagationPolicy,但不能同时设置。 |
propagationPolicy | string | 否 | 是否以及如何执行垃圾回收。 可以设置此字段或 OrphanDependents,但不能两者都设置。 默认策略由 meta.finalizers 中设置的现有终结器和特定于资源的默认策略决定。 可接受的值为:Orphan,孤立; Background,允许垃圾收集器在后台删除依赖项; Foreground,一种级联策略,删除前台中的所有依赖项。 |
resourceVersion | string | 否 | 当指定使用 watch 请求时,将显示在资源的特定版本之后发生的更改。默认从历史开始更改。当为 list 指定时:-如果未设置,则基于 quora -read 标志从远程存储返回结果;-如果它是 0,那么我们只是返回我们目前在缓存,没有保证;-如果设置为非零,那么结果至少与给定的 resourceVersion 一样为最新的值。 |
timeoutSeconds | integer | 否 | list/watch 方法的调用超时时长。这限制了调用的持续时间,不管是否活跃。 |
watch | boolean | 否 | 观察对所描述的资源的更改,并将其作为添加、更新和删除通知的流返回。需要指定 resourceVersion。 |
pretty | string | 否 | 如果为 true,则会将返回结果输出成适合打印的格式。 |
请求体
Content-Type
*/*
请求体示例
当删除一个 API 对象时,DeleteOptions 可能被提供。
{
"apiVersion": "",
"dryRun": [
""
],
"gracePeriodSeconds": 1,
"kind": "",
"orphanDependents": false,
"preconditions": {
"resourceVersion": "",
"uid": ""
},
"propagationPolicy": ""
}
请求体说明
名称 | 类型 | 是否必填项 | 描述 |
---|---|---|---|
apiVersion | string | 否 | 查看公共参数 |
dryRun | array | 否 |
当该参数出现时,表示不应该持久化修改。一个无效的或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。
有效值为:All,将处理所有的试运行阶段。
字段路径:dryRun |
dryRun[] | string | 否 |
字段路径:dryRun[] |
gracePeriodSeconds | integer (int64) | 否 |
对象被删除之前的宽限期,单位:秒。值必须是非负整数。值 0 表示立即删除。如果该值为 nil,则将使用指定类型的默认宽限期。
字段路径:gracePeriodSeconds |
kind | string | 否 | 查看公共参数 |
orphanDependents | boolean | 否 |
已弃用:请使用 PropagationPolicy,此字段将在 1.7 中弃用。 是否应该孤立依赖对象。 如果为 true / false,则将 “orphan” 终结器添加到对象的终结器列表中/从该列表中删除。 可以设置此字段或 PropagationPolicy,但不能同时设置。
字段路径:orphanDependents |
preconditions | object | 否 |
在执行操作(更新、删除等)之前,必须满足先决条件。
字段路径:preconditions |
preconditions.resourceVersion | string | 否 |
指定目标资源版本。
字段路径:preconditions.resourceVersion |
preconditions.uid | string | 否 |
指定的目标 UID。
字段路径:preconditions.uid |
propagationPolicy | string | 否 |
是否以及如何执行垃圾回收。 可以设置此字段或 OrphanDependents,但不能两者都设置。 默认策略由 meta.finalizers 中设置的现有终结器和特定于资源的默认策略决定。 可接受的值为:Orphan,孤立; Background,允许垃圾收集器在后台删除依赖项; Foreground,一种级联策略,删除前台中的所有依赖项。
字段路径:propagationPolicy |
返回信息
Content-Type
application/json
,
application/yaml
,
application/vnd.kubernetes.protobuf
状态码: 200
OK
返回体示例
Status 是不返回其他对象的请求的返回值。
{
"apiVersion": "v1",
"items": [
{
"apiVersion": "v1",
"kind": "Node",
"metadata": {
"annotations": {
"cpaas.io/display-name": "",
"kubeadm.alpha.kubernetes.io/cri-socket": "/var/run/dockershim.sock",
"node.alpha.kubernetes.io/ttl": "0",
"ovn.kubernetes.io/allocated": "true",
"ovn.kubernetes.io/chassis": "8a13eb92-aee5-46ba-b569-ae6b88535ad8",
"ovn.kubernetes.io/cidr": "100.64.0.0/16",
"ovn.kubernetes.io/gateway": "100.64.0.1",
"ovn.kubernetes.io/ip_address": "100.64.0.4",
"ovn.kubernetes.io/logical_switch": "join",
"ovn.kubernetes.io/mac_address": "00:00:00:26:9C:BD",
"ovn.kubernetes.io/port_name": "node-192.168.0.104",
"volumes.kubernetes.io/controller-managed-attach-detach": "true"
},
"creationTimestamp": "2022-04-10T07:10:25Z",
"labels": {
"alertmanager": "true",
"beta.kubernetes.io/arch": "amd64",
"beta.kubernetes.io/os": "linux",
"cpaas-system-alb": "",
"kube-ovn/role": "master",
"kubernetes.io/arch": "amd64",
"kubernetes.io/hostname": "192.168.0.104",
"kubernetes.io/os": "linux",
"node-role.kubernetes.io/control-plane": "",
"node-role.kubernetes.io/master": "",
"node.kubernetes.io/exclude-from-external-load-balancers": "",
"nvidia-device-enable": "false",
"platform.tkestack.io/machine-ip": "192.168.0.104"
},
"name": "192.168.0.104",
"resourceVersion": "3883789",
"uid": "66657421-cd82-43f1-b527-386be0cfa9be"
},
"spec": {
"podCIDR": "172.199.0.0/24",
"podCIDRs": [
"172.199.0.0/24"
]
},
"status": {
"addresses": [
{
"address": "192.168.0.104",
"type": "InternalIP"
},
{
"address": "192.168.0.104",
"type": "Hostname"
}
],
"allocatable": {
"cpu": "23800m",
"ephemeral-storage": "193000915035",
"hugepages-1Gi": "0",
"hugepages-2Mi": "0",
"memory": "48164932Ki",
"pods": "110"
},
"capacity": {
"cpu": "24",
"ephemeral-storage": "209419396Ki",
"hugepages-1Gi": "0",
"hugepages-2Mi": "0",
"memory": "49291332Ki",
"pods": "110"
},
"conditions": [
{
"lastHeartbeatTime": "2022-04-12T08:09:37Z",
"lastTransitionTime": "2022-04-10T07:29:09Z",
"message": "Kubelet has sufficient FileDescriptor available",
"reason": "NodeHasSufficientFD",
"status": "False",
"type": "NodeHasInsufficientFD"
},
{
"lastHeartbeatTime": "2022-04-12T08:09:37Z",
"lastTransitionTime": "2022-04-10T07:29:09Z",
"message": "kernel has no deadlock",
"reason": "KernelHasNoDeadlock",
"status": "False",
"type": "KernelDeadlock"
},
{
"lastHeartbeatTime": "2022-04-12T08:05:45Z",
"lastTransitionTime": "2022-04-10T07:10:25Z",
"message": "kubelet has sufficient memory available",
"reason": "KubeletHasSufficientMemory",
"status": "False",
"type": "MemoryPressure"
},
{
"lastHeartbeatTime": "2022-04-12T08:05:45Z",
"lastTransitionTime": "2022-04-10T07:10:25Z",
"message": "kubelet has no disk pressure",
"reason": "KubeletHasNoDiskPressure",
"status": "False",
"type": "DiskPressure"
},
{
"lastHeartbeatTime": "2022-04-12T08:05:45Z",
"lastTransitionTime": "2022-04-10T07:10:25Z",
"message": "kubelet has sufficient PID available",
"reason": "KubeletHasSufficientPID",
"status": "False",
"type": "PIDPressure"
},
{
"lastHeartbeatTime": "2022-04-12T08:05:45Z",
"lastTransitionTime": "2022-04-10T07:15:58Z",
"message": "kubelet is posting ready status",
"reason": "KubeletReady",
"status": "True",
"type": "Ready"
}
],
"daemonEndpoints": {
"kubeletEndpoint": {
"Port": 10250
}
},
"images": [
{
"names": [
"registry.alauda.cn:60080/tkestack/kube-apiserver@sha256:eb81528afdbd996242cfbf6f6d53ec3529da43e0a1970b61a7454d8dc910ba19",
"registry.alauda.cn:60080/tkestack/kube-apiserver:v1.21.10"
],
"sizeBytes": 137667869
},
{
"names": [
"registry.alauda.cn:60080/tkestack/kube-controller-manager@sha256:1db444412ada7729572f9cdb155ab7ba891520e09524093a2eeb0d28096f2dbd",
"registry.alauda.cn:60080/tkestack/kube-controller-manager:v1.21.10"
],
"sizeBytes": 131876125
},
{
"names": [
"registry.alauda.cn:60080/tkestack/provider-res@sha256:9504457bff6f0682e7493f94de2a4fa9d6e526a8978159cecf7b416af343010b",
"registry.alauda.cn:60080/tkestack/provider-res:v1.21.10-1"
],
"sizeBytes": 491112019
}
],
"nodeInfo": {
"architecture": "amd64",
"bootID": "7fe24634-a4f3-4428-84ca-bfaa8b2b9c98",
"containerRuntimeVersion": "docker://20.10.7",
"kernelVersion": "3.10.0-1127.el7.x86_64",
"kubeProxyVersion": "v1.21.10",
"kubeletVersion": "v1.21.10",
"machineID": "bd6671f674d549828e2eb9967e126403",
"operatingSystem": "linux",
"osImage": "CentOS Linux 7 (Core)",
"systemUUID": "4AF1EFAB-FBC0-4CBE-B91D-54119CE8A6AF"
}
}
}
],
"kind": "NodeList",
"metadata": {
"resourceVersion": "3963248"
}
}
返回体说明
名称 | 类型 | 描述 |
---|---|---|
apiVersion | string | 查看公共参数 |
kind | string | 查看公共参数 |
metadata | object | 查看公共参数 |