基于K8S的opoenstack私有云平台的设计与实现

收藏关注不迷路!!

🌟文末获取源码+数据库🌟

感兴趣的可以先收藏起来,还有大家在毕设选题(免费咨询指导选题),项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人


前言

💗博主介绍:✨全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,专注于Java/Python/小程序app/深度学习等计算机设计,主要对象是咱们计算机相关专业的大学生,希望您们都能前途无量!✨💗

👇🏻 精彩专栏 推荐订阅👇🏻

计算机毕业设计设计精品实战案例

感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人

  

程序资料获取

🌟文末获取资料🌟

一、项目技术

开发语言:Java
框架:springboot
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven

————————————————

二、项目内容和功能介绍

  🎈1.项目内容

  基于K8S的opoenstack私有云平台的监测系统通过对Web应用服务器运行情况的分析统计系统的建设以实现服务器运行数据监控与分析功能。私有云平台是web应用正常运行的核心,为了确保这些网站的稳定运行,势必需要做好对网站服务器的监控。做好对服务器运行的各类异常、服务的运行状态进行及时的监控预警工作,可以帮助网站管理员及时修复一些服务器潜在异常状态,及时处理和修复服务器问题。通过对服务器监控与分析系统的充分研究,结合自身技术储备情况,设计并开发了一套基于SpringBoot后台框架、Mybaits数据库映射框架、以MySQL为底层数据库,利用Bootstrap作为前端布局的私有云平台监控和分析系统。完成了对opoenstack私有云平台的需求分析、功能模块实现的划分、SpringBoot的框架搭建、数据库关系分析与设计以及编码的实现。
opoenstack私有云平台前台主要功能有服务器资源管理功能、实时日志分析监控管理、主机功能、进程管理、Mysql数据源监控管理、服务器接口监控、监控预警、监控分析看板功能等等。通过opoenstack私有云平台可以将各个服务器相关的软件硬件数据持久化到Mysql数据库,通过分析监控各个服务器或者主机的运行情况。

  🎈2.功能介绍

  用户和管理员操作流程分为以下五个步骤:
1.用户可以管理私有云平台数据的主机分类、分类下的指标。首页有异常监测播放,用户可以通过点击进入私有云平台链接浏览某个主机私有云平台的具体信息。用户可以根据关键字搜索私有云平台数据。
2.用户可在线录入自己所在的主机的私有云平台数据,在私有云平台详情界面可以监测等等。
3.用户通过录入主机私有云平台数据,对主机进行在线预警。
4.服务器运行员根据不同情况对指标分析,对异常私有云平台进行报警通知。
5.用户买家对自己预警的私有云平台私有云平台数据进行邮件处理,然后进行上报。
总之,系统的私有云平台分析平台模块主要有私有云平台上报,私有云平台日数据编辑以及日数据删除功能,主机分类管理,私有云平台指标数据管理如指标数据删除,异常指标处理等等,私有云平台上报管理,用户管理,异常监测管理,私有云平台报警管理等等。

在这里插入图片描述

三、核心代码

部分代码:

package com.controller;


import java.util.Arrays;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.ConfigEntity;
import com.service.ConfigService;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;

/**
 * 登录相关
 */
@RequestMapping("config")
@RestController
public class ConfigController{
	
	@Autowired
	private ConfigService configService;

	/**
     * 列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,ConfigEntity config){
        EntityWrapper<ConfigEntity> ew = new EntityWrapper<ConfigEntity>();
    	PageUtils page = configService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, config), params), params));
        return R.ok().put("data", page);
    }
    
	/**
     * 列表
     */
    @IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,ConfigEntity config){
        EntityWrapper<ConfigEntity> ew = new EntityWrapper<ConfigEntity>();
    	PageUtils page = configService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, config), params), params));
        return R.ok().put("data", page);
    }

    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        ConfigEntity config = configService.selectById(id);
        return R.ok().put("data", config);
    }
    
    /**
     * 详情
     */
    @IgnoreAuth
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") String id){
        ConfigEntity config = configService.selectById(id);
        return R.ok().put("data", config);
    }
    
    /**
     * 根据name获取信息
     */
    @RequestMapping("/info")
    public R infoByName(@RequestParam String name){
        ConfigEntity config = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile"));
        return R.ok().put("data", config);
    }
    
    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody ConfigEntity config){
//    	ValidatorUtils.validateEntity(config);
    	configService.insert(config);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody ConfigEntity config){
//        ValidatorUtils.validateEntity(config);
        configService.updateById(config);//全部更新
        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
    	configService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}



