更新时间:2025-04-18 GMT+08:00

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选项列表