cloudfoundry第三代引擎学习

diego-paas-learn

本文将按如下结构开始分析diego-----------------------------------cloudfoundry 把第三代runtime的引擎命名为diego,虽然是一次被动的变革,但稍加分析后,发现diego变动的不仅仅是支持了docker那么简单,从整个架构的改变来看,后端容器的选择更加灵活,而且增加了对docker,buildpack 等形式应用的生命周期的管理,从一次tasks到一个LRP实例,至少和V2对比起来,这些都看起来优雅了很多。还是先上一个图:

cloudfoundry第三代引擎学习_第1张图片
Paste_Image.png

http://htmlpreview.github.io/?https://raw.githubusercontent.com/cloudfoundry/diego-design-notes/master/clickable-diego-overview/clickable-diego-overview.html

可将其分为6层:* CC-Bridge层

  • Route-emitter层

  • Access层

  • Brain层

  • Database层

  • Cells层

Diego还是给我们带来了些惊喜,比如在某些时候(--exportNetworkEnvVars=true)可以自己指定容器IP端口等;对作业进行了生命周期式的划分,有点类似mesos+marathon的感觉;提供了计分的资源调度算法;引入btrfs(copy on write)文件系统,终于摆脱了aufs的束缚,也让docker image、layer更好的被引入;后端不仅支持linux还支持windows;引入cells的概念,跟k8s有点类似,一个cell就是一个调度的基本单元,上面可以有很多实例,rep相当于k8s的kubelete,garden相当于cell的代理,用来对接后端的各种类型容器;还有基本的容错功能,这都要归结于brain层的设计,等等等等。

你可能感兴趣的:(cloudfoundry第三代引擎学习)