数据库参考


 Date: 25/12/2023 21:11:06
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for affinity_toleration
-- ----------------------------
DROP TABLE IF EXISTS `affinity_toleration`;
CREATE TABLE `affinity_toleration`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `customized_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '名称',
  `app_id` bigint(20) NULL DEFAULT NULL COMMENT '应用编号',
  `env_id` bigint(20) NULL DEFAULT NULL COMMENT '环境编号',
  `scheduling_type` tinyint(4) NULL DEFAULT 0 COMMENT '调度类型,1:节点亲和,2:节点容忍,3:副本亲和,4:副本反亲和',
  `affinity_level` tinyint(4) NULL DEFAULT 0 COMMENT '亲和程度,1:硬亲和,2:软亲和',
  `weight` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '权重值',
  `key_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '键',
  `operator` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '操作符,值:equal、in、notin、exists、doesnotexist、gt、lt',
  `value_list` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '值,格式:值1,2',
  `topology_key` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '拓扑域,如:kubernetes.io/hostname',
  `effect_type` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '作用类型,值:noschedule、prefernoschedule、noexecute',
  `duration` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '容忍时长,单位:秒',
  `open_status` tinyint(4) NULL DEFAULT 1 COMMENT '启用状态,0:禁用,1:启用',
  `remark` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',
  `creation_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
  `update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '修改时间',
  `deletion_status` tinyint(4) NULL DEFAULT 0 COMMENT '删除状态,0:未删除,1:已删除',
  PRIMARY KEY (`id`) USING BTREE,
  INDEX `index_affinity_toleration_env_id`(`env_id`) USING BTREE,
  INDEX `index_affinity_toleration_update_time`(`update_time`) USING BTREE
) ENGINE = MyISAM AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '亲和容忍配置' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of affinity_toleration
-- ----------------------------

