谈谈蓝鲸平台的高可扩展性和高可维护性

腾讯蓝鲸智云,作为业界领先的一套基于PaaS的技术解决方案,它提供了完善的前后台开发框架、调度引擎、公共组件等模块,帮助业务的产品和技术人员快速构建低成本、免运维的支撑工具和运营系统。

嘉为科技作为腾讯蓝鲸核心合作伙伴,在过去的两年间,已基于蓝鲸平台,为几十个企业实现了自动化运维、智能运营的落地,也开始为一些客户实施蓝鲸DevOps解决方案。

平台上线后,企业运维人员利用蓝鲸平台的可扩展性和可维护性,可以快速完成平台架构扩展以满足运维对象增长需求,并仅通过极少量的运维工作,实现平台的持续稳定运行。

在这里,对蓝鲸平台在高可扩展性和高可维护性的特点做些分享。

1、蓝鲸高可扩展性

蓝鲸平台作为核心的一体化研发运营平台,其必然支持完全高可用架构部署。

在已落地的案例中,我们根据不同服务器规模,已有部署少则5台,多达16台管理节点的架构。所以蓝鲸的管理节点是按需调整,非常灵活的。实际上,在腾讯内部,为支撑20万台以上的服务器运维对象,管理节点甚至超过了1000个。

对于标准的中型企业来说(按500-800台服务器举例),可使用如下5个管理节点的规划,所有的组件/角色都具备高可用,确保任何一台蓝鲸节点故障都不会导致服务中断。

表1:蓝鲸企业版资源配置表(5台架构)

1.1 在线的组件和模块横向扩展能力

首先,蓝鲸平台的各个组件、模块均支持水平扩展。

比如,随着管理的服务器对象增加到3000台,我们可以考虑将蓝鲸平台扩展为如下12台架构。

扩展方法:在中控机上可以对各个组件的节点数进行定义和在线远程部署即可。

表2:蓝鲸企业版资源配置表(12台架构)

1.2 横向分组的网络区域扩展能力

其次,蓝鲸平台支持横向分组的网络扩展,实现混合云架构下的统一纳管。

在企业实际环境中,由于各种原因,服务器会部署在不同区域环境,如自建机房、租用机房、公有云、私有云等,环境之间网络无法做到全路由,在这种情况下,蓝鲸平台支持通过横向分组来覆盖不同云区域。

通过在每个区域提供一台带有外网IP的linux主机作为代理(proxy)主机,同区域内其他主机只需要和proxy通信就可以实现跨网络区域管理。

全球化跨云管理

扩展方法:在节点管理中,一键创建云区域。

云区域纳管过程1

任意选择1-2台生产服务器,确保管控平台之间的通讯端口满足管理要求,并设置为Proxy模式,即可将区域的服务器纳管进来。

云区域纳管过程2

1.3 级联的网络区域扩展能力

最后,蓝鲸支持通过级联扩展实现同一网络环境中的复杂网络纳管。

在一个数据中心内部,比如在同一个机房,企业由于网络安全的原因划分了多个逻辑网络,各网段间限制了网络通讯,蓝鲸则可以级联扩展的方式实现管理。

级联管理展示图

级联技术架构图

2、蓝鲸高可维护性

蓝鲸平台采用在内部使用多年的成熟且稳定的架构和组件,还具备自我服务和性能监控功能,完善的故障处理方案,一键式升级脚本,自身维护工作量小。

2.1 APP运行框架免运维托管

蓝鲸平台为运维场景APP提供从创建到部署,再到后续的维护管理的一站式免运维托管服务。运维人员开发的SaaS在平台采用分布式部署方式,一键自动部署,当其中的某一台承载服务器宕机之后,用户请求会被转发到备用服务器之上,保证SaaS工具的高可用。

同时,SaaS部署使用docker进行隔离,提高蓝鲸SaaS安全性。开发者可以主动通过集成平台的日志查看功能来查看日志记录,同时平台提供了日志监控告警服务,开发者可以自行配置相应的告警参数、告警接收人等信息,实时监控日志数据。

蓝鲸PaaS平台SaaS运行框架的功能架构如下图所示:

蓝鲸PaaS平台SaaS运行框架

基于开发框架开发的SaaS工具,在平台上可以方便的进行工具的监控和维护。

自带错误日志查询:

自带监控告警:

自带运行数据统计:

2.2 自带监控模板实现深度监控

为方便外部系统能够快速的实现对蓝鲸的监控,蓝鲸本身提供了基于Zabbix的监控模板,快速导入即可实现对蓝鲸各管理服务器和组件的监控及告警。

可支持接入的监控项有3类:

  • 基础性能:含CPU、内存、硬盘、网络流量等
  • 进程:主要为托管在supervisord下的服务进程
  • 端口:主要为公共服务组件的服务端口

