容器领域软件栈与学习建议路线
容器技术软件堆栈
右边表格标红粗的是相比较最火的,其次是标蓝粗的需要多加关注
- 生态圈最核心的控制点实际在编排调度层(kubernetes,openstack,mesos,swarm)这其实是PaaS,IaaS的核心点。其属于基础设施层,以此开放能力(Cloud Service),构筑面向行业的SaaS的基础能力。
- 容器管理这一层分化为两类:面向资源的和面向应用的,CloudServce时代,微服务化架构应用雨后春笋,所以从长期看终会是面向应用的。
- libcontainer是docker提供的namespace/CGroup的抽象层,面向的是docker的模型,lxc也是抽象层,其诞生于2008,已经被linux os集成到内核。
- 所以对于容器领域学习建议从上至下会更有感觉:了解vm vs 容器的优缺点,为什么vm了还要容器,面向的场景是哪些,vm架构有哪些弊端,容器有哪些弊端,此外了解微服务化架构应用,了解了这些现状后,再按编排层,以当前火热程度和潮流趋势看,kubernetes重点学习,其次在容器管理这一层重点通过其中一个了解容器的模型,api,技术实现,附带的就会涉及linux namespace/cgroup,apparmor,sellinux以linux内核的一些知识,之后再横向比较docker,rkt,lxd的差异点(如果无差异则也就没存在的必要的)。