9.3. 使用 ReclaimSpaceCronJob 启用重新声明空间操作
ReclaimSpaceCronJob
根据给定的调度(如每天、每周等)调用重新声明空间操作。您必须只为持久性卷声明创建 ReclaimSpaceCronJob
一次。CSI-addons 控制器在请求的时间和带有 schedule 属性的间隔创建一个 ReclaimSpaceJob
。
注意
-
推荐的调度间隔为
@weekly
。 -
每个调度的操作之间的最小间隔应至少为 24 小时。例如,
@daily
(At 00:00)或 "0 3 * *" (At 3:00 每天)。 - 在非高峰、维护窗口或工作负载输入/输出应低时调度 ReclaimSpace 操作。
流程
创建并应用以下自定义资源以回收空间操作
apiVersion: csiaddons.openshift.io/v1alpha1 kind: ReclaimSpaceCronJob metadata: name: reclaimspacecronjob-sample spec: jobTemplate: spec: target: persistentVolumeClaim: data-pvc schedule: '@weekly' concurrencyPolicy: Forbid
其中,
concurrencyPolicy
-
描述当
ReclaimSpaceJob
调度到ReclaimSpaceCronJob
时的更改,而之前的ReclaimSpaceJob
仍然在运行。默认Forbid
可防止启动新的作业,而 replace 可用于删除可能处于故障状态的正在运行的作业,并创建一个新的作业。 failedJobsHistoryLimit
-
指定为故障排除保留失败的
ReclaimSpaceJobs
数量。 jobTemplate
-
指定 ReclaimSpaceJob.spec 结构,用于描述请求的
ReclaimSpaceJob
操作的详情。 successfulJobsHistoryLimit
-
指定成功
ReclaimSpaceJob
操作的数量。 调度
- 指定重复操作请求的 和/或间隔,其格式与 Kubernetes CronJob 相同。
-
在执行重新声明空间操作时,删除
ReclaimSpaceCronJob
自定义资源,或者删除目标 PVC。