删除指定的集群
请求信息
请求行
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 |