《每天5分钟玩转 OpenStack》是一个 OpenStack 教程,这是第 1 篇。

这个教程有下面两个特点:

  1. 系统讲解 OpenStack 
    从架构到各个组件;从整体到细节逐一讨论

  2. 重实践并兼顾理论 
    主要从实际操作的角度带着大家学习 OpenStack。

为啥要写这个?

简单回答是:因为OpenStack 学习难度大,但如果掌握了价值会很大

先做一个自我介绍吧。

本人网名CloudMan,在 IT 这个行当已经摸爬滚打了十多年,05年之前是搞上层应用开发的,那时候 Java 比较火,所以 J2EE 相关的技术搞得比较多。后来入职一家大型IT公司,公司的产品从中间件到操作系统,从服务器到存储,虚拟化到云计算都有涉及。

本人所在的部门是专门做 IT 基础设施实施服务的,项目涉及服务器、存储、网络、虚拟化、云各个方面。而且这个部门的重要任务是为公司在IT市场最新和最热门的领域开疆扩土。比如前几年的虚拟化,这两年的云计算和大数据。

可以说部门的这个定位非常符合我的技术偏好。我对新技术长期保持着浓厚的兴趣和学习热情,所以在这个部门一待就是十几年,而且一直搞技术,虽然现在的头衔是架构师,平时还是一直坚持实际动手操作,否则会没有安全感。

好,现在回到OpenStack这个主题。

本人是在2013年开始接触 OpenStack,虽然具备比较扎实的技术功底,在经过一段时间的学习后,还是感觉 OpenStack 这个东西上手不太容易,个人认为有以下几个原因:

  1. OpenStack 涉及的知识领域极广 
    可以说涵盖了IT基础设施的所有范围。计算、存储、网络、虚拟化、高可用、安全、灾备。。。。。。无所不包。即便是像CloudMan这种每天都在这个领域工作的人也感觉压力颇大

  2. OpenStack 是一个平台,不是一个具体的实施方案
    OpenStack的各个组件都采用Driver的架构,支持各种具体的实现技术。比如 OpenStack 的存储服务Cinder只定义了上层抽象API,具体的实现交给下面的各种Driver,比如基于LVM的iSCSI Driver,EMC、IBM等商业存储产品的Driver,或者是开源的分布式存储软件,比如Ceph、GlusterFS的Driver。
    正是因为这种架构上的灵活性,使得初学者在学习OpenStack的时候不会像学习其他具体软件产品那样容易上手。

  3. OpenStack 本身是一个分布式系统 
    大多数搞 IT 的对分布式计算都不会太熟悉。直接冲进来会被 OpenStack 繁多的组件以及他们之间的交互方式搞得云里雾里。

虽然 OpenStack 学习曲线比较陡峭,掌握起来难道较大,但 OpenStack 目前已经是 IaaS 云的事实标准,而且前途一片光明,对于我们搞 IT 的如果能啃下这个骨头,必定能大大提升自身的竞争力。

写给谁看

这套教程的目标读者包括:

  1. OpenStack初学者 
    CloudMan 学习 OpenStack 也是经历了一个艰辛曲折的过程。其主要原因在于没有找到一个系统教授OpenStack的教程,特别是针对初学者。大部分资料都比较分散,对于初学者无法有机地串起来。也正是因为这个原因,让我萌发了编写这样一套教程的想法,能够让初学者能够少走弯路,系统地学习、掌握和实践 OpenStack。

  2. OpenStack 实施工程师 
    之前说了,CloudMan在公司的职位是架构师,但骨子里我更把自己定位成一个能到一线攻城拔寨的实施工程师。所以这个教程也是针对 OpenStack 的实施人员,让他们能够通过学习真正掌握部署OpenStack 的知识、技能以及故障排查技巧。

  3. 我自己
    写这个教程同时也是对自己这几年学习和实践 OpenStack 的一个总结。
    我觉得:对于知识,只有把它写出来并能够让其他人理解才能真正说明自己掌握了这项知识。

包含哪些内容?

如下图,两大块:

  1. 预备知识
    因为面向初学者,首先会有虚拟化和云计算的“预备知识”,会介绍 KVM,IaaS 等技术。

  2. OpenStack核心
    这是主要内容,包含OpenStack的架构和和各个核心组件。将会通过大量的案例、操作步骤、截图、日志来帮助大家理解 OpenStack 各组件是如何工作的。
    其目标是让各位可以根据客户的需求进行配置和调整。

怎样的编写方式?

在当下这个共享经济时代,CloudMan觉得应该用互联网的方式来分享知识和心得。这个教程会通过CloudMan的微信公众号(cloudman6)每周1、3、5 定期发布。

用公众号我觉得有两个好处:

  1. 可以随时随地查看和浏览已推送的内容
  2. 可以通过公众号跟CloudMan互动,提出问题和建议

为啥叫《每天5分钟玩转 OpenStack》?

为了降低学习的难度并且考虑到移动端碎片化阅读的特点,每次推送的内容大家只需要花5分钟就能看完(注意这里说的是看完,有时候要完全理解可能需要更多时间哈),每次的内容只包含1-3个知识点,这也是我把教程命名为《每天5分钟玩转 OpenStack》的原因。虽然是碎片化推送,但整个教程是系统、连贯和完整的,只是化整为零了。