涉及的监控项、触发器和部分图表(Graph、Screen),在模板中都有提供。

2.3 完善的服务器/组件故障处理方案

蓝鲸平台已有很详细的运维及故障处理方案,如下:

查看应用服务状态

登录中控服务器后在中控服务器操作:

cd /data/install

./bkeec status all #查看所有服务状态

./bkeec status cmdb #查看配置平台服务状态

./bkeec status job #查看作业平台服务状态

也可通过健康检查端口查看各应用状态:

http://paas.bkee.canwayit.com/o/bk_monitor/healthz/ #查看cmdb应用状态

http://job.bkee.canwayit.com/o/bk_monitor/healthz/ #查看job应用状态

http://paas.bkee.canwayit.com/o/bk_monitor/healthz/ #查看paas应用状态

http://paas.bkee.canwayit.com/o/bk_fta_solutions/healthz/ #查看fta应用状态

http://paas.bkee.canwayit.com/o/bk_monitor/healthz/ #查看monitor应用状态

查看日志

日志文件统一在 /data/bkce/logs/下,按模块名,组件名分目录存放。

SaaS较为特殊,在/data/bkce/paas_agent/apps/logs下,根据AppCode名分目录存放。

如出现故障,可使用如下的故障处理方案:

应用进程查看命令

如下命令查看job组件的进程信息

ps -ef |grep job

应用进程结束命令

Kill -9 应用进程号

查看应用网络监听状态

netstat -an

重启应用服务

如果需要重启特定的应用服务,在中控服务器执行如下命令:

cd /data/install/

./bkeec restart 服务名

如果所有服务都需要重启,执行如下命令:

cd /data/install

./bkeec restart all

迁移服务(更换机器 )

更换 CMDB 机器:

#停止服务:

./bkeec stop consul

./bkeec stop cmdb

#修改中控机install.config 文件,将新服务器添加到配置文件中:

vi /data/install/install.config

#安装服务:

./bkeec install consul 1

./bkeec install cmdb 1

#修改相关服务的配置文件:

./bkeec render job 1

./bkeec render paas 1

./bkeec render nginx 1

./bkeec render bkdata 1

#重启相关依赖服务:

./bkeec stop job ; ./bkeec start job

./bkeec stop cmdb; ./bkeec start cmdb

./bkeec stop paas ; ./bkeec start paas

./bkeec stop bkdata; ./bkeec start bkdata

./bkeec stop nginx ; ./bkeec start nginx

MySQL 主从切换(故障切换)

详细故障处理及应对,可参考官方整理的参考方案。

https://docs.bk.tencent.com/bkce_install_guide/maintain.html

2.4 支持在线升级

基于蓝鲸平台的解决方案,支持分布式群集部署,能够垂直和水平扩展,并能够部署在多种操作系统平台。集成了多种主流开源组件,包括MySQL、Dockor、Redis、Zookeeper、Consul、Kafka、Beanstalk等。

蓝鲸每个功能原子平台以及应用的开源组件,皆可垂直拆分单独部署。蓝鲸套件包含的模块如下:

  • open_paas:蓝鲸PaaS的核心模块
  • paas_agent:核心管理模块,用于承载SaaS的运行环境,分正式(appo)和测试(appt)
  • gse:蓝鲸管控平台
  • cmdb:蓝鲸配置平台
  • job:蓝鲸作业平台
  • bkdata:蓝鲸监控平台

蓝鲸平台依赖的开源服务包括:

  • MySQL
  • Redis
  • Kafka
  • Zook
  • Beanstalk
  • Activemq
  • Rabbitmq

因而可以进行不影响业务运行的情况下,在组件高可用架构下在线升级。

3、总结

基于上述分享的蓝鲸高可扩展性和高可维护性特点,我们可以发现,虽然蓝鲸平台用到很多的开源组件,技术栈也比较多,但在经过产品的封装及优化后,运维平台的人员并不需要太多的技术要求,即可以进行方便的扩展和运维,是一款灵活、稳定好用的PaaS平台。

蓝鲸智云平台试用Tips

蓝鲸社区版

如果您想先简单了解蓝鲸研发运营一体化平台,或者企业规模较小但想用更为先进的自动化运维管理方式进行IT运维管理,推荐您先试用蓝鲸社区版。

蓝鲸社区版已经开源,您可以登录蓝鲸智云官网免费下载。网址:

http://bk.tencent.com/download

蓝鲸企业版

当然,蓝鲸企业版拥有更为丰富的功能,更适合企业级客户使用。如您有需要试用或者测试,联系嘉为吧!

原文发布于微信公众号 - 嘉为科技(canway_service)

原文发表时间:2019-01-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券