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 带来很多的好处:
- 基于容器的开发、测试、部署过程非常连贯,极小出现环境配置、依赖项等烦人问题;
- 容器的升级和部署是原子的,可直接更新整个容器;
- 通过 kubernetes 等工具,可实现服务逐步升级。
- ...
在做了一段时间的 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 简介的更多相关文章
- Node.js 教程 01 - 简介、安装及配置
系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 0 ...
- Inside Flask - Flask 简介
Inside Flask - Flask 简介 前言 Flask 的设计目标是实现一个 wsgi 的微框架,其核心代码保持简单和可扩展性,很容易学习.对于有一定经验初学者而言,跟着例子和一些书的代码来 ...
- Python 黑客 004 用Python构建一个SSH僵尸网络 01 简介
用Python构建一个SSH僵尸网络 01 简介 一. 构建一个SSH僵尸网络的流程图: Created with Raphaël 2.1.0手动操作,实现通过SSH连接目标服务器(手动)用 Pexp ...
- Linux 时间同步 01 简介
Linux 时间同步 01 简介 目录 Linux 时间同步 01 简介 时间同步 公共NTP服务器地址及IP 系统时间相关文件 时间同步 大数据产生与处理系统是各种计算设备集群的,计算设备将统一.同 ...
- Inside Kolla - 05 从 tools 目录开始
从 tools 目录开始 在上一篇中已介绍了 Kolla 的源代码目录结构和各个目录中源代码的基本作用,现在开始深入到各个目录,介绍目录中的具体内容.每个人分析代码的思路和方法不同,会选择从不同的目录 ...
- Inside Kolla - 02 Kolla 是什么
Kolla 是什么? Kolla 项目 Kolla 是 OpenStack 里面的一个项目,在源代码的 README.md 里面的解析是: The Kolla project is part of t ...
- MongoDB学习笔记-01 简介、安装
MongoDB简介 MongoDB是一种强大.灵活.可拓展的存储方式.是一个面向文档(相当于"行"的概念)的数据库. 可拓展:通过添加服务器而增加存储量. Windows下安装 版 ...
- ElasticSearch学习笔记-01 简介、安装、配置与核心概念
一.简介 ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便.支持通过HTTP使用JSON进 ...
- Inside Kolla - 04 Kolla 目录结构
Kolla 目录结构 把 Kolla 的源代码下载下来后,先从总体上分析 Kolla 的目录结构,查看顶层目录结构,使用 tree -L 1 输出 . ├── ansible ├── compose ...
随机推荐
- fibonacci数列 java
public class Fibonacci { public static void main(String agrs[]) { ;j<=;j++) System.out.println(fo ...
- codeacademy
codeacademy http://link.zhihu.com/?target=https%3A//www.youtube.com/playlist%3Flist%3DPLP6DbQBkn9ymG ...
- 关于java文件扩展名认识
☆ 写在前面 一名新手在历经千辛万苦写好Java程序,怀揣激动的心情去编译和执行java程序时,结果出现错误,什么找不到文件,什么不存在,找不到main方法等等.我在这里就文件后扩展名,也叫文件后缀名 ...
- POJ 3468 A Simple Problem with Integers(线段树区间更新区间查询)
A Simple Problem with Integers Time Limit: 5000MS Memory Limit: 131072K Total Submissions: 92632 ...
- Redis 笔记与总结1 安装部署
NoSQL 使用场景: 1.对数据高并发读写 2.对海量数据的高效率存储和访问 3.对数据的高可扩展性和高可用性 Redis 通常被称为数据结构服务器,因为键可以包含字符串(strings).哈希(h ...
- 【军哥谈CI框架】之入门教程之第二讲:分析CI结构和CI是怎么工作的
[军哥谈CI框架]之入门教程之第二讲:分析CI结构和CI是怎么工作的 之入门教程之第二讲:分析CI结构和CI是如何工作的大家好!上一节,我们共同部署了一个CI网站,做到这一点非常简单,但是,亲们, ...
- NSQ:分布式的实时消息平台
NSQ是一个基于Go语言的分布式实时消息平台,它基于MIT开源协议发布,代码托管在GitHub,其当前最新版本是0.3.1版.NSQ可用于大规模系统中的实时消息服务,并且每天能够处理数亿级别的消息,其 ...
- scandir 使用示例
int filter_fn(const struct dirent * ent) { if (ent->d_type != DT_REG) return 0; r ...
- nginx常用变量
$args, 请求中的参数; $content_length, HTTP请求信息里的”Content-Length”; $content_type, 请求信息里的”Content-Type”; $do ...
- idea控制台乱码
打开File->Settings->Editer->File Encoding,将IDE Encoding 和 Project Encoding 都改为UTF-8