好了,今天这5分钟算是开了个头,下次我们正式开始玩转 OpenStack。

写在最前面 - 每天5分钟玩转 OpenStack(1)的更多相关文章

  1. 每天5分钟 玩转OpenStack 目录列表

    最近在学习 OpenStack 的相关知识,一直苦于 OpenStack 的体系庞大以及复杂程度,学习没有进度,停滞不前.偶然机会在 51CTO 上发现了一个热点的专题关于 OpenStack 的,题 ...

  2. cloud-init 典型应用 - 每天5分钟玩转 OpenStack(174)

    本节介绍几个 cloud-init 的典型应用:设置 hostanme,设置用户初始密码,安装软件. 设置 hostname cloud-init 默认会将 instance 的名字设置为 hostn ...

  3. 学习 OpenStack 的方法论 - 每天5分钟玩转 OpenStack(150)

    作为 OpenStack 的核心教程,我们已经到了最后总结的部分. OpenStack 目前已经有好几十个模块,本教程讨论的是最最重要的核心模块:Keystone,Nova,Glance,Cinder ...

  4. 虚拟化 - 每天5分钟玩转 OpenStack(2)

    OpenStack是云操作系统,要学习OpenStack,首先需要掌握一些虚拟化和云计算的相关知识. 虚拟化 虚拟化是云计算的基础.简单的说,虚拟化使得在一台物理的服务器上可以跑多台虚拟机,虚拟机共享 ...

  5. 你真的会 snapshot 吗? - 每天5分钟玩转 OpenStack(163)

    ​这是 OpenStack 实施经验分享系列的第 13 篇. instance snapshot 操作可用于备份或者将 instance 保存为新的 image.如果在生产系统中执行 snapshot ...

  6. 部署 DevStack - 每天5分钟玩转 OpenStack(17)

    本节按照以下步骤部署 DevStack 实验环境,包括控制节点和计算节点 创建虚拟机 按照物理资源需求创建 devstack-controller 和 devstak-compute 虚拟机 安装操作 ...

  7. Restore Volume 操作 - 每天5分钟玩转 OpenStack(60)

    前面我们 backup 了 voluem,今天我们将讨论如何 restore volume. restore 的过程其实很简单,两步走: 在存储节点上创建一个空白 volume. 将 backup 的 ...

  8. OpenStack 架构 - 每天5分钟玩转 OpenStack(15)

    终于正式进入 OpenStack 部分了. 今天开始,CloudMan 将带着大家一步一步揭开 OpenStack 的神秘面纱. OpenStack 已经走过了 6 个年头. 每半年会发布一个版本,版 ...

  9. 理解 Glance - 每天5分钟玩转 OpenStack(20)

    OpenStack 由 Glance 提供 Image 服务. 理解 Image 要理解 Image Service 先得搞清楚什么是 Image 以及为什么要用 Image? 在传统 IT 环境下, ...

随机推荐

  1. ThinkPHP框架的一些基础应用

    这是俺滴师傅给俺传授了的知识,特在此分享. TP框架,做PHP开发的都应该有所耳闻.下面,我们就来说说入口文件的生成: 创建新项目时,首先,在目录文件下创建一个新的文件夹.然后将Thinkphp框架文 ...

  2. sublime 安装 插件

    从菜单 View - Show Console 或者 ctrl + ~ 快捷键,调出 console.将以下 Python 代码粘贴进去并 enter 执行,不出意外即完成安装.以下提供 ST3 和 ...

  3. debian下Apache和tomcat整合(使用apt工具)

    最近部署web系统,需要使用tomcat处理和Apache整合使用,tomcat处理JSP,Apache处理静态资源.开始不知道怎么操作,在网上查阅资料走了很多弯路.完成时候,发现其实很简单,现将配置 ...

  4. browsersync实现网页实时刷新(修改LESS,JS,HTML时)

    var gulp = require("gulp"), less = require("gulp-less"), browserSync = require(& ...

  5. 在linux下Java的环境配置

    最近开始学习Java语言. 对于我这种初学者来说,一开始,我想先体验,大致看了一下Java语言是什么,如何实现... 然并卵o_O,表示看得很迷糊.还是实践最重要,把环境配置好再开始深入学习. 1.首 ...

  6. 解决overflow:hidden在安卓微信页面没有效果的办法

    在做h5移动端时候,发现overflow: hidden;在安卓微信页面失效问题,经研究和实验,用第三种方法和第四种方法可以解决! 1.完全隐藏 在<boby>里加入scroll=&quo ...

  7. TreeSet

    一.TreeSet中的元素比较有两种方式 1.定义一个类,实现Comparable接口  复写的是comparato方法 2.定义一个类,实现Comparator接口,覆盖compara方法(此种方法 ...

  8. oracle 全文检索创建脚本示例

    --创建全文索引 grant execute on ctx_ddl to username;--使用其他帐号对username授权exec ctx_ddl.create_preference('my_ ...

  9. PHP常用算法

    //二维数组的按某字段来排序(从小到大排序) function number_array_sort_asc($array,$key_name){ $arr = array(); foreach ($a ...

  10. DataTable转List(备忘)

    public static List ToList(DataTable dt) { List<Dictionary<string, object>> list = new Li ...