【问题标题】:Helm timeout for cronjob with a persistent volume具有持久卷的 cronjob 的 Helm 超时
【发布时间】:2022-01-06 08:17:55
【问题描述】:

我在 AWS EKS 中有一个需要持久卷的 Kubernetes cron 作业,所以这大致就是我所拥有的:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name:  pvc-{{$.Release.Name}}-tmp
spec:
  accessModes:
    - ReadWriteOnce
  volumeMode: Filesystem
  resources:
    requests:
      storage: 10Gi 

然后挂载到一个cronjob(挂载部分正确,如下图)

所有都使用 Helm 进行部署,并且新的部署超时,因为 PVC 保持在 Pending 状态并显示消息 waiting for the first consumer to be created before binding。如果在部署期间我基于 cron 作业创建了一个新作业,则 PVC 会立即绑定,并且此操作和所有后​​续部署都按预期工作。

是否可以在没有需要它的 pod 的情况下“急切”地进行 PVC 绑定,或者最好不要在图表安装期间等待它被绑定?

【问题讨论】:

    标签: kubernetes kubernetes-helm amazon-eks kubernetes-pvc


    【解决方案1】:

    您使用的存储类是什么?存储类具有volumeBindingMode 属性,用于控制如何动态创建 PV。

    volumeBindingMode 可以是ImmediateWaitForFirstConsumer 模式。

    要检查存储类,您可以使用kubectl get storageclasskubectl describe storageclass。如果未在 K8 PVC 定义中指定,将使用默认存储类。

    参考资料:

    【讨论】:

    • 集群中只有一个存储类,现在尝试使用Immediate 模式添加一个新的。
    猜你喜欢
    • 1970-01-01
    • 2022-01-11
    • 2019-08-11
    • 2020-02-06
    • 2021-01-30
    • 1970-01-01
    • 1970-01-01
    • 2019-01-30
    • 1970-01-01
    相关资源
    最近更新 更多