cachecloud:支持Redis多种架构的云管理平台
读完需 6 分钟
速读需 3 分钟
简述
随着对运维工作的不断深入,平台化逐渐成为我们对各组件的主要管理手段,如ELK、Zabbix、JumpServer等,在此我们特推荐CacheCloud平台。
https://github.com/sohutv/cachecloud
CacheCloud是一个Redis云管理平台:支持Redis多种架构(Standalone、Sentinel、Cluster)高效管理、有效降低大规模redis运维成本,提升资源管控能力和利用率。平台提供快速搭建/迁移,运维管理,弹性伸缩,统计监控,客户端整合接入等功能。
功能架构及规模
1.功能架构
Redis搭建:环境初始化、实例部署安装、类型架构支持;
客户端接入:Java-SDK接入、客户端监控、其他语言接入;
运维管理:宿主环境、资源管理、应用审计、应用运维、应用质量监控、应用拓扑诊断;
弹性伸缩:资源评估、垂直伸缩、水平伸缩、外部接入;
统计监控:指标采集、应用统计、节点统计、机器统计、监控报警、问题诊断;
2.使用规模
400亿+ commands/day
15T+ Memory Total
300+ app Total / 3000+ Instances Total
200+ Machines Total
快速接入
”快速接入“ 帮我们快速启动cachecloud中台,并创建一个应用。从下图中可以看到cachecloud如何使用及管理流程:
管理平台主要用于资源管理、用户请求审批、应用的创建与审批;
用户平台主要用于用户申请、应用申请及客户端的接入;
1
准备工作
1.CacheCloud环境需求
JDK 7+
Maven 3
MySQL 5.5
Redis 3
2.war包准备
下载war包:cachecloud-web.war
也可以clone源码
//clone项目
git clone https://github.com/sohutv/cachecloud.git
//打包
mvn clean package
2
初始化数据库
导入项目中cachecloud.sql初始化库表结构,默认插入admin超级管理员。
创建数据库:
url: jdbc:mysql://xxx:3306/cachecloud_open
user: 用户名
password: 密码
导入建表文件:/cachecloud-open/cachecloud-web/sql/cc2.0.sql
3
启动工程
准备配置文件:application-open.yml,放到war包同目录下。
#配置应用名称
spring:
application:
name: cloud.cachecloud-web.open
#配置数据库
cachecloud:
primary: #mysql数据库
url: jdbc:mysql://xxx:3306/cachecloud_open
user: 用户名
password: 密码
redis: #配置cachecloud-web需要的redis,用户存储任务流日志,可稍后配置
main:
host: 127.0.0.1
port: 6379
password:
#配置访问端口,默认8080
server:
port: 8080
启动工程
//启动web工程
nohup java -jar -Dspring.profiles.active=open cachecloud-web.war &
访问web:http://localhost:8080/manage/login 使用默认管理员账户登录:用户名 admin 密码 admin。
4
系统初始化
系统已有默认配置,通过对系统配置页面可以动态修改系统的一些配置,例如ssh的相关信息,客户端版本信息,机器报警阀值,文档地址、maven仓库、手机和邮件报警、值班联系人配置等等,具体示意图如下:
5
创建用户
新用户注册:http://localhost:8080/user/register 提交用户注册申请。
管理员审核(http://localhost:8080/manage/app/auditList)通过后,用户可登录/使用系统。
6
资源准备
1.cachecloud-init.sh脚本准备
初始化环境变量
创建用户;
创建默认redis路径并授权;
默认安装"redis-3.0.7" "redis-3.2.12" "redis-4.0.14" "redis-5.0.9";
注意:Redis6.0及以上版本需要依赖操作系统gcc4.9.0以上版本编译
@usage: sh cachecloud-init.sh [username]
2.执行脚本
采用”用户名/密码“或“公钥”两种授权方式,请确保机器的用户名/密码与cachecloud后台”系统配置“页面的”机器ssh用户名/机器ssh密码“一致。
使用root登录目标服务器;
将cachecloud-init.sh脚本拷贝到目标服务器当前用户目录下/opt ;
执行 sh cachecloud-init.sh ${username},默认username="cachecloud-open";
两次确认密码;
一路安装直到成功。
3.添加机器
将刚准备好资源的机器添加到cachecloud中台:http://localhost:8080/manage/machine/index?tabTag=machine
7
创建应用
1.申请应用
用户申请应用http://localhost:8080/admin/app/init。
申请后由管理员审批:http://localhost:8080/manage/app/auditList,需点击”审批处理“。
2.部署应用
点击”生成部署预览“,确认拓扑无误,点击”开始部署“,跳转到应用部署任务流。
通过:等待应用部署成功后,在审批页点击”通过“,就此应用开通成功。此时就可以进行客户端接入了。
(提示:任务流日志是存储在redis中的,即项目启动时配置文件application-open.yml中的cachecloud.redis信息)
总结
CacheCloud将运维过程中的各种Redis架构集中管理、按需分配,大大节省了运维的成本;而且友好的管理界面、全面的统计监控提升了运维的管理效率。如此优雅的方案,我们可以将其应用提上工作日程了。
你与世界
只差一个
公众号