1 简介
在整个的运维环节中,对产品的持续构建(CI)持续部署(CD)伴随着产品的整个生命周期。 一个运行良好的运维系统可以辅助提升运营效率,达到持续运营(CO)的效果。OPEN-C3为解决CI/CD/CO而生。
1.1 名字的由来
对于运维来说,CI/CD很容易理解,就是持续的构建,持续的发布。但是对于Open-C3来说,我们想做的更多,运维不仅是要持续的构建持续的发布应用。还需要监控业务的状态,在业务异常时候作出相应的调整。或者根据业务的需求进行业务部署的调整。系统运维的工具平台能为业务运营提供工具和平台的支持。举个游戏行业的例子,比如对于游戏的运营,运营团队根据在线人数等数据,可能会做出决策,需要开一个新的区域。 这时就可以通过平台里面编排的流程进行一键的创建。这就是运维工具为运营提供了支持。所以我们CO的概念。
CI/CD/CO 我们称之为C3, 同时3有“多”的意思。我们希望可以持续的做一些事情。包括C3这个项目本身,希望可以持续的做下去。
1.2 适合的读者
本文主要是对运维和运维开发的人员讲解Open-C3的功能和使用方式。如果你正考虑在一个新的企业环境中构建一个自动化运维平台,如果你正考虑使用Open-C3,那么这个指南正合适指导你一步一步的进行安装和使用。
1.3 阅读方式
Open-C3中的功能太过复杂,我们在github中存放了使用手册,但是不熟悉Open-C3的初始用户,可能感觉无从下手。该指南最为主要的功能,就是告诉用户,在一个新企业中,怎么一步一步的把Open-C3安装、配置、使用起来。在能讲明白这个的事情之上,才会做一些更深入的探讨。
除了第一章,后面的章节都是按照顺序进行的,最好按照顺序阅读和实施,这样更容易理解。
1.4 功能概览
Open-C3提供了一个完整的自动化运维平台,下面具体讲解每个模块的主要功能和职责。
1.4.1 CMDB
I ) CMDB主要功能:
1)提供一个完整的记录企业资源/资产的数据库
-
支持的公有云但不限于:AWS、腾讯云、华为云、阿里云、谷歌云、金山云。
-
私有云: OpenStack
-
IDC资源: 主机、数据库
2)提供搜索功能
-
模糊全局搜索,比如搜索一个IP
-
根据不同的过滤条件过滤资源
3)提供时间机器功能,可以选择回看历史记录
4)提供资源的一些常规操作:
-
给资源打标签(tags)
-
给资源添加备注
-
查看资源监控信息【跳转到监控系统页面打开对应资源的监控】
-
查看资源详情
5)提供服务树分组功能
- 服务树是Open-C3中是一个很重要的概念,资源、监控策略、发布流水线、权限等都是跟服务树进行关联。
6)给其它子系统提供数据
- 给监控系统和发布系统提供资源分组
II) 次要功能:
1)提供服务分析能力
- CMDB中包含中包含了企业基础所有的资源列表和详情。可以跟进这个内容生成调用关系。
2)为第三方系统提供接口
- 给堡垒机提供资源列表
1.4.1.3 界面截图:
(CMDB资源概览)
(CMDB服务分析图)
1.4.2 监控系统
I ) 主要功能:
1)支持监控常规资源:主机、Mysql、Redis、MongoDB
- 除了常规指标,还支持自定义进程、端口等监控
2)支持云监控:阿里云、华为云、AWS、谷歌云、腾讯云 等。
3)支持kubernetes监控
4)支持根据服务树纬度查看资源看板
5)提供告警处理功能
-
提供页面显示当前告警列表
-
告警认领、告警屏蔽、告警升级功能
II ) 次要功能:
1)支持其他类型监控,如: ssl证书过期、域名监控
III ) 界面截图:
(主机监控图)
(数据库监控图)
(kubernetes集群监控图)
(当前告警页面)
(告警消息)
1.4.3 发布系统
I ) 主要功能:
1)支持发布流水线,支持传统主机发布、支持Kubernetes应用发布
-
支持主机分批发布
-
支持一键回滚
2)发布过程有支持审批步骤
II ) 界面截图:
(某个服务树的流水线列表)
(单个流水线)
1.4.4 故障自愈
I ) 主要功能:
1)支持监控告警和作业进行关联,起到告警触发修复作业的作用。
II ) 界面截图:
(故障自愈触发列表页)
1.4.5 工单
I ) 主要功能:
1)支持工单的生命周期管理:工单创建、分配、处理、关闭。
2)支持消息通知。
II ) 界面截图:
(工单首页)
(工单提交页面)
1.4.6 BPM流程
I ) 主要功能:
1)自动化流程支持创建云资源或者修改云资源配置:
-
腾讯云: CVM、CLB、Mysql 等
-
AWS: EC2、SQS 等
-
谷歌云:VM、LB 等
2)流程过程支持审批
3)流程系统支持对接工单
II ) 界面截图:
(流程提交页面)
1.4.7 成本优化
I ) 主要功能:
1)自动识别低利用率资源
-
主机: 主机利用率、磁盘利用率
-
AWS: RDS、Redis、ALB、ELB、NLB, AWS磁盘卷
-
腾讯云: CLB、Redis
-
华为云:RDS、Redis
2)添加费用计算功能,计算服务树费用、资源费用
- 支持: 华为云、AWS
II ) 界面截图:
(低利用率资源查看页面)
1.5 开源说明
Open-C3使用GNU许可(GNU General Public License,简称GPL),可以自由使用。允许任何人自由运行、研究、分享和修改。