记录k8s中误安装traefik后,job与pods频繁重建,且卡住无法删除。

📝 Rancher HelmChart 资源清理排查清单

现象:误安装traefik后,不再使用,便依次删除traefik的pods、job、configmap,发现没有用,删除后仍然被依次创建,最终在helmchart中解除Finalizers限制后,依次删除helmchart中的traefik资源,问题解决。

适用场景:Rancher 集群中,Traefik 等资源删除后job和pod自动重建,或 HelmChart 删除命令卡住。

🔍 一、问题识别

如果出现以下现象,即可判定为此类问题:

删除 traefik 相关的 Job/Pod/Secret 后,过一段时间会自动重建。

执行 kubectl delete helmchart.helm.cattle.io 命令时卡住,无法正常退出。

查看 HelmChart 配置时,发现包含 wrangler.rio.io/on-helm-chart-remove 这类 Finalizers。

🛠️ 二、根源排查步骤

定位关联的 HelmChart 资源

bash 复制代码
# 运行
kubectl get helmcharts.helm.cattle.io -A | grep -i traefik

输出会显示类似 traefik 和 traefik-crd 的资源,以及它们所在的命名空间(通常是 kube-system)。

检查 HelmChart 的 Finalizers 配置

bash 复制代码
# 运行
kubectl get helmchart.helm.cattle.io traefik -n kube-system -o yaml | grep -A 10 finalizers

如果输出包含wrangler.rio.io/on-helm-chart-remove ,则确认是该终结器导致删除卡住。

🎯 三、完整清理步骤

按顺序执行,确保彻底解决问题:

移除 HelmChart 的 Finalizers(核心操作)

bash 复制代码
# 处理 traefik
kubectl patch helmchart.helm.cattle.io traefik -n kube-system -p '{"metadata":{"finalizers":[]}}' --type=merge
# 处理 traefik-crd
kubectl patch helmchart.helm.cattle.io traefik-crd -n kube-system -p '{"metadata":{"finalizers":[]}}' --type=merge

删除 HelmChart 资源

bash 复制代码
kubectl delete helmchart.helm.cattle.io traefik -n kube-system
kubectl delete helmchart.helm.cattle.io traefik-crd -n kube-system

验证自动清理效果

bash 复制代码
kubectl get all,secrets,configmaps -n kube-system | grep -i traefik

等待 2-3 分钟,Rancher 控制器会自动清理所有关联资源:

手动清理残留(可选)

如果仍有零星资源残留,可强制删除:

bash 复制代码
kubectl delete job,secret,configmap -n kube-system -l app=traefik --force --grace-period=0

🔄 四、恢复 Finalizers(如需)

如果仅临时移除 Finalizers 但未删除资源,后续想恢复限制,可执行:

bash 复制代码
# 恢复 traefik 的 Finalizers
kubectl patch helmchart.helm.cattle.io traefik -n kube-system -p '{"metadata":{"finalizers":["wrangler.rio.io/on-helm-chart-remove"]}}' --type=merge
# 恢复 traefik-crd 的 Finalizers
kubectl patch helmchart.helm.cattle.io traefik-crd -n kube-system -p '{"metadata":{"finalizers":["wrangler.rio.io/on-helm-chart-remove"]}}' --type=merge

⚠️ 五、关键注意事项

  1. 操作顺序:必须先移除 Finalizers,再删除 HelmChart,否则删除命令会卡住。
  2. 自动清理:删除 HelmChart 后,关联的 Job/Pod/Secret 会被 Rancher 控制器自动清理,无需手动删除。
  3. 验证重要性:清理完成后务必执行验证命令,确保没有资源残留或自动重建。
  4. 避免误删:所有命令都明确指定了 traefik 相关资源,不会影响集群中其他服务。
相关推荐
Java面试题总结8 分钟前
Linux-Ubantu-贴士-apt的地盘
linux·运维·服务器
志栋智能19 分钟前
超自动化巡检:提升MTTR,缩短业务影响时间
运维·自动化
kong@react1 小时前
Rocky Linux 10.2 全面解析:企业级 CentOS 替代方案及保姆级docker安装
java·linux·运维·docker
凡人叶枫1 小时前
Effective C++ 条款07:为多态基类声明 virtual 析构函数
linux·c语言·开发语言·c++
睡不醒男孩0308231 小时前
第八篇:如何构建一站式 PostgreSQL 性能优化与智能管控平台?从盲目排查到 CLup 自动化运维演进
运维·postgresql·性能优化
凡人叶枫2 小时前
Effective C++ 条款10:令 operator= 返回一个 reference to *this
java·linux·服务器·开发语言·c++·effective c++
某林2122 小时前
Isaac Sim 5.1.0 无头服务器部署与 RTX 显存段错误排障全记录
运维·服务器·docker·容器·isaac
|_⊙2 小时前
Linux 中断
linux
m0_738120722 小时前
Docker 环境下 Vulfocus 靶场搭建全流程(附镜像源问题解决方案)
运维·服务器·网络·安全·docker·容器
二等饼干~za8986682 小时前
2026 主流 GEO 源码厂商实测:云罗 GEO、摘星智能、棋引科技技术与落地能力对比
大数据·运维·科技