项目简介
本项目是基于Go语言开发的Kubernetes水平自动扩缩容训练系统。借助Kubernetes集群的弹性伸缩能力,运用基于数据的深度学习方法,有效改善K8s水平自动扩缩容的效果。项目包含服务管控、数据收集、模型训练、模型应用和扩缩容执行等多个模块,同时配备构建K8s资源的工具以及一键启动和构建脚本。
项目的主要特性和功能
- 服务管控模块:管理系统元信息,提供对外交互接口。
- 数据收集模块:采用开源的kube - prometheus方案,可灵活增删待监控服务,配置Grafana看板。
- 模型训练模块:自动从Prometheus拉取任务,触发模型训练与更新。
- 模型应用模块:周期性推理模型预测服务下一周期的QPS值,具备训练和推理脚本检查功能。
- 扩缩容执行模块:依据QPS值计算服务下一周期的Pod数量并调整,提供临界QPS测试功能。
- K8s资源构建工具:收录各模块在K8s集群中需构建的资源定义。
- 一键启动及构建脚本:可一键启动minikube集群并部署本系统,执行前需确保docker守护进程在后台运行。
安装使用步骤
- 环境准备:确保已安装并运行minikube或Kubernetes集群,同时安装好必要的开发环境。
- 构建和部署:运行
bootstrap.sh
脚本,完成一键启动和构建操作。 - 运行和测试:部署完成后,利用提供的测试服务进行功能和性能测试。
- 分析和优化:根据测试结果开展性能分析和模型优化,调整配置参数以提升自动扩缩容效果。
注:以上步骤假设用户已下载本项目的源码文件,并按文档和脚本操作。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】