公司内部数据计算Kubeflow平台,主要做ML模型训练和运行jupyter notebook。项目利用terraform 管理基础设施建设,实现gitops原理,服务构建在gcp云上,利用弹性扩容技术充分发挥服务的伸缩性。第二版公司采用docker+kubernetes作为测试、生产环境架构,主要是实现pyspark、tensorflow模型和airflow容器化,实现模型应用的高可用和自愈功能。
实现流程:
1. 使用terraform+packer作为实现基础Linux应用镜像的构建
2. 编写terraform+ansible实现服务器应用的部署、启动、定时备份和还原
3. 使用bigquery+R fluent服务实现日志采集分析,并用terraform构建alerting实现邮件告警通知
4. 全过程使用jenkins pipeline+gitlab webhook实现CICD自动构建
5. 使用terraform构建GPU服务器,并自动安装对应版本的cuda+cudnn
6. 编写Dockerfile构建pyspark、jupyterhub、pytorch应用镜像(基础镜像->公共库镜像->应用镜像),并定时清理过期镜像
7. 编写kubernetes的efk、traefik、prometheus、dashboard、storageclass等yaml实现功能
8. 实现jenkins kubernetes项目CICD流程
9. kubernetes测试、生产环境应用部署、测试、上线