随着云原生技术的加速普及,Kubernetes逐渐成为IT技术架构的基石,并推动着各行业技术架构的转型升级。在《InfoQ 编辑部开年聊聊2020 年值得关注的十大技术趋势》报道中,写到其中一个趋势是容器化加速席卷大数据基础架构。
今天,我们就分享下金山云容器引擎在大数据平台的应用实践。
大数据平台拥抱Kubernetes 金山云容器引擎应需而生
众所周知,Hadoop的出现加速大数据技术的应用推广,随着应用场景的不断丰富,近几年也涌现出多款优秀的计算框架,如Spark、Flink等。此前在大数据分布式调度平台中,大家普遍采用是Yarn,但是随着应用场景丰富和规模扩大,平台逐渐暴露出一些问题,如资源隔离限制较弱、监控信息不完善、弹性扩展能力弱、GPU支持不足等。
随着容器化的快速发展,大数据原有的Hadoop Yarn分布式任务调度模式,正在被基于Kubernetes的技术架构所取代。容器凭借轻量秒级部署、一次构建、处处运行的巨大优势,推动了快捷、自动化的工作流程,同时Kubernetes提供的强大编排能力以及蓬勃发展的社区生态,为大数据容器化提供了便捷的平台。
大数据系统原生支持on Kubernetes,例如Spark 从官方2.3版本开始就可以无需任何修改直接运行在 Kubernetes 上,这是一个里程碑式的事件,表明了未来技术架构的发展方向。
容器引擎是金山云推出的Kubernetes服务产品,基于原生的Kubernetes进行开发和适配,无缝融合了金山云生态的其他基础资源和产品服务。
目前,金山云容器引擎覆盖主流应用的多版本Kubernetes,支持一键式创建,多可用区高可用部署,同时提供旧版本的一键升级功能,持续保护用户资产;集成云平台能力,如网络方案(Flannel和Canal)、持久化存储(块存储和文件存储)、安全(多租户隔离和主机加固)等;镜像仓库支持对Docker hub、gcr.io镜像加速,高速内网下载镜像,11个9的可靠性保证;在控制台支持Kubernetes 的软件包管理工具Helm,提供金山云官方Helm Chart,支持在线可视化部署Helm应用。
此外,金山云容器引擎大幅降低了Kubernetes的使用门槛和综合成本,让用户开发团队更专注自身业务。
统一管理、弹性伸缩 为用户创造更多价值
由于大数据应用的复杂性,会使用多种类型的机型作为Work节点,如利用云主机应对快速的流量扩容、利用云物理服务器提供无性能损耗能力、利用云GPU服务器的大规模线程和高速计算力优势等等,来满足计算的需求。
金山云容器引擎提供混合集群的统一管理服务,在一个集群可以实现多种类型节点的统一管理,通过Label的设置可以实现对整体资源的统一调度部署,避免了多个集群的使用,一方面大幅降低了使用成本,另一方面有效提升管理效率。
大数据业务对计算的需求是动态的,并且波动较大,金山云容器引擎支持Cluster AutoScaler实现集群工作节点的弹性伸缩,节省开支。目前,金山云容器引擎本身免费对外提供使用,同时提供免费的企业级容器镜像仓库服务,用户仅需支付所使用资源的费用,工作节点支持预付费包年包月、按日配置付费、按小时配置计费等灵活的计费策略选择。
整体框架图
大数据云平台利用容器引擎集群、云物理机集群、云服务器集群构建大数据控制平台和共享服务资源池,为用户提供租户隔离、安全可靠的大数据托管服务。
大数据平台在容器引擎的部署方案如上图所示:
1、在endpoint容器引擎集群中部署微服务架构,如:数据管理(元数据管理、数据权限、数据质量、数据地图等)、数据服务、数据采集,共享的组件mysql ,redis等基础服务。
2、在online/offline容器引擎集群中部署的大数据组hive、spark、flink、hbase、kafka、zookeeper、ElasticSearch等,目前hive、hbase等用的是HDFS存储,而zookeeper、ElasticSearch、kafka用的是NFS、KS3存储。
目前,金山云大数据平台已使用容器引擎平台部署在线和离线的业务,支持海量数据处理,在整个过程双方团队积累了丰富的大数据使用经验,持续在spark on kubernetes的动态资源、kube-scheduler调度策略等方面进行优化,升级产品功能,并赋能更广泛的大数据相关用户,为用户创造更多价值。
作为CNCF基金会黄金会员之一,金山云致力于推动基于容器技术的云原生产品方案落地实践。目前,金山云已通过CNCF Kubernetes服务提供商认证,容器引擎已通过CNCF Kubernetes一致性认证以及可信云容器解决方案认证和可信云Kubernetes认证。此外,金山云拥有CNCF CKA、CKAD认证的高级技术专家团队,为用户提供专业的产品和服务支持。