Rasa框架配合Kubernetes中StatefulSet完成训练数据的更新操作

在之前的博客《部署Rasa框架到Kubernetes集群并分配GPU资源》中,我们成功在k8s集群中部署了rasa框架。这一节我们来看看如何结合statefulset对这个部署进行改进。

我是T型人小付,一位坚持终身学习的互联网从业者。喜欢我的博客欢迎在csdn上关注我,如果有问题欢迎在底下的评论区交流,谢谢。

改进方向

之前我们通过Deployment的方式去部署的Rasa框架,但是这样有个很明显的问题,除非对Deployment更换image,不然很难将训练的模型更新到框架中,每次测试都要生成新的image,很不方便。于是准备

  • 在本地弄一个目录,和容器的/app目录进行一个volume映射,直接更新本地目录就达到了更新容器模型的目的,便于快速测试
  • 而且因为Rasa不支持热更新模型(也许是我没发现怎么热更新),每次更新完模型需要重新起一下容器,这个过程需要确保新模型不会被删除

综合以上两点需求,发现Statefulset可以圆满完成任务。

实际操作

以下的yaml文件都放在了我的Github仓库

创建pv

因为我这个集群只有一台GPU的node被设置来分配pod,本来想试试能不能直接在node上搞一个目录类似volume一样做为pv,后来发现这种操作已经被官方文档给否决

HostPath (Single node testing only – local storage is not supported in any way and WILL NOT WORK in a multi-node cluster)

于是老老实实按照之前使用的NFS方法,单独搞了台机器弄了三个目录过来

root@control-plane-1:~# showmount -e 172.29.56.177
Export list for 172.29.56.177:
/share/nfs3 172.29.0.0/16
/share/nfs2 172.29.0.0/16
/share/nfs1 172.29.0.0/16

NFS操作可以参考《Centos7搭建NFS文件共享服务器以及客户端连接》

同时创建出3个pv来

root@control-plane-1:~# kubectl get pv
NAME           CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS      CLAIM   STORAGECLASS   REASON   AGE
test-pv-nfs1   5Gi        RWO            Retain           Available           gold                    6s
test-pv-nfs2   8Gi        RWO            Retain           Available           gold                    6s
test-pv-nfs3   10Gi       RWO            Retain           Available           gold                    6s

NFS创建PV操作可以参考《【Kubernetes 014】持久存储PersistentVolume原理以及配合StatefulSet实现有状态服务实际操作详解》

创建statefulset

创建yaml文件rasa-statefulset-noinit.yaml如下

apiVersion: v1
kind: Service
metadata:
  name: rasa-headless-service
  namespace: default
  labels:
    app: rasa-headless
spec:
  type: ClusterIP
  clusterIP: None  #<-- Careful
  selector:
    app: rasa-reception
  ports:
    - name: http
      port: 5005
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值