
# ccictl delete
#### 操作背景
基于文件名、标准输入、资源和名称，或基于资源和标签选择算符来删除资源。
接受 JSON 和 YAML 格式。只能指定一种类型的参数：文件名、资源加名称，或资源加标签选择算符。
某些资源（如 Pod）支持体面删除。这些资源定义了在强制终止之前的默认时长（宽限期）， 但您可以使用 --grace-period 标志覆盖该值，或传递 --now 将宽限期设置为 1。 由于这些资源通常代表集群中的实体，所以删除可能不会立即得到确认。 如果无法访问 API 服务器，则终止所用的时间可能比宽限期长得多。 要强制删除某资源，您必须指定 --force 标志。 注意：只有一部分资源支持体面删除。如果不支持体面删除，--grace-period 标志将被忽略。
重要提示：强制删除 Pod 不会等待确认 Pod 的进程已被终止， 这可能会导致直到节点检测到删除请求并完成体面删除之前，Pod 中的进程一直继续运行。 只有在您确定 Pod 已被终止或您的应用可以容忍同时运行相同 Pod 的多个副本时，才可以强制删除 Pod。
请注意，删除命令不会检查资源版本，因此如果有人在您提交删除指令时提交了资源更新指令， 他们的更新请求将与剩余的资源一起丢失。
```
ccictl delete ([-f FILENAME] | TYPE [(NAME | -l label | --all)])
```
#### 示例
```
# 使用 pod.json 中指定的类型和名称删除一个 Pod
ccictl delete -f ./pod.json
# 基于目录中的内容删除资源
ccictl delete -f dir/
# 删除所有以 '.json' 结尾的文件中的资源
ccictl delete -f '*.json'
# 基于传递到标准输入的 JSON 中的类型和名称删除一个 Pod
cat pod.json | ccictl delete -f -
# 删除名称为 "baz" 和 "foo" 的 Pod 和 Service
ccictl delete pod,service baz foo
# 删除打了标签 name=myLabel 的 Pod 和 Service
ccictl delete pods,services -l name=myLabel
# 以最小延迟删除一个 Pod
ccictl delete pod foo --now
# 强制删除一个 Pod
ccictl delete pod foo --force
# 删除所有 Pod
ccictl delete pods --all
```
#### 选项
```
--all
```
删除指定资源类型的命名空间中的所有资源。
```
-A, --all-namespaces
```
如果存在，则列举所有命名空间中请求的对象。 即使使用 --namespace 指定，当前上下文中的命名空间也会被忽略。
```
--cascade string[="background"]     默认值："background"
```
必须是 "background"、"orphan" 或 "foreground"。 选择依赖项（例如，由 Deployment 创建的 Pod）的删除级联策略， 默认为 background。
```
--field-selector string
```
过滤所用的选择算符（字段查询），支持 '='、'==' 和 '!='。 （例如 --field-selector key1=value1,key2=value2）。服务器针对每种类型仅支持有限数量的字段查询。
```
-f, --filename strings
```
包含要删除的资源的文件名。
```
--force
```
如果为真，则立即从 API 中移除资源并略过体面删除处理。 请注意，立即删除某些资源可能会导致不一致或数据丢失，并且需要确认操作。
```
--grace-period int     默认值：-1
```
指定给资源的体面终止时间（以秒为单位）。 如果为负数则忽略，为 1 表示立即关闭。 仅当 --force 为真（强制删除）时才可以设置为 0。
```
-h, --help
```
delete 操作的帮助命令。
```
--ignore-not-found
```
将 "resource not found" 视为成功删除。当指定 --all 参数时，默认值为 "true"。
```
--now
```
如果为 true，资源将被标记为立即关闭（等同于 --grace-period=1）。
```
-o, --output string
```
输出模式。使用 "-o name" 以获得更简短的输出（resource/name）。
```
--raw string
```
向服务器发送 DELETE 请求所用的原始 URI。使用 cliconfig 文件中指定的传输方式。
```
-R, --recursive
```
递归处理在 -f、--filename 中给出的目录。当您想要管理位于同一目录中的相关清单时很有用。
```
-l, --selector string
```
过滤所用的选择算符（标签查询），支持 '='、'==' 和 '！='。 （例如 -l key1=value1,key2=value2）。匹配的对象必须满足所有指定的标签约束。
```
--timeout duration
```
放弃删除之前等待的时间长度，为 0 表示根据对象的大小确定超时。
```
--wait     默认值：true
```
如果为 true，则等待资源消失后再返回。此参数会等待终结器被清空。
**ccictl选项亦可在子命令中生效，列表如下：**
[父命令ccictl选项列表](https://support.huaweicloud.com/devg-cci2/ccictl_01.html#ccictl_01__section188081236162119)
