前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >多地多中心DCOS架构与部署方案

多地多中心DCOS架构与部署方案

原创
作者头像
frankiefu
发布2019-02-01 21:47:17
2.4K0
发布2019-02-01 21:47:17
举报
文章被收录于专栏:TCETCE

DCOS(Data Center Operating System)定位是数据中心操作系统,也称为基础设施管理,其本质就是用于支撑数据中心里对物理资源(如物理服务器和网络设备)生命周期进行自动化管理,比如CMDB数据导入、裸机资源发现、服务器OS部署、配置初始化、远程开关机&重启、服务器&网络设备的监控和告警等。

DCOS当前在产品设计上以IDC为基本部署单元,每个IDC需要部署一套服务,各IDC部署的DCOS服务只能管理本IDC物理机和网络设备。

  • DCOS服务自身作为dhcp server为本IDC所有物理机提供ip分配以及续租。通过标准的带外IPMI工具对本IDC物理机进行开关机重启以及带外账号重置等操作,基于PXE、tftp和部署脚本、raid工具对物理机进行PXE部署OS、快速部署OS和raid制作。物理机上安装dcosagent采集上报各类监控数据到本IDC的DCOS服务,另外可以为本IDC的物理机添加告警策略,结合监控数据可以准确判断各类故障并根据告警策略进行告警。本IDC所有网络设备会配置设备日志级别、日志上报地址为本IDC的DCOS服务,DCOS服务通过syslog模块接收上报的日志并解析,根据预先设置的日志关键字产生网络设备日志告警。
  • DCOS服务通过snmp模块采集网络设备各类性能指标,整机指标如cpu、内存,端口指标如端口状态、端口速率、包量、流量、错包量、流量使用率。定期备份网络设备配置到本IDC DCOS服务。xflow模块利用网络设备netflow技术内部统计特定端口数据包特征并进行流量汇总,统计出各个IP的具体流量,当前支持netflow与sflow、netstream,网络设备上报netflow时携带端口信息,将会话映射到专线,形成专线的流量监控。

业务生产环境涉及多Region多Zone多IDC,需要在控制台上集中查看以及管控所有资源,要求服务高可用,根据业务规模可以灵活进行垂直和水平扩展。

  • 当前按IDC部署的DCOS服务只能管控本IDC各类资源,无法提供统一的入口去集中管控业务环境所有资源。
  • 当前DCOS服务底层接口并不能完全满足复杂的业务功能需求,需要做大量定制开发。
  • 从控制台发出的请求直接被转发到底层DCOS服务,在底层服务异常时不能保证服务可用性。
  • 实际交付过程中,需要根据IDC架构整理出DCOS服务依赖的各类配置项,之后先部署容器集群,再启动DCOS服务,增加部署IDC时需要重复部署集群并且手工启动服务,无法灵活扩展。

针对上述问题,进行了以下改进。

  • 将DCOS功能模块分为Region级别和IDC级别,在Region内统一管理本Region下所有IDC各类cmdb信息,在IDC内完成物理机带外带内管理、物理机监控指标采集上报、物理机ping探测、网络设备监管控及日志采集、网络质量探测、xflow会话流量采集以及告警汇总上报。管理控制台发出的操作请求先到达yunapi模块,首先根据Region被路由到对应地域的CGW,CGW将控制台过来的查询类请求转发给任意IDC部署的DCOS底层服务,对于操作类请求根据请求中的idcid将请求分发给对应IDC部署的DCOS底层服务处理。CGW提供了集中的入口管控业务环境所有资源,在增加Region或者IDC时整个架构无感知,只需增加配置项,部署架构提高了系统的可扩展性。
  • 基于DCOS底层原子功能模块,在IDC内抽象出供控制台调用的CGW层,封装组合底层原子功能模块,解耦业务需求与底层能力。底层服务专注于实现原子类操作接口,CGW层根据业务场景和需求灵活整合底层原子能力实现复杂的业务需求,这样不仅能保证底层服务通用稳定性,也能满足丰富易变的业务场景。
  • 根据业务需求可以在Region内或者IDC内部署yunapi与CGW服务,控制台发出的请求被转发到最近的yunapi服务,yunapi配置的后端地址为可以解析到任意CGW的域名,CGW配置的后端地址为可以解析到任意DCOS底层节点上的域名,这样通过多级路由架构,利用负载均衡器保证Region内服务可用性,利用负载均衡器和CGW保证IDC内服务可用性。
完整链路的负载均衡
完整链路的负载均衡
  • 将DCOS底层和CGW依赖的配置项梳理为Region级别和IDC级别,在服务部署前分别写入弹性交付的全局变量中,启动服务时直接从全局变量中读取Region级别的配置写入CGW配置文件,读取IDC级别配置写入DCOS底层服务,这样无需人工进行上述配置整合以及服务启动,后续增加部署Region或IDC时直接将对应配置补充写入弹性交付全局变量即可启动服务,提高了部署架构的灵活性。

最终的效果是,登陆运营端控制台,进入基础设施模块,物理机列表页上方默认选中某个Region,可以看到该Region下所有IDC的物理机、网络设备、IP、机架机位、专线等信息,选中特定IDC物理机,可以发起带外开关机、部署OS等操作,具体请求先到达yunapi,之后被路由到CGW,由CGW封装整合业务逻辑,最终路由请求到该物理机所在IDC的DCOS服务处理,处理结果沿调用链反向透传给前端。每个IDC部署的DCOS服务完成本IDC网络设备的日志收集、配置下载、snmp采集、xflow采集,之后网络设备列表页可以查看本Region所有IDC的网络设备,打开网络详情页可查看对应IDC网络设备日志、下载网络设备配置,打开监控页面能看到特定IDC网络设备整机性能以及各端口指标,专线页面可以看到对应IDC网络设备特定端口的会话流量信息。实际交付过程中,预先汇总各IDC DCOS相关Region和IDC级别的变量,写入弹性交付框架的全局变量,自动完成DCOS服务部署以及启动。

多地多中心环境下DCOS部署架构图
多地多中心环境下DCOS部署架构图

注: Region、Zone、IDC:Region指地域;Zone指可用区,1个Region可以有多个Zone;IDC指数据中心,DCOS底层服务的最小部署单元,每个IDC部署一套DCOS-NGINX管控本IDC各类资源; 运维web控制台:web入口,业务人员通过web控制台查看以及操作所有Region所有资源; 云API:控制台发出的请求被就近的yunapi模块接收,yunapi模块根据参数中地域信息,将请求路由到DCOS-CGW,根据实际情况可以每个Zone部署一套,也可以多个Zone共用一套; DCOS-CGW:CGW层,接收yunapi模块转发过来的请求,区分请求类型,对于查询类请求,直接调用本IDC的DCOS-NGINX进行处理,对于操作类请求,根据参数中的idcid将请求路由到对应IDC的DCOS-NGINX进行处理,根据实际情况可以每个Zone部署一套,也可以多个Zone共用; DCOS-NGINX:DCOS底层服务,管控本IDC各类资源,包括物理机、网络设备及监控告警等; dcos:DCOS底层服务依赖的数据库,IDC级别,存储本IDC内部告警、控制类、snmp、xflow、syslog等实体信息,用于本IDC各模块管控本IDC各类资源; dcos_cmdb:DCOS底层服务依赖的数据库,Region级别,存储Region下所有IDC的服务器、网络设备、IP、机架机位、专线、磁盘、操作日志等,提供接口供上层增删改查。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档