知乎容器平台的演进与大数据融合实践解析

需积分: 10 1 下载量 111 浏览量 更新于2024-07-15 收藏 1.39MB PDF 举报
"这篇文档是2018年WOT峰会上,知乎计算平台负责人张阜兴关于知乎容器平台的演进以及与大数据融合实践的分享。内容涵盖了从Mesos到Kubernetes的转变,从单一集群到混合云架构的发展,部署方式的改进,容器状态的处理,以及网络模式的优化等关键点。" 知乎容器平台的演进是一个逐步迭代的过程,首先从使用Mesos过渡到Kubernetes。Mesos以其稳定性、轻量级Master和大规模单集群能力受到青睐,但框架开发成本高成为其局限。相比之下,Kubernetes拥有强大的社区支持,功能全面且接入成本较低,不过单集群规模受到etcd性能的限制。 随着业务需求的增长,知乎从单集群架构转向了混合云架构,以满足灰度测试、容量水平扩展和应对集群级别故障的需求。通过公有云集群资源池,知乎能够更经济地应对临时活动的扩容。在多集群管理方面,他们考虑了Kubernetes Federation以及自研方案,确保同一组业务能在不同集群间平滑运行。 在部署策略上,知乎从滚动部署进化到部署发布分离。滚动部署能保证服务不中断,但存在升级速度慢、回滚不易等问题。因此,他们引入了部署发布分离,使得部署过程与发布验证可以并行执行,实现了秒级回滚,提高了系统灵活性和可靠性。 在处理有状态服务时,知乎采用了多种持久化存储解决方案,如HostPath、Local、NFS以及基于Fuse+DFS的解决方案,以适应不同的场景需求,如高IOPS、低延时或ReadOnlyMany的业务文件读取。 最后,在网络层面,知乎从传统的端口映射模式(如Docker NAT)转向Underlay IP,以减少性能损耗,提供更高效的网络通信。Underlay IP方案允许容器直接使用底层网络,提高了网络效率。 整个演进过程体现了知乎在容器技术与大数据融合实践中的深入探索和持续创新,以满足不断变化的业务需求和提高服务质量。