-- ----------------------------
-- Table structure for app
-- ----------------------------
DROP TABLE IF EXISTS `app`;
CREATE TABLE `app`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '应用编号',
  `app_name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '应用名称',
  `tech_type` tinyint(4) NULL DEFAULT 0 COMMENT '技术类型,1:springboot,2:node',
  `base_image_source` tinyint(4) NULL DEFAULT 0 COMMENT '基础镜像来源,1:版本号,2:自定义',
  `base_image_version` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '基础镜像版本',
  `base_image` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '基础镜像',
  `code_repo_path` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '代码仓库路径',
  `affinity_app_name` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '亲密应用名称,格式:应用1,应用2',
  `first_department` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '一级部门',
  `second_department` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '二级部门',
  `third_department` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '三级部门',
  `description` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '应用描述',
  `ext` varchar(8192) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '每种语言的扩展信息,json结构',
  `creation_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
  `update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '修改时间',
  `deletion_status` tinyint(4) NULL DEFAULT 0 COMMENT '删除状态,0:未删除,1:已删除',
  PRIMARY KEY (`id`) USING BTREE,
  INDEX `index_app_app_name`(`app_name`) USING BTREE,
  INDEX `index_app_update_time`(`update_time`) USING BTREE
) ENGINE = MyISAM AUTO_INCREMENT = 1736391483911421955 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '应用信息' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of app
-- ----------------------------
INSERT INTO `app` VALUES (1736391483911421954, 'sfas', 2, 1, '1.23', '', 'CO-IN', '', '技术部', '开发二部', '架构平台组', 'sfas应用', '{\"nodeVersion\":\"v14.0\",\"npmVersion\":\"v14.0\",\"compileType\":1,\"packageTargetPath\":\"dist/\"}', '2023-12-17 22:22:45', '2023-12-17 22:22:45', 0);

-- ----------------------------
-- Table structure for app_env
-- ----------------------------
DROP TABLE IF EXISTS `app_env`;
CREATE TABLE `app_env`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `app_id` bigint(20) NULL DEFAULT NULL COMMENT '应用编号',
  `cluster_id` bigint(20) NULL DEFAULT NULL COMMENT '集群编号',
  `namespace_name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '部署命名空间',
  `env_name` varchar(8) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '环境名称,如:开发、测试、预发、生产等',
  `tag` varchar(8) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '标签,如:dev、qa、pl、ol等',
  `deployment_order` tinyint(4) NULL DEFAULT 0 COMMENT '部署序号(值越小越往前)',
  `min_replicas` int(11) NULL DEFAULT 1 COMMENT '最小副本数',
  `max_replicas` int(11) NULL DEFAULT 0 COMMENT '最大副本数',
  `replica_cpu` int(11) NULL DEFAULT 0 COMMENT '每副本cpu,单位m',
  `replica_memory` int(11) NULL DEFAULT 0 COMMENT '每副本内存,单位mb',
  `auto_scaling_cpu` int(11) NULL DEFAULT 0 COMMENT '自动扩容,cpu使用率',
  `auto_scaling_memory` int(11) NULL DEFAULT 0 COMMENT '自动扩容,内存使用率',
  `required_deploy_approval` tinyint(4) NULL DEFAULT 0 COMMENT '是否需要部署审批,0:否,1:是',
  `required_merge` tinyint(4) NULL DEFAULT 0 COMMENT '是否需要合并分支,0:否,1:是',
  `service_port` int(11) NULL DEFAULT NULL COMMENT '服务端口',
  `minor_ports` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '辅助端口,如:8081,8082',
  `trace_status` int(11) NULL DEFAULT 0 COMMENT '链路追踪状态,0:未开启,1:已开启',
  `trace_template_id` bigint(20) NULL DEFAULT NULL COMMENT '链路追踪模板编号',
  `ingress_host` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '访问域名',
  `description` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '环境描述',
  `ext` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '每种技术类型的扩展信息,json结构',
  `deployment_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '部署时间',
  `creation_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
  `update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '修改时间',
  `deletion_status` tinyint(4) NULL DEFAULT 0 COMMENT '删除状态,0:未删除,1:已删除',
  PRIMARY KEY (`id`) USING BTREE,
  INDEX `index_env_app_id`(`app_id`) USING BTREE,
  INDEX `index_env_update_time`(`update_time`) USING BTREE,
  INDEX `index_trace_template_id`(`trace_template_id`) USING BTREE
) ENGINE = MyISAM AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '应用环境' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of app_env
-- ----------------------------

-- ----------------------------
-- Table structure for app_info
-- ----------------------------
DROP TABLE IF EXISTS `app_info`;
CREATE TABLE `app_info`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `HOST_NAME` char(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `APP_PID` char(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CREATE_TIME` timestamp(0) NULL DEFAULT NULL,
  `APP_NAME` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CPU_PER` double(8, 2) NULL DEFAULT NULL,
  `MEM_PER` double(10, 2) NULL DEFAULT NULL,
  `APP_TYPE` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `STATE` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of app_info
-- ----------------------------

-- ----------------------------
-- Table structure for app_member
-- ----------------------------
DROP TABLE IF EXISTS `app_member`;
CREATE TABLE `app_member`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `app_id` bigint(20) NULL DEFAULT NULL COMMENT '应用编号',
  `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户编号',
  `login_name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '登录名',
  `role_type` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '存储格式:1,2,3,角色类型,1:管理员,2:开发,3:测试,4:运维,5:架构师,6:告警接收:7:部署审批',
  `creation_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
  `update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '修改时间',
  `deletion_status` tinyint(4) NULL DEFAULT 0 COMMENT '删除状态,0:未删除,1:已删除',
  PRIMARY KEY (`id`) USING BTREE,
  INDEX `index_app_member_app_id`(`app_id`) USING BTREE,
  INDEX `index_app_member_user_id`(`user_id`) USING BTREE,
  INDEX `index_app_member_login_name`(`login_name`) USING BTREE,
  INDEX `index_app_member_update_time`(`update_time`) USING BTREE
) ENGINE = MyISAM AUTO_INCREMENT = 1736391483911421956 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '应用成员' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of app_member
-- ----------------------------
INSERT INTO `app_member` VALUES (1736391483911421955, 1736391483911421954, 1, 'admin', '1', '2023-12-17 22:22:45', '2023-12-17 22:22:45', 0);

-- ----------------------------
-- Table structure for app_state
-- ----------------------------
DROP TABLE IF EXISTS `app_state`;
CREATE TABLE `app_state`  (
  `ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `APP_INFO_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `CPU_PER` double(8, 2) NULL DEFAULT NULL,
  `MEM_PER` double(10, 2) NULL DEFAULT NULL,
  `CREATE_TIME` timestamp(0) NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE,
  INDEX `APP_STAT_INDEX`(`APP_INFO_ID`, `CREATE_TIME`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;


四、效果图

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

五 、资料获取

文章下方名片联系我即可~

精彩专栏推荐订阅:在下方专栏👇🏻

毕业设计精品实战案例

收藏关注不迷路!!

🌟文末获取设计🌟

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_1406299528

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值