项目简介
本项目是部署于Kubernetes集群的MLOps流水线系统。借助Jenkins搭建流水线,利用Seldon部署模型,结合Istio进行网管控制。同时包含Prometheus用于集群性能监控,以及Grafana用于监控数据可视化。
项目的主要特性和功能
- Jenkins流水线:实现模型开发、测试、部署的自动化流程。
- Seldon:用于在Kubernetes上部署和管理机器学习模型,支持多种框架和模型格式。
- Istio:提供微服务管理和网络控制功能,增强服务的可见性、可靠性和安全性。
- Prometheus:对Kubernetes集群进行性能监控,收集各种指标数据。
- Grafana:用于数据可视化,展示Prometheus收集的监控数据,生成图表和看板。
安装使用步骤
前置条件
- 拥有一个Kubernetes集群(推荐使用minikube创建本地集群),确保版本兼容(推荐使用v1.21.4)。
- 安装kubectl、docker、istioctl以及S2I工具。
- 确保硬件满足要求(2核CPU、8G内存)。
部署服务
- 使用项目中的安装脚本在Kubernetes集群中部署各个服务,包括Jenkins、Seldon、Istio、Prometheus和Grafana。
- 根据需要配置各服务,例如Jenkins的配置文件、Seldon的模型部署配置等。
示例代码
项目中的example文件夹提供了一个kdd99_dagmm示例,包括一个深度学习模型(PytorchModel)的测试脚本(test_model.py)。这个示例展示了如何在MLOps流水线上进行测试、部署和归档。
使用注意事项
- 在使用模型前,确保已经加载了预训练的模型权重。
- 根据实际数据集调整模型的输入和输出处理部分。
- 根据实际需求配置Istio的网络控制策略。
- 监控数据可能需要一些时间才能开始在Prometheus和Grafana中显示。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】