在K8S中集成大数据服务

基于Kubernetes的亚信PAAS大数据平台后端服务架构,其中对于kubernetes做了一些扩展服务,最佳架构参考。
展开查看详情

1.K8S集成大数据服务实践 北京亚信智慧数据 大数据云平台部 叶鹏

2.亚信数据简介 亚信数据 n 中国电信行业第一大经营分析软件提供 商 n 2014年8月业务从亚信集团分拆,员工2000+ n 2014年软件收入5.5亿元人民币 800  million   7  petabytes   550  million   承载电信用户数 BI每日数据分析量 2014年软件订单 1993 2000 2010 2014 • 收购南京联创 • 亚信私有化 • 亚信在美国成立 • 在美国NASDAQ上市,股票 代 • 中国第一、全球第二电信 软 码:ASIA 件提供商 • 亚信数据从集团分拆 • 数据分析产品跨行业突破

3.目录 • 为什么需要大数据PAAS • 什么是后端服务 • 如何扩展K8S能力 • 如何实现大数据服务集成 • K8S使用过程中遇到的异常

4.大数据还有更广阔的市场空间 开发:产品内各模块高度耦合、关键组件功能重叠 建设:拥有大数据技术很昂贵 ,对单个企业、开发者不经济 • 大数据技术平台分为多层,良好的架构需要长期的经验摸索 • 大数据技术演进非常迅速 解决办法: 通过“云”的模式来供给大数据技术,集成为平台,减少重复劳动,从 而提高效率。

5.云计算的三种服务形态及特点 自动化程度越高,服务提 供者做的工作更多,服务 使用者做的工作更少 为一般用户服务,提供了一套完整可用的软件系统,让 SaaS 一般用户无需关注技术细节,只需要通过浏览器、应用 客户端等方式就能使用部署在云上的应用服务 为应用开发人员服务,提供支撑应用运行所需的软件运 PaaS 行时环境、相关工具与服务,如数据库服务、日志服务、 监控服务等,让应用开发者可以专注于核心业务的开发 为基础设施运维人员服务,提供计算、存储、网络及其 他基础资源,云平台使用者可以在上面部署和运行包括 IaaS 操作系统和应用程序在内的任意软件,无需再为基础设 施的管理而分心 自由度越高,服务提供者 做的工作更少,服务使用 者做的工作更多

6.云计算服务提供商市场空间 公有云:SalesForce等 SaaS 公有云:GAE、Heroku等 PaaS 私有云:CF、OpenShift等 公有云:AWS、Azura、阿里 IaaS 私有云:OpenStack

7.PaaS对开发模式的改变 应用框架提供了应用的 应用 应用 应用 … 应用 应用 框架 开发管理和CI\CD服务, 以及应用部署和运行服 工具 工具 工具 工具 务。 服务管理 服务代理 爬虫 语义分析 认证 日志 调度 … ADB Hadoop Spark Storm Flume Kafka ZK Redis

8.目录 • 为什么需要大数据PAAS • 什么是后端服务 • 如何扩展K8S能力 • 如何实现大数据服务集成 • K8S使用过程中遇到的异常

9.什么是后端服务 http://12factor.net/zh_cn/backing-­‐services

10.亚信大数据PAAS平台后端服务管理 站在平台角度后端服务对于开发者来说是一组开箱即用的能力 后端服务管理 后端服务代理 爬虫 语义分析 认证 日志 调度 … ADB Hadoop Spark Storm Flume Kafka ZK Redis • 后端服务框架实现对“通用服务”和“共性工具”等各产品中的标准件的统一供给,从而使产 品解耦并关注自身应用逻辑,提高应用型产品的开发迭代速度。 • 服务框架主要提供: Ø 后端服务管理:后端服务生成、回收等生命周期管理,服务的配额和计费,服务的绑定和解除绑定(用于 传递服务入口和鉴权参数) Ø 后端服务代理:由后端服务平台提供,完成服务平台与PAAS平台的对接

11.后端服务的最佳实践 CloudFoudry ServiceBroker是后端服务管理和扩展的最佳实现,让服务集成有淘宝购物般体验 后端服务与平台只需5类接口 • 服务编目:实现服务信息同步,服 务基本信息、服务级别信息 • 服务实例创建:实现服务平台资源 分配 • 应用服务绑定:实现服务资源与应 用绑定,应用后去服务连接信息 • 应用服务解绑 • 服务实例注销 http://docs.cloudfoundry.org/services/api.html

12.IBM BlueMix 后端服务实践

13.目录 • 为什么需要大数据PAAS • 什么是后端服务 • 如何扩展K8S能力 • 如何实现大数据服务集成 • K8S使用过程中遇到的异常

14.K8S基本架构 https://github.com/kubernetes/kubernetes/blob/release-­‐1.1/docs/design/architecture.md

15.强调一下Api Server、Controller Manager https://github.com/kubernetes/kubernetes/blob/release-­‐1.1/docs/design/architecture.md

16.K8S的异步系统设计

17.如何扩展K8S能力-­‐定义资源描述 kubernetes/pkg/api/types.go

18.如何扩展K8S能力-­‐apiserver、controller • 主要代码结构

19.如何扩展K8S能力-­‐函数注册 • Apiserver函数注册 • Controller manager函数注册

20.目录 • 为什么需要大数据PAAS • 什么是后端服务 • 如何扩展K8S能力 • 如何实现大数据服务集成 • K8S使用过程中遇到的异常

21.服务集成框架 界面UI servicebroker Backing service 平台管理 平台应用 服务代理 管理 servicebroker 服务代理 Hadoop、spark等 Kubernetes 第三方服务 SaaS服务 服务代理 RDS、缓存等 Mesos 第三方服务 IaaS

22.各资源定义 • ServiceBroker • http://apidocs.cloudfoundry.org/227/service_brokers/create_a_service_broker.html • BackingService • http://apidocs.cloudfoundry.org/227/services/retrieve_a_particular_service.html • BackingServiceInst • http://apidocs.cloudfoundry.org/227/service_instances/retrieve_a_particular_service_instan ce.html • http://apidocs.cloudfoundry.org/227/service_bindings/retrieve_a_particular_service_bindin g.html

23.扩充kubectl命令 • create • get • describe • delete • new-­‐servicebroker • new-­‐backingserviceinst • …………

24.集成效果 • DEMO

25.目录 • 为什么需要大数据PAAS • 什么是后端服务 • 如何扩展K8S能力 • 如何实现大数据服务集成 • K8S使用过程中遇到的异常

26.K8S使用过程中遇到的异常 • 基本定位: • POD长时间pending • 镜像没有pull回来 • Docker进程异常 • 镜像构建过程中提示,无法解析域名 • 此现象存在于集群部分节点,SDN部署问题 • (openshift)创建RC后,POD没有启动 • Openshift-­‐infra namespace被删除,重启openshift-­‐master后正常 • 尚未定位: • Docker进程会挂死,能够执行docker images,但是不能docker ps; • Node节点被设置scheduledisabled后依然会POD被调度,但是POD不能执行,重 试若干次后被重新调度;

27.我们在招聘

28.谢谢