0
点赞
收藏
分享

微信扫一扫

LDP王福旺2016中国开源年会闪电演讲:大数据PaaS平台运维体系构建


大数据PaaS平台运维体系构建



1
前言


亚信数据DataFoundry(铸数工坊)是专注于大数据领域的 PaaS 云平台。整个平台IaaS层采用京东云和AWS云混合部署,应用支撑平台采用红帽开源的OpenShiftOrigin私有的PaaS解决方案。相对与传统运维IDC物理机、以及在物理机上的应用的不同,给运维方式以与方法上带来了新的挑战。本文主要介绍在大数据PaaS平台下构建运维体系。



2
支撑平台OpenShift简介


OpenShift是一个私有的PaaS(Platform-as-a-Service)解决方案,主要应用在容器中搭建、部署以及运行应用程序。它是基于Apache 2.0许可的开源软件, 并且发行了两个版本, 一个是社区版, 一个是企业版。



OpenShift架构图



OpenShift模块图


OpenShiftOrigin本身添加了以下内容:
▶ 源码管理、构建、发布;
▶ 管理升级大规模镜像;
▶ 管理大规模应用;
▶ 大规模开发团队的管理。


OpenShift集成Kubernetes,用于容器集群的管理与容器的编排
Kubernetes主要组件:
▶ API Server:这个组件提供对API的支持,响应REST操作,验证 API模型和更新 etcd中的相应对象;
▶ Scheduler:通过访问Kubernetes中/bindingAPI,Scheduler负责Pods在各个节点上的分配。Scheduler是插件式的,Kubernetes将来可以支持用户自定义的Scheduler;
▶ Controller Manager Server:管理node,pod,replication,service,namespace等。基本机制是监听etcd /registry/events下对应的事件,进行处理;


▶ Kubelet:组件管理Pods和它们的容器,镜像和卷等信息;
▶ Kube-Proxy:网络代理和负载均衡器。它具体实现Service模型,每个Service都会在所有的Kube-proxy节点上体现。根据Service的selector所覆盖的Pods, Kube-proxy会对这些Pods做负载均衡来服务于Service的访问者。



3

运维监控工具Open-Falcon简介


Open-Falcon是由小米开发的互联企业级监控产品


(1)半年多时间,在github上取得了1300+ star;
(2)收到了几十个pull-request,上百个issue,用户讨论组成员2000+;
(3)社区成员贡献了包括MySQL、redis、rabbitmq、windows-agent、switch-agent、nginx-stats 等多种插件支持,以及文档支持;
(4)上百家互联网公司都在不同程度的使用Open-Falcon,包括不限于:美团、金山云、快网、宜信、七牛、又拍云、赶集、滴滴、金山办公、爱奇艺、一点资讯、快牙、开心网、借贷宝、百度、迅雷等等。

架构图


产品特点:
▶ 强大灵活的数据采集:自动发现,支持falcon-agent、snmp、支持用户 主动push、用户自定义插件支持、opentsdb data model like(timestamp、endpoint、metric、key-value tags);
▶ 水平扩展能力:支持每个周期上亿次的数据采集、告警判定、历史数据存储和查询;
▶ 高效率的告警策略管理:高效的portal、支持策略模板、模板继承和覆盖、多种告警方式、支持callback调用;
▶ 人性化的告警设置:最大告警次数、告警级别、告警恢复通知、告警暂停、不同时段不同阈值、支持维护周期;
▶ 高效率的graph组件:单机支撑200万metric的上报、归档、存储(周期为1分钟);
▶ 高效的历史数据query组件:采用rrdtool的数据归档策略,秒级返回上百个metric一年的历史数据;
▶ dashboard:多维度的数据展示,用户自定义Screen;
▶ 高可用:整个系统无核心单点,易运维,易部署,可水平扩展;
▶ 开发语言: 整个系统的后端,全部golang编写,portal和dashboard使用python编写。



4


运维体系总体设计


目前系统中有IaaS自带的监控,OpenFalcon监控、PaaS平台自带监控,由此带来的问题:
▶ 多个管理页面;
▶ 多套认证;
▶ 运维工具无法满足个性需求;
▶ 无自动化。



需要构建的可视化平台


▶集成监控管理:集成open-falcon配置管理,告警接入;
▶集成告警管理:集成告警网关功能;
▶集成paas平台管理:配置管理,集群初始化,集群管理功能;
▶集成自动化通过前台页面进行后台自动配置。



5
PaaS监控实战
通过分层对PaaS平台进行监控,分为三层:RoutingLayer层、主服务层、IAAS层。


(1)RoutingLayer层:
▶ BackenService
▶ 私有registry
▶ 平台前端
▶ 代码仓库


(2)主服务层:
① 基础健康:
▶ node健康
▶ etcd健康
▶ glusterFS健康性以及资源使用


② 系统使用异常
▶ build连续失败
▶ 超限额event
▶ 运行时间较长状态异常的
▶ NFS异常
▶ iptables异常
▶ SDN网络
▶路由异常
▶ Docker异常
▶ DNS变化后的节点异常


(3)IaaS层:
▶ 基础指标CPU
▶ 可用内存
▶ 磁盘使用以及IO
▶ 网络流量
▶ 连接数











举报

相关推荐

0 条评论