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

如何修复OpenShift Tekton任务中rm资源繁忙无法删除工作空间错误?

解决Tekton流水线中cleanup任务的"rm: can't remove '/workspace/source': Resource busy"错误

错误含义

这个错误说明你要删除的/workspace/source目录正被当前进程占用,无法执行删除操作。你的cleanup任务里设置了workingDir: $(workspaces.source.path),意味着执行rm命令的shell进程当前工作目录就是这个要删除的目录——系统不允许删除一个正在被进程作为当前工作目录的路径,因此抛出"资源繁忙"的提示。

解决方案

方法1:修改任务的工作目录

把执行rm命令的工作目录切换到非目标目录(比如/tmp),这样就不会因为进程占用目标目录而无法删除:

---
apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
  name: cleanup
spec:
  description: This task will clean up a workspace by deleting all the files
  workspaces:
    - name: source
  steps:
    - name: remove
      image: alpine:3
      env:
        - name: WORKSPACE_SOURCE_PATH
          value: $(workspaces.source.path)
      workingDir: /tmp  # 切换到临时目录执行删除操作
      securityContext:
        runAsNonRoot: false
        runAsUser: 0
      script: |
        set -eu
        echo "Removing all files from ${WORKSPACE_SOURCE_PATH} ..."
   
        if [ -d "${WORKSPACE_SOURCE_PATH}" ] ; then
          rm -rf "${WORKSPACE_SOURCE_PATH:?}"
        fi

方法2:删除目录内的内容而非目录本身

如果不需要删除目录,只需要清空其中的文件,可以修改rm命令只删除目录下的所有内容,保留目录本身:

---
apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
  name: cleanup
spec:
  description: This task will clean up a workspace by deleting all the files
  workspaces:
    - name: source
  steps:
    - name: remove
      image: alpine:3
      env:
        - name: WORKSPACE_SOURCE_PATH
          value: $(workspaces.source.path)
      workingDir: $(workspaces.source.path)
      securityContext:
        runAsNonRoot: false
        runAsUser: 0
      script: |
        set -eu
        echo "Removing all files from ${WORKSPACE_SOURCE_PATH} ..."
   
        if [ -d "${WORKSPACE_SOURCE_PATH}" ] ; then
          rm -rf "${WORKSPACE_SOURCE_PATH:?}"/*  # 仅删除目录内的所有内容
        fi

方法3:检查流水线的任务执行顺序

如果你的流水线中存在其他任务和cleanup任务并行使用同一个source workspace,也会导致目录被占用。确保cleanup任务在所有依赖该workspace的任务(比如你的nose任务)执行完成后串行运行,避免资源冲突。

内容的提问来源于stack exchange,提问作者Sarah Pinheiro

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 10:32:44