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选项亦可在子命令中生效,列表如下: