跳至主要内容

OpenStack Hacker Cheatsheet

0 阅读指南

1 OpenStack Hacker

  • 态度:开放、主动、沟通
  • 影响力:能说、能写、能分享
  • 四化:自动化、流程化、系统化、文档化

2 基础技能

Python

Linux

Git

Unittest

3 OpenStack 基础

The 5-minute Overview

OpenStack is a global collaboration of developers and cloud computing technologists producing the ubiquitous open source cloud computing platform for public and private clouds. The project aims to deliver solutions for all types of clouds by being simple to implement, massively scalable, and feature rich. The technology consists of a series of interrelated projects delivering various components for a cloud infrastructure solution. OpenStackcontrols large pools of compute, storage, and networking resources throughout a datacenter, all managed through a dashboard that gives administrators control while empowering their users to provision resources through a web interface. 1

OpenStack 基本概念

简单安装 OpenStack

环境设置

为了快速安装OpenStack,你要设置最快的apt源(或者设置yum源)和pypi源。
你也可以搭建自己的apt源和pypi源:

devstack 安装

devstack使用screen管理OpenStack各个服务,所以你要用screen调试OpenStack。

packstack(RHEL,CentOS) 安装

deb包安装


调戏 OpenStack

Python基本库

WSGI

重要的库

TESTING

OpenStack基础组件

在OpenStack中,有一个重要的项目叫做Oslo(原名是openstack-common),给OpenStack其他项目提供基础组件。

RPC组件

WSGI

OpenStack 代码规范

Python 深入学习

理解python中optparse.OptionParser类。 http://docs.python.org/library/optparse.html 理解collections.Mapping类。 http://docs.python.org/library/collections.html 分析浅拷贝,深拷贝http://blog.csdn.net/winterttr/article/details/2590741http://longmans1985.blog.163.com/blog/static/70605475200991603624942/http://book.51cto.com/art/200806/77233.htm LoggerAdapter类 http://docs.python.org/howto/logging-cookbook.html#context-info中。 介绍rabbitmq http://blog.ftofficer.com/2010/03/translation-rabbitmq-python-rabbits-and-warrens/ http://kombu.readthedocs.org/en/latest/introduction.html#synopsis Python Decorators入门 http://blog.csdn.net/beckel/article/details/3585352 Python @classmethod @staticmethod的区别。http://www.libaoyin.com/2013/08/06/pyhton-staticmethod-classmethod/ 五分钟理解元类(Metaclasses)http://www.cnblogs.com/coderzh/archive/2008/12/07/1349735.html nova中用到的python知识http://canx.me/2011/12/%E4%B8%80%E4%BA%9Bpython/ python中类的总结http://ipseek.blog.51cto.com/1041109/802243 with的总结 http://effbot.org/zone/python-with-statement.htmPool类 http://nullege.com/codes/search/eventlet.pools.Pool paste模块 http://pythonpaste.org/ python魔术方法http://pycoders-weekly-chinese.readthedocs.org/en/latest/issue6/a-guide-to-pythons-magic-methods.htmlRoutes模块 http://routes.readthedocs.org/en/latest/index.html yield学习

4 OpenStack 整体架构

架构图

工作流

Keystone Workflow

Nova Workflow

OpenStack 核心项目

对各个项目简要分析:http://www.slideshare.net/randybias/state-of-the-stack-april-2013 核心项目的分析:
通用机制的分析:

5 OpenStack 部署/管理

OpenStack 自动化部署

OpenStack 监控

6 参与 OpenStack 社区

都在这里:https://wiki.openstack.org/wiki/Main_Page

7 OpenStack 二次开发

8 OpenStack 生态圈

评论

此博客中的热门博文

FW: VPC中的那些功能与基于OpenStack Neutron的实现

深入浅出新一代云网络 (一)-简述与端口转发 VPC的概念与基于vxlan的overlay实现很早就有了,标题中的“新”只是一个和传统网络的相对概念。但从前年开始,不同于以往基础网络架构的新一代SDN网络才真正越来越多的走进 国内 甲方厂商的视野,而从去年至今,笔者经历的诸多客户也在历经学习、测试后逐步将其部署入生产。与此同时,国内的公有云厂商们也或多或少地投入了对市场的教育成本,鼓励客户使用功能更强大,安全性更好的VPC网络。 什么是VPC VPC即virtual private cloud ,因其最大的特点还是网络方面,故行业内有时也称其为私有网络,在基础云计算环境之上,支持用户定义自己的虚拟网络,这个网络在逻辑上与云中的其他虚拟网络隔绝,用户可选择私有 IP 地址范围、创建子网以及配置路由表、网络网关和安全设置等。 传统基础网络的管理员视角: (当然实际上,以往的IT集成架构会基于业务需求和安全需求作复杂的 外-核心-汇聚-接入-用户的层次划分。) 从用户的视角甚至可以简化为: 实际云环境中,抛开云主机的安全组策略、上层交换设备的ACL等不谈,各用户处于同一层次的网络中,IP自然也由平台管理端分配。 而对于使用VPC网络的环境来说: 左边颜色区域是一个用户,右边颜色区域是另一个用户。两者各自的网络广播域不会互相影响,IP自然也可以由用户指定。从图中不难发现,与基础网络相比,路由正是VPC网络的核心。 那么开头所说的“功能更强大,安全性更好”具体指什么呢?功能更强大,指的是更便利、形式多样的互联互通、带宽分配等网络功能;安全性更好,指的是用户的私有网络隐藏在路由之内,不仅互不影响,还可以将访问控制的执行者,从云主机本身一直延伸到三层。 VPC-NAT NAT即网络地址转换,分为DNAT(目的地址转换)与SNAT(源地址转换),最直白地从常见功能目的来说, DNAT可以用于实现一个上层(路由的外层)地址的端口转发到下层(路由的内层)网络某个地址的某端口,SNAT可以用于实现多台云主机共享一个网关地址访问上层(路由的外层)网络。 第一个很好理解,4层端口转发。 有时候为了管理需要,要能在外层网络管理私网中的三台云主机,而这三台云主机仅有私网地址没有外层地址,那么可以使用端口转发,将路由外层地...

Set up Python3 Environment on CentOS

Required Software Packages, Tools, and Files Installing Packages $ sudo su - $ yum update $ yum groupinstall -y "development tools" $ yum install -y \ lsof \ wget \ vim-enhanced \ words \ which $ exit Configuring Git $ git config --global user.name "Your Name" $ git config --global user.email "your_email@example.com" Customizing Bash $ curl https://raw.githubusercontent.com/linuxacademy/content-python3-sysadmin/master/helpers/bashrc -o ~/.bashrc Customizing Vim $ curl https://raw.githubusercontent.com/linuxacademy/content-python3-sysadmin/master/helpers/vimrc -o ~/.vimrc Download and Install Python 3 from Source $ sudo su - [root] $ yum groupinstall -y "development tools" [root] $ yum install -y \ libffi-devel \ zlib-devel \ bzip2-devel \ openssl-devel \ ncurses-devel \ sqlite-devel \ readline-devel \ tk-devel \ gdbm-devel \ db4-devel \ libpcap-devel \ xz-devel \ expat-devel [root ] $...