简介

在 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等工具把相关的服务配置起来。

Inside Kolla - 01 简介的更多相关文章

  1. Node.js 教程 01 - 简介、安装及配置

    系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 0 ...

  2. Inside Flask - Flask 简介

    Inside Flask - Flask 简介 前言 Flask 的设计目标是实现一个 wsgi 的微框架,其核心代码保持简单和可扩展性,很容易学习.对于有一定经验初学者而言,跟着例子和一些书的代码来 ...

  3. Python 黑客 004 用Python构建一个SSH僵尸网络 01 简介

    用Python构建一个SSH僵尸网络 01 简介 一. 构建一个SSH僵尸网络的流程图: Created with Raphaël 2.1.0手动操作,实现通过SSH连接目标服务器(手动)用 Pexp ...

  4. Linux 时间同步 01 简介

    Linux 时间同步 01 简介 目录 Linux 时间同步 01 简介 时间同步 公共NTP服务器地址及IP 系统时间相关文件 时间同步 大数据产生与处理系统是各种计算设备集群的,计算设备将统一.同 ...

  5. Inside Kolla - 05 从 tools 目录开始

    从 tools 目录开始 在上一篇中已介绍了 Kolla 的源代码目录结构和各个目录中源代码的基本作用,现在开始深入到各个目录,介绍目录中的具体内容.每个人分析代码的思路和方法不同,会选择从不同的目录 ...

  6. Inside Kolla - 02 Kolla 是什么

    Kolla 是什么? Kolla 项目 Kolla 是 OpenStack 里面的一个项目,在源代码的 README.md 里面的解析是: The Kolla project is part of t ...

  7. MongoDB学习笔记-01 简介、安装

    MongoDB简介 MongoDB是一种强大.灵活.可拓展的存储方式.是一个面向文档(相当于"行"的概念)的数据库. 可拓展:通过添加服务器而增加存储量. Windows下安装 版 ...

  8. ElasticSearch学习笔记-01 简介、安装、配置与核心概念

    一.简介 ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便.支持通过HTTP使用JSON进 ...

  9. Inside Kolla - 04 Kolla 目录结构

    Kolla 目录结构 把 Kolla 的源代码下载下来后,先从总体上分析 Kolla 的目录结构,查看顶层目录结构,使用 tree -L 1 输出 . ├── ansible ├── compose ...

随机推荐

  1. PHP wget 增强脱裤脚本(PDO MYSQL)

    脚本参考了 LCX Gavin2位前辈的帖子.在此表示非常的感谢. https://www.t00ls.net/thread-26740-1-1.html https://www.t00ls.net/ ...

  2. ubuntu 14.04安装

    最近想搞spark.没有集群环境,想先在单机上跑.但是两年前一直用到现在的virtualbox已经太老,很多源都停更了.所以准备装ubuntu14.04. 0. 更新源.163的源有问题,用的是soh ...

  3. MySQL助理配置

    基本配置 你需要经常察看以下3个配置项.不然,可能很快就会出问题. innodb_buffer_pool_size:这是你安装完InnoDB后第一个应该设置的选项.缓冲池是数据和索引缓存的地方:这个值 ...

  4. HTML5:离线存储(缓存机制)-IndexDB

    https://www.w3.org/TR/IndexedDB/ .. <!DOCTYPE html> <html> <head> <meta charset ...

  5. HDU 4310 贪心

    题意 在游戏中你的dps为1但是hp无限 给出n个敌人的dps与hp 你一秒能打掉一个敌人你的dps的hp 当你输出的时候 所有活着的敌人都会打你 求杀死所有敌人时你掉的最少hp 一开始想错了 排序的 ...

  6. Decomposing and Redistributing the Statement Method

    Refactoring: Improving the Design of Existing Code Decomposing and Redistributing the Statement Meth ...

  7. java面试问道的

    1.java可重入锁 2.Hashmap原理.说说hashMap是怎样实现的(这个之前看过,顺利回答上.还回答了多线程的问题出现的原因,面试官表示很惊讶的样.用hashmap实现hashset 3.

  8. linux指定目录安装软件后,程序找不到共享库问题

    以svn为例,64位centos yum install subversion --installroot=/usr/svn/后 执行svn命令,报错svn: error while loading ...

  9. css+div盒模型研究笔记

    红色标记的为默认值 1.border(边框):border-top,border-bottom,border-left,border-right 1.border-color(边框颜色): 2.bor ...

  10. JavaScript中关于bool类型判断的一些总结。

    我从书上看到了一些关于   int类型 0 转换成boolean值得时候会把0转换成 false ,string 类型 的  "" 也会装换成false; 所以我就想,我能不能用一 ...