简介

在 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. fibonacci数列 java

    public class Fibonacci { public static void main(String agrs[]) { ;j<=;j++) System.out.println(fo ...

  2. codeacademy

    codeacademy http://link.zhihu.com/?target=https%3A//www.youtube.com/playlist%3Flist%3DPLP6DbQBkn9ymG ...

  3. 关于java文件扩展名认识

    ☆ 写在前面 一名新手在历经千辛万苦写好Java程序,怀揣激动的心情去编译和执行java程序时,结果出现错误,什么找不到文件,什么不存在,找不到main方法等等.我在这里就文件后扩展名,也叫文件后缀名 ...

  4. POJ 3468 A Simple Problem with Integers(线段树区间更新区间查询)

    A Simple Problem with Integers Time Limit: 5000MS   Memory Limit: 131072K Total Submissions: 92632   ...

  5. Redis 笔记与总结1 安装部署

    NoSQL 使用场景: 1.对数据高并发读写 2.对海量数据的高效率存储和访问 3.对数据的高可扩展性和高可用性 Redis 通常被称为数据结构服务器,因为键可以包含字符串(strings).哈希(h ...

  6. 【军哥谈CI框架】之入门教程之第二讲:分析CI结构和CI是怎么工作的

    [军哥谈CI框架]之入门教程之第二讲:分析CI结构和CI是怎么工作的   之入门教程之第二讲:分析CI结构和CI是如何工作的大家好!上一节,我们共同部署了一个CI网站,做到这一点非常简单,但是,亲们, ...

  7. NSQ:分布式的实时消息平台

    NSQ是一个基于Go语言的分布式实时消息平台,它基于MIT开源协议发布,代码托管在GitHub,其当前最新版本是0.3.1版.NSQ可用于大规模系统中的实时消息服务,并且每天能够处理数亿级别的消息,其 ...

  8. scandir 使用示例

    int filter_fn(const struct dirent * ent) {     if (ent->d_type != DT_REG)         return 0;     r ...

  9. nginx常用变量

    $args, 请求中的参数; $content_length, HTTP请求信息里的”Content-Length”; $content_type, 请求信息里的”Content-Type”; $do ...

  10. idea控制台乱码

    打开File->Settings->Editer->File Encoding,将IDE Encoding 和 Project Encoding 都改为UTF-8