首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >谈谈蓝鲸平台的高可扩展性和高可维护性

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

作者头像
嘉为蓝鲸
发布2019-01-16 14:41:40
1.7K0
发布2019-01-16 14:41:40
举报

腾讯蓝鲸智云,作为业界领先的一套基于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

蓝鲸企业版

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-01-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 嘉为科技 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档