唯品会的Flink on K8S实践与挑战

需积分: 5 1 下载量 157 浏览量 更新于2024-06-22 收藏 6.45MB PDF 举报
"3.Flink on K8S 在唯品会的实践 —— 王东新.pdf" 这篇文档分享了唯品会在采用Flink on K8S实践过程中的经验,由唯品会的资深开发工程师王东新主讲。主要内容包括唯品会的计算引擎云平台架构、Flink on K8S的实践、遇到的问题以及未来的规划。 01 计算引擎云平台架构 唯品会选择Kubernetes(K8S)作为其计算引擎云平台的基础,主要是因为K8S能够有效降低运维成本,提供高资源利用率,并且对于开发者友好,支持实时离线融合。相比于多独立集群和YARN,K8S在隔离技术和应用支持方面具有优势,如支持Storm、Spark和Flink等多种计算框架,并且提供了更灵活的调度策略。 02 Flink on K8S实践 Flink服务在唯品会的部署中,经历了从standalone模式到K8S的转变。K8S允许实现秒级弹性扩展,优化了资源利用率,并且提升了整体的一致性,包括部署、运维、监控、功能测试、性能测试和回归测试的一致性。同时,K8S环境还为预发测试和生产环境提供了高度一致性,有利于保证应用的可靠性。 03 遇到的坑 在实践过程中,可能会遇到如应用兼容性问题、调度策略调整、监控难题等挑战。Flink在K8S上的支持可能不如在Storm和Spark那样成熟,需要一定的调优工作。 04 未来的规划 为了提升可用性,规划中包括自动化运维、DEVOPS的灰度迁移、容器与物理机混合部署模式,以及通过机器学习进行智能优化。唯品会计划通过持续改进,实现自动关闭问题节点、跨机房容灾和核心应用双活,以增强系统的稳定性和韧性。 此外,唯品会还构建了一个名为Mercury的监控平台,用于收集从计算引擎到主机层、容器层的数据,进行分析和规整,提供优化建议,从而实现对应用的智能优化。 系统物理部署图显示,所有的服务都已容器化,包括Storm、Spark和Flink等。Storm保持standalone部署,而Spark支持standalone和on K8S两种模式。Flink同样采用standalone部署,但文档没有提及是否已经迁移到K8S。 总结来说,唯品会的Flink on K8S实践是向着提升资源利用效率、增强应用可靠性、实现运维自动化以及支持实时离线融合等目标前进,通过K8S的使用,构建了一个更为高效和智能的计算引擎云平台。
2023-06-02 上传