如何为模型再训练和推理创建ML管道[Kubernetes]



我正在研究一项任务,我需要设计一个ML管道,用于Kubernetes上的模型再训练和推理

我读了一些文章,看了一些教程,在它们的帮助下,我创建了2个应用程序,如下所述

  • 对于模型再训练,我已经安排了一个CronJob (Flask App #1)
  • 对于推理,我已经创建了一个单独的flask应用程序(Flask App #2)

我不知道我们如何将最新训练的模型从CronJob转移到推理瓶应用程序

我是Kubernetes的新手,任何建议都会有很大的帮助

我们可以利用Google Persistent DiskKubernetes VolumeandKubernetes Persistent Volume Claim

我尝试复制一个场景,其中Cronjob每次创建Pod时都会用当前时间和日期更新文本文件。然后,我在Cronjob之外创建了一个单独的Pod来访问这个文本文件,并且成功了。以下是我所遵循的步骤,

  1. 使用以下gcloud命令在GCP上创建一个标准持久磁盘,

    gcloud compute disks create pd-name   --size 500G   --type pd-standard   --zone us-central1-c
    
  2. 然后使用上面的PD和一个Persistent Volume Claim创建一个Kubernetes Persistent Volume,以便pod可以使用以下配置请求在Persistent Volume上的存储,

config.yaml:

apiVersion: v1
kind: PersistentVolume
metadata:
name: pv
spec:
storageClassName: "test"
capacity:
storage: 10G
accessModes:
- ReadWriteOnce
claimRef:
namespace: default
name: pv-claim
gcePersistentDisk:
pdName: pd-name
fsType: ext4
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pv-claim
spec:
storageClassName: "test"
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10G  
  1. 使用PVC配置部署一个Cronjob,它使用以下配置将当前时间和日期写入存储在PV上的文本文件中,

Cronjob.yaml:

apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: cron
spec:
schedule: "*/1 * * * *"
jobTemplate:
spec:
template:
spec:
volumes:
- name: pv-storage
persistentVolumeClaim:
claimName: pv-claim
containers:
- name: container
image: nginx
volumeMounts:
- mountPath: "/usr/data"
name: pv-storage
command:
- /bin/sh
- -c
- date >> /usr/data/msg.txt
restartPolicy: OnFailure

Configure a Pod to Use a PersistentVolume for Storage更多信息。

  1. 使用以下配置部署具有相同PVC配置的Pod,以检查由Cronjob Pod添加的数据是否通过该Pod可见,

Readpod.yaml:

kind: Pod
apiVersion: v1
metadata:
name: readpod
spec:
volumes:
- name: pv-storage
persistentVolumeClaim:
claimName: pv-claim
containers:
- name: read-container
image: nginx
volumeMounts:
- mountPath: "/usr/data"
name: pv-storage
  1. 然后使用kubectl exec命令将shell获取到上述Pod上正在运行的容器上,通过使用以下命令,我们应该能够查看cronjob更新时间和日期的文本文件。

    $ kubectl exec -it  readpod -- /bin/bash
    $ cd usr/data
    $ cat msg.txt
    

您可以利用上面的概念,并根据您的用例修改配置。

相关内容

  • 没有找到相关文章

最新更新