删除指定的集群
请求信息
请求行
DELETE /apis/platform.tkestack.io/v1/clusters/{name}
删除一个集群。
请求行参数
名称 | 类型 | 是否必填项 | 描述 |
---|---|---|---|
name | string | 是 | 集群的名称。 |
请求参数
名称 | 类型 | 是否必填项 | 描述 |
---|---|---|---|
dryRun | string | 否 | 当该参数出现时,表示不应该持久化修改。一个无效的或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:All,将处理所有的试运行阶段。 |
gracePeriodSeconds | integer | 否 | 对象被删除之前的宽限期,单位:秒。值必须是非负整数。值 0 表示立即删除。如果该值为 nil,则将使用指定类型的默认宽限期。 |
orphanDependents | boolean | 否 | 已弃用:请使用 PropagationPolicy,此字段将在 1.7 中弃用。 是否应该孤立依赖对象。 如果为 true / false,则将 “orphan” 终结器添加到对象的终结器列表中/从该列表中删除。 可以设置此字段或 PropagationPolicy,但不能同时设置。 |
propagationPolicy | string | 否 | 是否以及如何执行垃圾回收。 可以设置此字段或 OrphanDependents,但不能两者都设置。 默认策略由 meta.finalizers 中设置的现有终结器和特定于资源的默认策略决定。 可接受的值为:Orphan,孤立; Background,允许垃圾收集器在后台删除依赖项; Foreground,一种级联策略,删除前台中的所有依赖项。 |
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) | 否 |
表示对象被删除之前的持续时间(以秒为单位)。 值必须是非负整数。零值表示立即删除。如果此值为 nil,则将使用指定类型的默认宽限期。如果未指定,则为每个对象的默认值。
字段路径:gracePeriodSeconds |
kind | string | 否 | 查看公共参数 |
orphanDependents | boolean | 否 |
已弃用:该字段将在 1.7 中弃用,请使用 propagationPolicy 字段。 该字段表示依赖对象是否为孤儿对象(Orphan)。如果为 true/false,对象的 finalizers 列表中会被添加上或者移除掉 “orphan” 终结器(Finalizer)。 可以设置此字段或者设置 propagationPolicy 字段,但不能同时设置以上两个字段。
字段路径:orphanDependents |
preconditions | object | 否 |
执行操作(更新、删除等)之前必须满足前提条件。
字段路径:preconditions |
preconditions.resourceVersion | string | 否 |
指定目标资源版本。
字段路径:preconditions.resourceVersion |
preconditions.uid | string | 否 |
指定目标 UID。
字段路径:preconditions.uid |
propagationPolicy | string | 否 |
表示是否以及如何执行垃圾收集。可以设置此字段或 orphanDependents 字段,但不能同时设置二者。 默认策略由 metadata.finalizers 中现有终结器(Finalizer)集合和特定资源的默认策略决定。 可接受的值为: Orphan - 令依赖对象成为孤儿对象;Background -允许垃圾收集器在后台删除依赖项;Foreground - 一个级联策略,前台删除所有依赖项。
字段路径:propagationPolicy |
返回信息
Content-Type
application/json
,
application/yaml
,
application/vnd.kubernetes.protobuf
状态码: 200
OK
返回体示例
Kubernetes 集群。
{
"apiVersion": "platform.tkestack.io/v1",
"kind": "Cluster",
"metadata": {
"annotations": {
"cpaas.io/container-runtime": "docker://20.10.7",
"cpaas.io/network-type": "kube-ovn",
"kube-ovn.cpaas.io/join-cidr": "100.64.0.0/16",
"kube-ovn.cpaas.io/transmit-type": "overlay",
"platform.tkestack.io/galaxy-ipam-ip": "10.7.0.8",
"platform.tkestack.io/gpu-quota-admission-ip": "10.7.0.9"
},
"creationTimestamp": "2021-09-23T02:14:22Z",
"deletionTimestamp": "2021-10-12T03:54:02Z",
"labels": {
"cluster-type": "Baremetal",
"cpaas.io/arch": "amd64",
"cpaas.io/arch-amd64": "true",
"cpaas.io/node-arch-constraint": "amd64",
"cpaas.io/region-component": "deploying"
},
"managedFields": [
{
"apiVersion": "platform.tkestack.io/v1",
"fieldsType": "FieldsV1",
"fieldsV1": {
"f:metadata": {
"f:annotations": {
".": {},
"f:cpaas.io/container-runtime": {},
"f:cpaas.io/network-type": {},
"f:kube-ovn.cpaas.io/join-cidr": {},
"f:kube-ovn.cpaas.io/transmit-type": {}
},
"f:labels": {
".": {},
"f:cpaas.io/node-arch-constraint": {}
}
},
"f:spec": {
"f:clusterCIDR": {},
"f:displayName": {},
"f:features": {
"f:enableMasterSchedule": {},
"f:ha": {
".": {},
"f:thirdParty": {
".": {},
"f:vip": {},
"f:vport": {}
}
},
"f:ipvs": {},
"f:upgrade": {
"f:mode": {},
"f:strategy": {
"f:drainNodeBeforeUpgrade": {},
"f:maxUnready": {}
}
}
},
"f:networkDevice": {},
"f:serviceCIDR": {},
"f:type": {},
"f:version": {}
},
"f:status": {
"f:phase": {}
}
},
"manager": "Mozilla",
"operation": "Update",
"time": "2021-09-23T02:14:22Z"
},
{
"apiVersion": "platform.tkestack.io/v1",
"fieldsType": "FieldsV1",
"fieldsV1": {
"f:metadata": {
"f:labels": {
"f:cluster-type": {},
"f:cpaas.io/arch": {},
"f:cpaas.io/arch-amd64": {},
"f:cpaas.io/region-component": {}
}
}
},
"manager": "cluster-transformer",
"operation": "Update",
"time": "2021-09-23T02:23:14Z"
},
{
"apiVersion": "platform.tkestack.io/v1",
"fieldsType": "FieldsV1",
"fieldsV1": {
"f:metadata": {
"f:annotations": {
"f:platform.tkestack.io/galaxy-ipam-ip": {},
"f:platform.tkestack.io/gpu-quota-admission-ip": {}
}
},
"f:spec": {
"f:clusterCredentialRef": {
".": {},
"f:name": {}
}
},
"f:status": {
"f:addresses": {
".": {},
"k:{\"type\":\"Advertise\"}": {
".": {},
"f:host": {},
"f:path": {},
"f:port": {},
"f:type": {}
},
"k:{\"type\":\"Real\"}": {
".": {},
"f:host": {},
"f:path": {},
"f:port": {},
"f:type": {}
}
},
"f:clusterCIDR": {},
"f:conditions": {
".": {},
"k:{\"type\":\"EnsureCNI\"}": {
".": {},
"f:lastProbeTime": {},
"f:lastTransitionTime": {},
"f:status": {},
"f:type": {}
},
"k:{\"type\":\"EnsureCleanupCluster\"}": {
".": {},
"f:lastProbeTime": {},
"f:lastTransitionTime": {},
"f:status": {},
"f:type": {}
},
"k:{\"type\":\"EnsureCleanupScript\"}": {
".": {},
"f:lastProbeTime": {},
"f:lastTransitionTime": {},
"f:status": {},
"f:type": {}
},
"k:{\"type\":\"EnsureClusterComplete\"}": {
".": {},
"f:lastProbeTime": {},
"f:lastTransitionTime": {},
"f:status": {},
"f:type": {}
},
"k:{\"type\":\"EnsureContainerRuntime\"}": {
".": {},
"f:lastProbeTime": {},
"f:lastTransitionTime": {},
"f:status": {},
"f:type": {}
},
"k:{\"type\":\"EnsureCopyFiles\"}": {
".": {},
"f:lastProbeTime": {},
"f:lastTransitionTime": {},
"f:status": {},
"f:type": {}
},
"k:{\"type\":\"EnsureCreateClusterMark\"}": {
".": {},
"f:lastProbeTime": {},
"f:lastTransitionTime": {},
"f:status": {},
"f:type": {}
},
"k:{\"type\":\"EnsureGPUManager\"}": {
".": {},
"f:lastProbeTime": {},
"f:lastTransitionTime": {},
"f:status": {},
"f:type": {}
},
"k:{\"type\":\"EnsureInitMaster\"}": {
".": {},
"f:lastProbeTime": {},
"f:lastTransitionTime": {},
"f:status": {},
"f:type": {}
},
"k:{\"type\":\"EnsureJoin\"}": {
".": {},
"f:lastProbeTime": {},
"f:lastTransitionTime": {},
"f:status": {},
"f:type": {}
},
"k:{\"type\":\"EnsureKubeNode\"}": {
".": {},
"f:lastProbeTime": {},
"f:lastTransitionTime": {},
"f:status": {},
"f:type": {}
},
"k:{\"type\":\"EnsureKubeconfig\"}": {
".": {},
"f:lastProbeTime": {},
"f:lastTransitionTime": {},
"f:status": {},
"f:type": {}
},
"k:{\"type\":\"EnsureNodeHostname\"}": {
".": {},
"f:lastProbeTime": {},
"f:lastTransitionTime": {},
"f:status": {},
"f:type": {}
},
"k:{\"type\":\"EnsureNvidiaDevicePlugin\"}": {
".": {},
"f:lastProbeTime": {},
"f:lastTransitionTime": {},
"f:status": {},
"f:type": {}
},
"k:{\"type\":\"EnsurePostClusterInstallHook\"}": {
".": {},
"f:lastProbeTime": {},
"f:lastTransitionTime": {},
"f:status": {},
"f:type": {}
},
"k:{\"type\":\"EnsurePostInstallHook\"}": {
".": {},
"f:lastProbeTime": {},
"f:lastTransitionTime": {},
"f:status": {},
"f:type": {}
},
"k:{\"type\":\"EnsurePreClusterInstallHook\"}": {
".": {},
"f:lastProbeTime": {},
"f:lastTransitionTime": {},
"f:status": {},
"f:type": {}
},
"k:{\"type\":\"EnsurePreInstallHook\"}": {
".": {},
"f:lastProbeTime": {},
"f:lastTransitionTime": {},
"f:status": {},
"f:type": {}
},
"k:{\"type\":\"EnsurePrepareNode\"}": {
".": {},
"f:lastProbeTime": {},
"f:lastTransitionTime": {},
"f:status": {},
"f:type": {}
},
"k:{\"type\":\"EnsureRenewCertsService\"}": {
".": {},
"f:lastProbeTime": {},
"f:lastTransitionTime": {},
"f:status": {},
"f:type": {}
},
"k:{\"type\":\"EnsureRenewFirstMasterCerts\"}": {
".": {},
"f:lastProbeTime": {},
"f:lastTransitionTime": {},
"f:status": {},
"f:type": {}
},
"k:{\"type\":\"EnsureStoreCredential\"}": {
".": {},
"f:lastProbeTime": {},
"f:lastTransitionTime": {},
"f:status": {},
"f:type": {}
},
"k:{\"type\":\"EnsureUpdateCISConfiguration\"}": {
".": {},
"f:lastProbeTime": {},
"f:lastTransitionTime": {},
"f:status": {},
"f:type": {}
},
"k:{\"type\":\"EnsureWaitClusterModuleReady\"}": {
".": {},
"f:lastProbeTime": {},
"f:lastTransitionTime": {},
"f:message": {},
"f:reason": {},
"f:status": {},
"f:type": {}
}
},
"f:dnsIP": {},
"f:message": {},
"f:nodeCIDRMaskSize": {},
"f:reason": {},
"f:serviceCIDR": {}
}
},
"manager": "tke-platform-controller",
"operation": "Update",
"time": "2021-10-12T03:43:10Z"
}
],
"name": "chaolei",
"resourceVersion": "41882549",
"selfLink": "/apis/platform.tkestack.io/v1/clusters/chaolei",
"uid": "465c36c6-0648-4df0-8248-60729a8d617c"
},
"spec": {
"clusterCIDR": "10.3.0.0/16",
"clusterCredentialRef": {
"name": "cc-hd286fs5"
},
"displayName": "chaolei",
"dnsDomain": "cluster.local",
"etcd": {
"local": {
"dataDir": "",
"serverCertSANs": [
"etcd"
]
}
},
"features": {
"enableMasterSchedule": true,
"ha": {
"thirdParty": {
"vip": "192.168.130.82",
"vport": 6443
}
},
"ipvs": true,
"skipConditions": [
"EnsureNvidiaDriver",
"EnsureMetricsServer"
],
"upgrade": {
"mode": "Auto",
"strategy": {
"drainNodeBeforeUpgrade": false,
"maxUnready": 0
}
}
},
"finalizers": [
"cluster"
],
"networkDevice": "eth0",
"properties": {
"maxNodePodNum": 256
},
"serviceCIDR": "10.7.0.0/16",
"tenantID": "",
"type": "Baremetal",
"version": "1.21.4"
},
"status": {
"addresses": [
{
"host": "192.168.130.82",
"path": "",
"port": 6443,
"type": "Real"
},
{
"host": "192.168.130.82",
"path": "",
"port": 6443,
"type": "Advertise"
}
],
"clusterCIDR": "10.3.0.0/16",
"conditions": [],
"dnsIP": "10.7.0.10",
"message": "",
"nodeCIDRMaskSize": 24,
"phase": "Terminating",
"reason": "",
"resource": {},
"serviceCIDR": "10.7.0.0/16",
"version": ""
}
}
返回体说明
名称 | 类型 | 描述 |
---|---|---|
apiVersion | string | 查看公共参数 |
kind | string | 查看公共参数 |
metadata | object | 查看公共参数 |
spec | object |
集群的描述。
字段路径:spec |
spec.clusterCIDR | string |
容器网络的子网地址(CIDR 格式),例如:10.1.0.0/16,该地址应与节点子网不同。集群创建时的 Pod 可使用该网段内的 IP。
字段路径:spec.clusterCIDR |
spec.clusterCredentialRef | object |
LocalObjectReference 包含了足够多的从相同的命名空间中下载参考对象的信息。
字段路径:spec.clusterCredentialRef |
clusterCredentialRef.name | string |
引用对象的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
字段路径:spec.clusterCredentialRef.name |
spec.displayName | string |
集群的显示名称。
字段路径:spec.displayName |
spec.dnsDomain | string |
DNSDomain 是被 k8s Service 使用的 DNS 域名。默认为 "cluster.local"。
字段路径:spec.dnsDomain |
spec.etcd | object |
Etcd 包含了描述 Etcd 配置的元素。
字段路径:spec.etcd |
etcd.local | object |
LocalEtcd 描述了 kubeadm 应该在本地运行 etcd 集群。
字段路径:spec.etcd.local |
local.dataDir | string |
DataDir 是 etcd 存放数据的目录。默认为“/var/lib/etcd”。
字段路径:spec.etcd.local.dataDir |
local.serverCertSANs | array |
ServerCertSANs 为 etcd 服务器签名证书设置额外的域名。
字段路径:spec.etcd.local.serverCertSANs |
local.serverCertSANs[] | string |
字段路径:spec.etcd.local.serverCertSANs[] |
spec.features | object |
ClusterFeature 记录了集群启用的特性。
字段路径:spec.features |
features.enableMasterSchedule | boolean |
是否允许将应用调度到控制节点上。
字段路径:spec.features.enableMasterSchedule |
features.ha | object |
字段路径:spec.features.ha |
ha.thirdParty | object |
字段路径:spec.features.ha.thirdParty |
thirdParty.vip | string |
第三方 HA(Highly Available) 的虚拟 IP。
字段路径:spec.features.ha.thirdParty.vip |
thirdParty.vport | integer (int32) |
第三方 HA(Highly Available) 的虚拟端口。
字段路径:spec.features.ha.thirdParty.vport |
features.ipvs | boolean |
Ipvs 开关。
字段路径:spec.features.ipvs |
features.skipConditions | array |
SkipConditions 是一系列需要被跳过的状态。
字段路径:spec.features.skipConditions |
features.skipConditions[] | string |
字段路径:spec.features.skipConditions[] |
features.upgrade | object |
字段路径:spec.features.upgrade |
upgrade.mode | string |
升级模式,默认值为 Auto。
字段路径:spec.features.upgrade.mode |
upgrade.strategy | object |
用于控制升级过程的策略。
字段路径:spec.features.upgrade.strategy |
strategy.drainNodeBeforeUpgrade | boolean |
升级前是否逐出节点上的 Pod。如果你的 Pod 不能接受被逐出当前节点,这个值应该是 false。
字段路径:spec.features.upgrade.strategy.drainNodeBeforeUpgrade |
strategy.maxUnready | string (int-or-string) |
IntOrString 是一种可以保存 int32 或 string 的类型。当在 JSON 或 YAML 编组和解组中使用时,它会生成或使用内部类型。例如,这允许您拥有一个可以接受名称或数字的 JSON 字段。
字段路径:spec.features.upgrade.strategy.maxUnready |
spec.finalizers | array |
终结器是一个内部的值列表,必须为空才能从存储中永久删除对象。
字段路径:spec.finalizers |
spec.finalizers[] | string |
字段路径:spec.finalizers[] |
spec.networkDevice | string |
网卡设备。
字段路径:spec.networkDevice |
spec.properties | object |
ClusterProperty 记录了集群的属性信息。
字段路径:spec.properties |
properties.maxNodePodNum | integer (int32) |
节点上允许调度的最大 Pod 数。
字段路径:spec.properties.maxNodePodNum |
spec.serviceCIDR | string |
Kubernetes Service 的网络地址范围(CIDR 格式),例如:10.96.0.0/12,不可与 Cluster CIDR 的网段重叠。与 MaxClusterServiceNum 互斥。
字段路径:spec.serviceCIDR |
spec.tenantID | string |
租户 ID。
字段路径:spec.tenantID |
spec.type | string |
集群类型,自建或接入。
字段路径:spec.type |
spec.version | string |
集群的版本。
字段路径:spec.version |
status | object |
ClusterStatus 代表集群状态的信息。
字段路径:status |
status.addresses | array |
可到达集群的地址列表。
字段路径:status.addresses |
status.addresses[] | object |
ClusterAddress 包含了集群地址的信息。
字段路径:status.addresses[] |
addresses[].host | string |
集群地址。
字段路径:status.addresses[].host |
addresses[].path | string |
集群地址的 IP 地址或域名。
字段路径:status.addresses[].path |
addresses[].port | integer (int32) |
集群地址端口号。
字段路径:status.addresses[].port |
addresses[].type | string |
集群地址的类型,包括 Public、ExternalIP、InternalIP。
字段路径:status.addresses[].type |
status.clusterCIDR | string |
ClusterCIDR 是容器网络的子网地址(CIDR 格式),例如:10.1.0.0/16,该地址应与节点子网不同。集群创建时的 Pod 可使用该网段内的 IP。
字段路径:status.clusterCIDR |
status.conditions | array |
集群的执行进度。
字段路径:status.conditions |
status.dnsIP | string |
域名的 IP。
字段路径:status.dnsIP |
status.message | string |
指示集群为什么在当前条件的可读详细信息。
字段路径:status.message |
status.nodeCIDRMaskSize | integer (int32) |
节点的 CIDR 掩码大小。
字段路径:status.nodeCIDRMaskSize |
status.phase | string |
集群的执行进度阶段。
字段路径:status.phase |
status.reason | string |
指示集群为什么在当前状态的简短 CamelCase 信息。
字段路径:status.reason |
status.resource | object |
ClusterResource 记录了集群的当前可用的最大资源配额信息。
字段路径:status.resource |
status.serviceCIDR | string |
Kubernetes Service 的网络地址范围(CIDR 格式),例如:10.96.0.0/12,不可与 Cluster CIDR 的网段重叠。与 MaxClusterServiceNum 互斥。
字段路径:status.serviceCIDR |
status.version | string |
集群版本。
字段路径:status.version |