携程容器云实践:从基础架构到自研Framework

0 下载量 144 浏览量 更新于2024-08-29 收藏 612KB PDF 举报
"携程在容器云的实践中,逐步优化了其基础设施和工程实践,将容器云分为水下(基础架构)和水上(工程实践)两个部分。通过三个阶段的演进,从验证应用在Docker中的运行,到实现Immutable Delivery,再到自研Framework,携程逐步构建了一个符合DevOps理念的容器云平台。" 在容器云的优化实践中,携程首先关注的是基础架构的搭建。第一阶段,他们采用了模拟虚机的方式,利用OpenStack的nova模块管理Docker,以确保现有应用能在容器环境下正常运作,同时尽量减少对开发流程的影响。这一阶段的重点是验证兼容性和控制变革的范围。 第二阶段,携程转向了镜像发布和使用Chronos运行Job应用。这一阶段的目标是通过Immutable Delivery实现应用的发布和变更,不再对部署后的容器进行修改。携程从OpenStack转向了Mesos+Chronos的轻量级架构,以支持Job应用的调度。然而,Mesos在调度大量并发job时表现出性能瓶颈,这表明开源框架无法完全满足携程的需求。 第三阶段,携程开始自主研发Framework。这个阶段面临的主要挑战包括:支持Job和服务两种类型的应用、为每个docker实例分配独立IP、以及支持有状态的应用。同时,为了提升监控能力,携程完善了容器的监控体系。自研Framework旨在解决这些问题,提供更加定制化和高效的服务。 水上部分,即面向开发者的工程实践,涉及到与DevOps密切相关的工具和流程。这一部分的优化直接关系到开发人员的工作效率和系统的可维护性,如自动化部署、持续集成/持续交付(CI/CD)、日志和监控系统的整合等。通过水上和水下的同步改进,携程能够确保容器云平台不仅提供了稳定的基础架构,还提供了顺畅的开发和运维流程,符合DevOps的核心思想。 携程的容器云优化实践展示了如何结合容器技术、微服务架构和DevOps理念,逐步构建和优化企业级的容器云平台。这个过程包括了基础设施的调整、工作流程的改革和自研技术的创新,以适应大规模业务的需求。