You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何删除采用Recreate更新策略的OpenShift Deployment?

解决Deployment删除后自动重建的问题

当你删除Deployment后它自动重建,本质是存在更高层级的控制器(比如OpenShift的DeploymentConfig、Operator、持续部署工具等)在管控这个Deployment的生命周期,单纯删除Deployment只会触发控制器重新创建它。针对你的场景,可按以下步骤处理:

1. 定位触发重建的根源

执行命令查看Deployment的关联信息,重点关注Owner References和Events字段,找到管控它的父资源:

kubectl describe deployment workspace036c85e5c44e4207

OpenShift环境中,大概率是DeploymentConfig在管理该Deployment——OpenShift的DeploymentConfig会自动生成并维护对应的Deployment实例。

2. 根据根源执行删除操作

情况1:由DeploymentConfig管控

直接删除对应的DeploymentConfig即可(可通过kubectl get deploymentconfigs查询实际名称):

kubectl delete deploymentconfig <对应DeploymentConfig名称>

该操作会连带删除它管控的Deployment、ReplicaSet和Pod。

情况2:由Operator或持续部署工具(如ArgoCD、Tekton)管控

  • 先在对应工具的界面或配置中,移除对该Deployment的管控(比如在ArgoCD中删除关联的Application);
  • 再执行删除Deployment的命令:
kubectl delete deployment workspace036c85e5c44e4207

情况3:临时强制删除(仅应急使用)

若暂时无法定位根源,可强制删除Deployment并清理关联的ReplicaSet:

# 级联删除Deployment及关联的ReplicaSet
kubectl delete deployment workspace036c85e5c44e4207 --cascade=foreground
# 清理残留的ReplicaSet(如有需要)
kubectl delete replicaset workspace036c85e5c44e4207-697d66f7c4

补充说明

Deployment的Recreate更新策略仅影响Pod的更新方式(先删除旧Pod再启动新Pod),和删除后自动重建无直接关联——自动重建的核心原因是存在其他资源在管控Deployment的生命周期。

内容的提问来源于stack exchange,提问作者Mohammad Jumah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 02:07:07