Inside Kolla - 01 简介

简介

在 opencloud 2015 的会议上初次了解到 kolla 项目后,开始去了解和学习 kolla 的源代码和相关的知识。经过一段时间的了解,觉得 kolla 确实是一个很好的项目,它使用预先安装好的容器来部署 openstack,非常有可能简化目前 openstack 的繁琐部署工作。 这种思路和 FUEL 有点类似,FUEL 里面也使用了容器来安装 cobbler 等部署组件。

幸运的时,kolla 目前还是一个早期项目,代码的规模很小。使用简单的统计,去掉图片、空行:

find . -type f | grep -v 'png' | xargs cat | grep -v '^[[:space:]]*$' | wc -l

得到的代码行数为7000行左右。 与其它 openstack 的庞大代码相小,是非常袖珍的小玩意。 7000行代码量,设计的思想和框架都已经有了雏形,非常适合完整看一遍。

使用基于容器的方式部署 openstack 带来很多的好处:

  1. 基于容器的开发、测试、部署过程非常连贯,极小出现环境配置、依赖项等烦人问题;
  2. 容器的升级和部署是原子的,可直接更新整个容器;
  3. 通过 kubernetes 等工具,可实现服务逐步升级。
  4. ...

在做了一段时间的 openstack 部署,从最初学 devstack 到自己完整构建整个安装脚本,被 openstack 的各种问题缠绕过,希望 kolla 能拯救我等。

这系列的文章会关注在 kolla 源代码和结构,因此是 inside kolla 。在分析 kolla 源代码同时,会把 kolla 用到其它工具,doker容器技术和ansible等作一点介绍。 我并不是翻译 kolla 里面的文档,而是想要把整个代码的层次结构、原理等弄明白,仅此而已。

By the way,可能是我自己的理解还不够深入,我不太理解为什么要使用 heat 来编排 docker,有 openstack 和 heat,表明这个 openstack 环境已经有了,在此基础上引入docker的话,感觉血统不纯啊-_-。我更加希望的使用场景是在cobbler等工具下部署裸机,再通过ansible、saltstack等工具把相关的服务配置起来。

你可能感兴趣的:(ide)