经历了干货满满的第一天,MesosCon Asia第二天的内容同样精彩,依旧是三个重量级 Keynote 开场:Mesos 的 Nested Container,Google系统构建、以及Mesos之父登台畅谈未来……小数已经迫不及待了,闲话少叙,我们快开始吧!
传送门:
Support for Nested Containers, aka Pods, in Mesos
Pod 这个概念用在容器圈始于 Kubernetes,Mesos 也引入了类似的概念,Nested Container:通过 Container Executer 下再启动 Container 和 Task 来实现嵌套。
Mesos 的 Nested Container 支持任意级的嵌套,不仅可以复用现有的所有 isolators,还支持动态创建嵌套容器。
所有 Nested Container,或者说 Pod 中的容器 Cgroup 和 Net Namespace 都是共享的,但是 MNT Namespace 不共享,这样就能实现同一 Pod 中的容器可以通过 localhost 进行网络通信。
任意级嵌套是个很有意思的功能,通过这样的设计,可以方便为目标容器创建 Debug 子容器,并能保证整个设计的统一完整性。
之后,Yu Jie 通过 DC/OS 简单展示了使用 Unified Container 来创建 Nested Containers 的过程,包含了针对持久化卷的 producer-consumer 和针对网络联通性的 server-client 两个例子。
How to replace a Jet Engine of your System in-Flight
来自 Google 构建系统的分享,讲述了她们实现复杂在线分布式系统 Zero Downtime 迁移的心路历程。
Google 的体量之大即使是外人也能有所感觉,即使是它的构建系统,也不能接受有不可用的情况,所以 Zero Downtime 系统迁移是必经之路。
通过上图我们能简单的对新旧版本的架构有一个整体的认识。
做这样的大型系统的在线迁移,除了底层资源调度基础架构(Borg inside Google, or Mesos) 的支持以外,同样避免不了人的操作,因此就需要做好演练,总结出 checklist,这样能够避免多部门合作时大家因为疲惫或者兴奋而犯一些超级简单的错误。而且一定要有失败预案,一旦发现有问题,要能够明确回滚的步骤,这同样需要底层调度系统的支持。
Mesos + DC/OS, not Mesos versus DC/OS
Ben 花了 10 种的时间向大家介绍了下 Mesos 和来自美国的 DC/OS 的关系及未来的发展方向,肯定了 Mesos 作为 kernel 的作用,表达了围绕其建立起来的 DC/OS 。
Ben 为了解释 Mesos 和 DC/OS 的关系,列了未来 OPs 的挑战,而解决这些挑战的方式,就是在 Mesos 核心周围,建立起 DC/OS 这个完整的工具链。
Mesos 的优势还体现在数据处理和分析的框架应用上,然而如果只有 Mesos + DC/OS,也不能更好的满足这些方面的挑战,这样就引出了 DC/OS SDK。
Mesos DC/OS SDK 就像是操作系统中应用和 Kernel 交互的借口层一样,主要负责抽象应用生命周期管理,目标是使有状态任务能更简单的运行在 Mesos + DC/OS 之上。
除了这三个重量级 Keynote 之外,Day two 的其他 session 也是干货满满,比如同样来之 Mesosphere 的 “Writing Stateful Frameworks - Challenges and Solutions” 就展开讲解了 DC/OS SDK 如何能帮助到有状态服务。另外,如果你对 HA 感兴趣,就不应该错过来自 IBM 的 Mesos HA 去 zookeeper 的分享。“CNI: Onwards and Upwards” 详实的讲解和丰富的 Demo 将 Mesos Unified Container 关于网络的实现细节和未来发展规划都摊开了揉碎了放在你面前。
至此,为期两天的 Mesos Con Asia 杭州之行圆满结束。一直坚持国内Mesos技术的落地与实践,也在大会上进行了演讲分享,视频请点击,实录小数会在之后为大家奉上,敬请期待:)
意犹未尽,不只是为技术,也为美丽的杭州,妙曼的西湖。