diego-paas-learn
本文將按如下結(jié)構(gòu)開(kāi)始分析diego-----------------------------------cloudfoundry 把第三代runtime的引擎命名為diego,雖然是一次被動(dòng)的變革,但稍加分析后,發(fā)現(xiàn)diego變動(dòng)的不僅僅是支持了docker那么簡(jiǎn)單,從整個(gè)架構(gòu)的改變來(lái)看,后端容器的選擇更加靈活媳瞪,而且增加了對(duì)docker,buildpack 等形式應(yīng)用的生命周期的管理,從一次tasks到一個(gè)LRP實(shí)例,至少和V2對(duì)比起來(lái),這些都看起來(lái)優(yōu)雅了很多乏奥。還是先上一個(gè)圖:
可將其分為6層:* CC-Bridge層
Diego還是給我們帶來(lái)了些驚喜,比如在某些時(shí)候(--exportNetworkEnvVars=true)可以自己指定容器IP端口等;對(duì)作業(yè)進(jìn)行了生命周期式的劃分,有點(diǎn)類似mesos+marathon的感覺(jué);提供了計(jì)分的資源調(diào)度算法;引入btrfs(copy on write)文件系統(tǒng),終于擺脫了aufs的束縛,也讓docker image检眯、layer更好的被引入;后端不僅支持linux還支持windows;引入cells的概念,跟k8s有點(diǎn)類似,一個(gè)cell就是一個(gè)調(diào)度的基本單元,上面可以有很多實(shí)例,rep相當(dāng)于k8s的kubelete,garden相當(dāng)于cell的代理,用來(lái)對(duì)接后端的各種類型容器;還有基本的容錯(cuò)功能,這都要?dú)w結(jié)于brain層的設(shè)計(jì),等等等等。