Kubernetes 在cronjob和pod之间共享数据

Kubernetes 在cronjob和pod之间共享数据,kubernetes,persistent-volumes,kubernetes-pvc,kubernetes-cronjob,Kubernetes,Persistent Volumes,Kubernetes Pvc,Kubernetes Cronjob,现在我有一个cronjob可以下载数据,我想将它共享到另一个容器中,该容器在上传新数据时对数据进行处理。我想知道在没有任何外部服务的情况下,是否有办法在cronjob pod和我的主pod之间共享这些数据 我尝试创建一个持久卷和持久卷声明来共享数据,但是当cronjob下载数据时,即使卷已装入,它也不会出现在另一个pod中 apiVersion: batch/v1beta1 kind: CronJob metadata: name: download spec: concurrency

现在我有一个cronjob可以下载数据,我想将它共享到另一个容器中,该容器在上传新数据时对数据进行处理。我想知道在没有任何外部服务的情况下,是否有办法在cronjob pod和我的主pod之间共享这些数据

我尝试创建一个持久卷和持久卷声明来共享数据,但是当cronjob下载数据时,即使卷已装入,它也不会出现在另一个pod中

apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: download
spec:

  concurrencyPolicy: Forbid
  suspend: false 

  schedule: "* * * * *"
  jobTemplate:
    spec:

      template:
        spec:
          volumes:
            - name: downloaded-data-claim
              persistentVolumeClaim:
                claimName: downloaded-data-claim

#container and image is here where it downloads
然后吊舱安装音量

      volumes:
        - name: downloaded-data-claim 
          presistentVolumeClaim: 
            claimName: downloaded-data-claim
        - name: output
          emptyDir: {}

      containers:

        - name: "rand"
          image: <filler>
          imagePullPolicy: <filler>
          volumeMounts:
            - name: downloaded-data-claim 
              mountPath: /input
            - name: output  
              mountPath: /output  
          resources:
卷:
-名称:下载的数据声明
预设卷目标:
claimName:下载的数据声明
-名称:输出
emptyDir:{}
容器:
-名称:“兰德”
图片:
政策:
体积数量:
-名称:下载的数据声明
装载路径:/input
-名称:输出
挂载路径:/output
资源:

确保在正确的名称空间中创建了CronJob,即pod和pv所在的位置。 如果您有权访问您希望存储数据的目录,请注意

事实上,我认为除了使用外部服务之外,没有其他可能性。 最有用的是nfs卷。但也有基于服务和外部nfs服务器的。 NFS代表网络文件系统–它是一个可以通过网络访问的共享文件系统。
NFS必须已经存在–Kubernetes不运行NFS,只需访问其中的pod即可。

确保在正确的命名空间中创建了CronJob,即pod和pv所在的位置。 如果您有权访问您希望存储数据的目录,请注意

事实上,我认为除了使用外部服务之外,没有其他可能性。 最有用的是nfs卷。但也有基于服务和外部nfs服务器的。 NFS代表网络文件系统–它是一个可以通过网络访问的共享文件系统。 NFS必须已经存在–Kubernetes不运行NFS,只需访问其中的POD即可

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: downloaded-data-claim
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 1Gi
  volumeName: downloaded-data
      volumes:
        - name: downloaded-data-claim 
          presistentVolumeClaim: 
            claimName: downloaded-data-claim
        - name: output
          emptyDir: {}

      containers:

        - name: "rand"
          image: <filler>
          imagePullPolicy: <filler>
          volumeMounts:
            - name: downloaded-data-claim 
              mountPath: /input
            - name: output  
              mountPath: /output  
          resources: