您现在的位置 >> Hadoop教程 >> Hadoop实战 >> 专题  
 

OpenStack 精通指南(收藏-精华版)

【作者:Hadoop实战专家】【关键词:OpenStack 学习 基础 】 【点击:66084次】【2013-11-2】
为了快速安装OpenStack,你要设置最快的apt源(或者设置yum源)和pypi源。 devstack使用screen管理OpenStack各个服务,所以你要用screen调试OpenStack。 在OpenStack中,有一个重要的项目叫做Oslo(原名是openstack-common),给OpenStack其他项目提供基础组件。  

相关热门搜索:

大数据标签:hive bigdata

问题导读:

1、所谓工欲善其事,必先利其器,我们在有了足够的努力心外,还需要好的资料来学些!!

----此所谓,内外兼具

阅读指南

希望本文能够解开你心中萦绕已久的心结,假如是死结,请移步到 https://wiki.openstack.org/wiki/Main_Page

学习OpenStack其实就是学习各种Python库的过程。

把OpenStack的设计原则贴在你的墙上。 https://wiki.openstack.org/wiki/BasicDesignTenets

1、 OpenStack Hacker

态度:开放、主动、沟通

影响力:能说、能写、能分享

四化:自动化、流程化、系统化、文档化

2 、基础技能

Python

书籍:

《python参考手册》

《python基础教程》(正在学习电子版)

教程: Codecademy

挑战: Python Challenge

文档: Python v2.7.3 documentation

高阶:

The Hitchhiker’s Guide to Python!

Python Module of the Week

Linux

书籍:

鸟哥的Linux私房菜(有一定的学习经历和操作基础)

《Unix环境高级编程》

《UNIX系统编程》

Git

书籍:

Pro Git(正在学习)

GotGitHub

教程:

tryGit

GitImmersion

进阶:

visual-git-guide

a-successful-git-branching-model

最常用的git命令: Everyday GIT With 20 Commands Or So

Unittest

教程: python unittest

3 、OpenStack 基础

The 5-minute Overview

OpenStack is a global collaboration ofdevelopers and cloud computing technologists producing the ubiquitous opensource cloud computing platform for public and private clouds. The project aimsto deliver solutions for all types of clouds by being simple to implement,massively scalable, and feature rich. The technology consists of a series ofinterrelated projects delivering various components for a cloud infrastructuresolution. OpenStackcontrols large pools of compute, storage, and networkingresources throughout a datacenter, all managed through a dashboard that givesadministrators control while empowering their users to provision resourcesthrough a web interface.

11.png (188.65 KB, 下载次数: 0)

  

2014-6-10 11:26 上传

OpenStack 基本概念

介绍: https://www.openstack.org/software/

Compute管理员手册(必看):http://docs.openstack.org/trunk/openstack-compute/admin/content/ch_getting-started-with-openstack.html

OpenStack End User Guide(必看):http://docs.openstack.org/user-guide/content/

Network管理员手册:http://docs.openstack.org/folsom/openstack-network/admin/content/

Object Storage管理员手册:http://docs.openstack.org/folsom/openstack-object-storage/admin/content/

OpenStack文档:http://docs.openstack.org/

OpenStack词汇表:http://docs.openstack.org/glossary/content/glossary.html

使用命令行管理openstack: http://docs.openstack.org/cli/quick-start/content/index.html

OpenStack Wiki:https://wiki.openstack.org/wiki/Main_Page

简单安装 OpenStack

环境设置

为了快速安装OpenStack,你要设置最快的apt源(或者设置yum源)和pypi源。

设置apt源:http://blog.ubuntusoft.com/ubuntu-update-source.html

设置pypi源:http://www.v2ex.com/t/75316

你也可以搭建自己的apt源和pypi源:

搭建apt源:

http://blog.ef.net/2012/10/26/unbutu-release-upgrade-with-local-apt-mirror.html

http://www.cnblogs.com/kulin/archive/2012/08/08/2628400.html

搭建pypi源:

https://pypi.python.org/pypi/bandersnatch

devstack 安装

使用devstack安装 http://devstack.org

阅读devstack.sh脚本 http://devstack.org

screen的使用:http://www.9usb.net/201002/linux-screen-mingling.html

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

packstack(RHEL,CentOS) 安装

git仓库:https://github.com/stackforge/packstack

quickstart: http://openstack.redhat.com/Quickstart

deb包安装

使用VirtualBox安装OpenStack

在Ubuntu 12.04上安装OpenStack Folsom版(FlatDHCP+Multihost)

Ubuntu12.04.2 OpenStack Grizzly 安装(Bridge)

调戏 OpenStack

pdb:

http://docs.python.org/2/library/pdb.html

http://blog.csdn.net/hackerain/article/details/8373597

http://www.ibm.com/developerworks/cn/linux/l-cn-pythondebugger/

Python基本库

WSGI

eventlet.wsgi:http://eventlet.net/doc/examples.html#wsgi-server

webob: http://webob.org/

pecan: http://pecanpy.org/

wsme: http://pythonhosted.org/WSME/

paste: http://pythonpaste.org/

routes:http://routes.readthedocs.org/en/latest/

重要的库

SQLAlchemy:http://www.sqlalchemy.org/

libvirt: http://libvirt.org/index.html

logging:http://docs.python.org/2/howto/logging-cookbook.html

greenlet:http://greenlet.readthedocs.org/en/latest/

eventlet: http://eventlet.net/

kombu:http://kombu.readthedocs.org/en/latest/

oslo.config:https://wiki.openstack.org/wiki/Oslo#oslo.config

stevedore:http://stevedore.readthedocs.org/en/latest/

TESTING

PythonTestingToolsTaxonomy:http://wiki.python.org/moin/PythonTestingToolsTaxonomy (all in one)

testtools:https://readthedocs.org/projects/testtools/

mox:http://code.google.com/p/pymox/wiki/MoxDocumentation

mock:http://www.voidspace.org.uk/python/mock/

tox:http://tox.readthedocs.org/en/latest/

fixtures:https://pypi.python.org/pypi/fixtures

testscenarios:https://pypi.python.org/pypi/testscenarios/

nose:https://nose.readthedocs.org/en/latest/

testrepository:https://testrepository.readthedocs.org/en/latest/MANUAL.html

OpenStack基础组件

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

https://wiki.openstack.org/wiki/Oslo

RPC组件

RPC组件

http://blog.ftofficer.com/2010/03/translation-rabbitmq-python-rabbits-and-warrens/

http://www.rabbitmq.com/tutorials/tutorial-six-python.html

http://docs.openstack.org/developer/nova/devref/rpc.html

WSGI

http://archimedeanco.com/wsgi-tutorial/

OpenStack 代码规范

Python PEP8 规范:http://www.python.org/dev/peps/pep-0008/

OpenStack HACKING 规范:https://github.com/openstack-dev/hacking/blob/master/HACKING.rst

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/2590741

http://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.htm

Pool类

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.html

Routes模块

http://routes.readthedocs.org/en/latest/index.html

yield学习

http://www.pythonclub.org/python-basic/yield

http://blog.donews.com/limodou/archive/2006/09/04/1028747.aspx

http://www.ibm.com/developerworks/cn/opensource/os-cn-python-yield/

http://www.jeffknupp.com/blog/2013/04/07/improve-your-python-yield-and-generators-explained/

4 OpenStack 整体架构

架构图

必看:

http://ken.pepple.info/openstack/2012/09/25/openstack-folsom-architecture/

http://www.solinea.com/2013/06/15/openstack-grizzly-architecture-revisited/

http://www.slideshare.net/mirantis/open-stack-architecture-overviewmeetup662013

OpenStack架构

222.jpg (152.5 KB, 下载次数: 0)

  

2014-6-10 11:30 上传

工作流

Keystone Workflow

必看:

https://www.ibm.com/developerworks/community/blogs/e93514d3-c4f0-4aa0-8844-497f370090f5/entry/openstack_keystone_workflow_token_scoping?lang=zh

http://docs.openstack.org/trunk/openstack-compute/admin/content/keystone-concepts.html

444.png (141.81 KB, 下载次数: 0)

  

2014-6-10 11:31 上传

Keystone-workflow

Nova Workflow

必看:

https://www.ibm.com/developerworks/community/blogs/e93514d3-c4f0-4aa0-8844-497f370090f5/entry/openstack_nova_api?lang=en

http://ilearnstack.com/2013/04/26/request-flow-for-provisioning-instance-in-openstack/comment-page-1/

nova-api处理 REST 请求。

4444444.jpeg (42.56 KB, 下载次数: 0)

  

2014-6-10 11:31 上传

nova-server-request

nova创建虚拟机的工作流。

999999.png (458.9 KB, 下载次数: 0)

  

2014-6-10 11:32 上传

request-flow1-1024x665

OpenStack 核心项目

对各个项目简要分析:http://www.slideshare.net/randybias/state-of-the-stack-april-2013

核心项目的分析:

Keystone:

http://docs.openstack.org/developer/keystone/

http://www.slideshare.net/openstackindia/openstack-keystone-identity-service

Glance:

http://docs.openstack.org/developer/glance/

Nova:

http://docs.openstack.org/developer/nova/

https://www.ibm.com/developerworks/community/blogs/e93514d3-c4f0-4aa0-8844-497f370090f5/entry/openstack_nova_scheduler_and_its_algorithm27?lang=en

Cinder:

http://docs.openstack.org/developer/cinder/

Cinder grizzly deep dive pub

Neutron:

http://docs.openstack.org/developer/neutron/

http://www.slideshare.net/openstackindia/openstack-quantum-16710792

http://www.slideshare.net/lewtucker/openstack-quantum-network-service

http://www.slideshare.net/openstackindia/openstack-quantum-18418306

Horizon:

http://docs.openstack.org/developer/horizon/

Swift:

http://docs.openstack.org/developer/swift/

http://blog.csdn.net/alex890714/article/details/7314780

Swift架构与实践

Oslo:

通用机制的分析:

quota:http://blog.csdn.net/hackerain/article/details/8223125

policy: http://blog.csdn.net/hackerain/article/details/8241691

5 、OpenStack 部署/管理

OpenStack 自动化部署

Puppet:

https://wiki.openstack.org/wiki/Puppet-openstack

https://github.com/stackforge/puppet-openstack

https://puppetlabs.com/solutions/openstack/

Fule: Mirantis出品的部署工具,从裸机到OpenStack组件再到HA全部搞定

https://fuel.mirantis.com/

OpenStack 监控

OpenStack 监控:http://www.mirantis.com/blog/openstack-monitoring/

6 、参与 OpenStack 社区

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

山头: https://review.openstack.org/#/admin/groups

向社区提交Patch:https://wiki.openstack.org/wiki/How_To_Contribute

gerrit的使用:https://wiki.openstack.org/wiki/Gerrit_Workflow

Review别人的Patch:https://review.openstack.org

参与IRC Meeting:

https://wiki.openstack.org/wiki/Meetings

https://wiki.openstack.org/wiki/Mailing_Lists

https://wiki.openstack.org/wiki/People

参与邮件列表讨论:https://wiki.openstack.org/wiki/Mailing_Lists

跟踪OpenStack项目的发展:

http://www.openstack.org/blog/

http://planet.openstack.org/

https://wiki.openstack.org/wiki/Special:RecentChanges

http://github.com/openstack

https://github.com/stackforge/ (You willlike it)

https://github.com/openstack-dev/

https://github.com/openstack-infra

学习CI:http://ci.openstack.org/

7、 OpenStack 二次开发

开发Nova的扩展API:

https://www.ibm.com/developerworks/community/blogs/e93514d3-c4f0-4aa0-8844-497f370090f5/entry/openstack_nova_api?lang=zh

https://wiki.openstack.org/wiki/WritingRequestExtensions

http://stephanfr.com/2013/04/07/creating-an-openstack-keystone-helloworld-extension/

http://www.cnblogs.com/willier/archive/2013/05/22/3092961.html

开发Cinder的driver:

新的driver必须满足 Minimum Features,参考同类型的driver,依葫芦画瓢。

8 、OpenStack 生态圈

OpenStack幕后的公司:http://www.chenshake.com/behind-the-openstack-company

State of The Stack:http://www.slideshare.net/randybias/state-of-the-stack-april-2013(一针见血)

OpenStack贡献排行榜:http://stackalytics.com/

OpenStack实践分享:http://www.mirantis.com/blog/(mirantis是目前最成功的OpenStack系统集成商)

大数据系列相关文章:

最新评论
杰杰2014-09-10 10:50:42
她老姐都在,咋个好意思嘛?
JACK2014-09-10 07:35:50
[图片]我上传的文件在哪个文件夹下面?@零零散散
丫丫2014-09-10 05:45:19
老大,你有没有试试spark?
果冻Leon2014-09-09 11:26:35
不会直接拿库来用
myone2014-09-09 02:18:43
号码加入本群
 
  • Hadoop生态系统资料推荐