littlebot
Published on 2025-04-09 / 0 Visits
0

【源码】基于Go语言的Kubernetes水平自动扩缩容训练系统

项目简介

本项目是基于Go语言开发的Kubernetes水平自动扩缩容训练系统。借助Kubernetes集群的弹性伸缩能力,运用基于数据的深度学习方法,有效改善K8s水平自动扩缩容的效果。项目包含服务管控、数据收集、模型训练、模型应用和扩缩容执行等多个模块,同时配备构建K8s资源的工具以及一键启动和构建脚本。

项目的主要特性和功能

  1. 服务管控模块:管理系统元信息,提供对外交互接口。
  2. 数据收集模块:采用开源的kube - prometheus方案,可灵活增删待监控服务,配置Grafana看板。
  3. 模型训练模块:自动从Prometheus拉取任务,触发模型训练与更新。
  4. 模型应用模块:周期性推理模型预测服务下一周期的QPS值,具备训练和推理脚本检查功能。
  5. 扩缩容执行模块:依据QPS值计算服务下一周期的Pod数量并调整,提供临界QPS测试功能。
  6. K8s资源构建工具:收录各模块在K8s集群中需构建的资源定义。
  7. 一键启动及构建脚本:可一键启动minikube集群并部署本系统,执行前需确保docker守护进程在后台运行。

安装使用步骤

  1. 环境准备:确保已安装并运行minikube或Kubernetes集群,同时安装好必要的开发环境。
  2. 构建和部署:运行bootstrap.sh脚本,完成一键启动和构建操作。
  3. 运行和测试:部署完成后,利用提供的测试服务进行功能和性能测试。
  4. 分析和优化:根据测试结果开展性能分析和模型优化,调整配置参数以提升自动扩缩容效果。

注:以上步骤假设用户已下载本项目的源码文件,并按文档和脚本操作。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】