首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建用于模型再培训和推理的ML管道[Kubernetes]

问如何创建用于模型再培训和推理的ML管道[Kubernetes]
EN

Stack Overflow用户
提问于 2021-07-30 08:01:49
回答 1查看 121关注 0票数 0

我正在做一个任务,我需要设计一个ML管道,以便对Kubernetes进行模型再培训和推断。

我阅读了一些文章和一些教程,在此帮助下,我创建了两个应用程序,如下所述

  • 对于模型再培训,我已经安排了一个CronJob (Flask App #1)
  • 为了推断,我创建了一个单独的烧瓶应用程序(Flask App #2)。

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

我是库伯奈特斯的新手,任何建议都会有很大帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-02 14:55:26

我们可以使用Google 、库伯奈特体积和Kubernetes持久性数量索赔来做到这一点。

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

  1. 使用以下gcloud命令在GCP上创建标准持久磁盘, gcloud计算磁盘创建pd名称大小为500 g类型的pd标准区域us-集中区1-c
  2. 然后使用上面的PD和持久性卷声明创建一个Kubernetes持久卷,这样,豆荚就可以使用以下配置请求持久卷上的存储,

config.yaml:

代码语言:javascript
复制
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配置部署克隆约伯,并使用以下配置将当前时间和日期写入存储在PV上的文本文件中,

Cronjob.yaml:

代码语言:javascript
复制
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

配置Pod以使用PersistentVolume进行存储获取更多信息。

  1. 部署一个具有相同PVC配置的Pod,以检查是否可以使用以下配置通过这个吊舱看到由Cronjob添加的数据,

Readpod.yaml:

代码语言:javascript
复制
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. 然后使用库贝克尔主管命令将一个shell发送到上面Pod上正在运行的容器,方法是使用以下命令,我们应该能够查看cronjob更新时间和日期的文本文件。 $ kubectl exec -it readpod - /bin/bash $ cd usr/data $ cat msg.txt

您可以使用上述概念并根据您的用例修改配置。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68587432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档