【问题标题】:K8S Cronjob PVC cleanupK8S Cronjob PVC 清理
【发布时间】:2022-01-02 03:24:34
【问题描述】:

我有一种情况,我正在尝试创建一个 Kubernetes CronJob 来进行一些数据处理。在执行处理时,我需要使用外部存储来临时存储数据(因为它对于节点本身来说太大了),所以我使用集群上的 StorageClass 创建了一个 PVC。这反过来又在 AWS 上动态配置 EBS 卷,在我的集群上配置 PV,我的 Job 运行,使用 PVC/PV/EBS 卷,一切看起来都很好。

问题是我不想在作业完成后保留这个EBS Volume,但是我需要一个新的用于下一次执行(假设这个CronJob每月执行一次,持续大约30分钟)。如果我在作业完成后删除 PVC 本身,PV/EBS 卷将按预期删除,但下一个 CronJob 将失败,因为该卷不再存在。

我看到的一个可能的解决方案是让 CronJob 运行一个 Pod:

  • 动态创建用于本月执行的 PVC
  • 动态创建一个单独的作业,该作业使用此 PVC 运行我的原始数据处理
  • 等待动态作业结束并删除 PVC

虽然我认为上述方法可以解决我的问题,但我很想知道是否有更优雅的解决方案来解决我所缺少的这个问题?

【问题讨论】:

  • 您使用的是哪个版本的 Kubernetes,gohm'c 的回答对您有帮助吗?

标签: kubernetes amazon-ebs kubernetes-pvc kubernetes-cronjob


【解决方案1】:

可以考虑使用EFS;您可以远离创建/删除/重新创建周期,每个 pod 都可以有自己的dynamic access point。以及其他好处,例如在 EFS 上预填充静态数据以供重复使用、多可用区。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-29
    • 2021-11-30
    • 2018-11-02
    • 2020-11-06
    相关资源
    最近更新 更多