9.3. 使用注解 PersistentVolumeClaim 启用重新声明空间操作

使用此流程来注解 PersistentVolumeClaim,以便它可以根据给定的调度自动调用重新声明空间操作。

reclaimspace.csiaddons.openshift.io/schedule: "@midnight"

流程

  1. 获取持久卷声明(pvc)详细信息。

    $ oc get pvc data-pvc

    例如:

    NAME      STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS                          AGE
    data-pvc  Bound    pvc-f37b8582-4b04-4676-88dd-e1b95c6abf74   1Gi        RWO            ocs-storagecluster-ceph-rbd           20h
  2. 将注解 reclaimspace.csiaddons.openshift.io/schedule: "@midnight"' 添加到 PVC 以创建 reclaimspacecronjob

    $ oc annotate pvc data-pvc "reclaimspace.csiaddons.openshift.io/schedule=@midnight"

    例如:

    persistentvolumeclaim/data-pvc annotated
  3. 验证 reclaimspacecronjob 是否已创建,格式为 "<pvc-name>-xxxxxxx"

    $ oc get reclaimspacecronjobs.csiaddons.openshift.io

    例如:

    NAME                    SCHEDULE    SUSPEND   ACTIVE   LASTSCHEDULE   AGE
    data-pvc-1642663516   @midnight                                     3s
  4. 修改计划,使其自动运行此任务。

    $ oc annotate pvc data-pvc "reclaimspace.csiaddons.openshift.io/schedule=*/1 * * * *" --overwrite=true

    例如:

    persistentvolumeclaim/data-pvc annotated
  5. 验证 reclaimspacecronjob 的调度是否已修改。

    $ oc get reclaimspacecronjobs.csiaddons.openshift.io

    例如:

    NAME                  SCHEDULE    SUSPEND   ACTIVE   LASTSCHEDULE   AGE
    data-pvc-1642664617   */1 * * * *                                   3s

这个示例提供以下详情:

  • 新创建的 ReclaimSpaceCronJob 的名称为 data-pvc-1642664617
  • schedule 设置重复操作的 和/或间隔,请参阅 Kubernetes CronJob 以了解调度格式。
  • 如果调度值为空或无效格式,则默认的调度值被设置为 "@weekly"
注意

schedule 被修改时,ReclaimSpaceCronJob 会被重新创建,当注解被删除时会被删除。