带有 Kubernetes 持久卷的 SCDF 中的计划任务

Scheduled task in SCDF with Kubernetes persistent volume

我正在尝试 运行 在 minikube 上的 SCDF 中执行任务。此任务从数据库中提取数据并将它们写入文件。因此,我使用在 Kubernetes Dashboard 中配置的本地持久卷来获取我的文件。 当我 运行 使用部署程序参数进行简单执行时,它工作正常:

deployer.my-task.kubernetes.volumes=[ { name: vol-data, persistentVolumeClaim: {claimName: 'pv-data-claim'}} ]
deployer.my-task.kubernetes.volumeMounts=[ { name: 'vol-data', mountPath: '/data' } ]

当我查看 pod yaml 文件时,我看到了我的卷属性:

spec:   
  volumes:
    - name: vol-data
      persistentVolumeClaim:
        claimName: pv-data-claim

   volumeMounts:
     - name: vol-data
       mountPath: /data

我在执行结束时将文件放在本地目录中。

但是当我尝试使用相同的参数创建计划任务时,它不起作用。我没有在 cronjob yaml 或 cronjob 启动的 pod 中看到我的卷属性,当然我没有得到我的文件。

我错过了什么吗?我在想从 SCDF 启动一个简单的任务或计划任务是一样的

感谢您的帮助

不幸的是,SCDF 中的调度支持还不包括 persistentVolumeClaim 支持 [参见:spring-cloud/spring-cloud-scheduler-kubernetes#21]

我们有一个未解决的问题,可以将调度程序提升到与常规应用程序部署或任务启动相同的级别。欢迎订阅 notifications/updates: spring-cloud/spring-cloud-deployer-kubernetes#331.