Docker的出现,对OpenStack产生了一定的影响,有些声音说:Docker会使得OpenStack遭受背弃。而事实却与之相反,我们看到两个社区发展的依然很好,Docker与OpenStack各有侧重,分别解决了不一样的问题,且两者的使用场景也不太一样。
什么是Kolla这个项目?
Kolla项目的产生,是由于OpenStack本身的复杂性,即模块太多与配置项太复杂,其中模块的问题是OpenStack自身数量已经很多,在此基础上其依赖的模块太非常之多,由于可选项的数量多导致其部署的复杂性,导致我们需要对OpenStack有非常深入的理解,才可以选择适宜的部署方案。
不仅如此,在利用现有的部署工具Fuel,其复杂程度与代码级同样达到了很复杂的量,同时还有openStack-ansible(rackspace主导),它下面的项目非常多,基本上OpenStack的一个模块就形成一个子项目。
另外,随着OpenStack逐渐成熟,常用的Puppet代码也已经变的复杂。因为部署复杂,所以运维也同样面临着各种挑战。
对此,Kolla项目被孵化出来,有效的解决了上述复杂度的困恼。Kolla本身的含义是“胶水”(希腊语),是把OpenStack和Docker有机融合在一起。Kolla提供出两个东西,一是生产级别的Docker镜像,另一个是基于Ansible的部署工具,这两个产出是可以分别独立开来的。
为什么是Docker?
首先,先剖析一下Docker本身的优点:
(1)固定性:
可以直接把容器清掉并重新通过Image创建(全新且同原本一样)。
(2)便捷性:
因为它的Image可以直接导出来,或者存在于Docker Registry服务中,所以可以带到另外