分享

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

本帖最后由 xioaxu790 于 2014-6-10 11:39 编辑
问题导读:
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



OpenStack 基本概念

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
环境设置
为了快速安装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) 安装

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

重要的库

TESTING
PythonTestingToolsTaxonomy:http://wiki.python.org/moin/PythonTestingToolsTaxonomy (all in one)
testtoolshttps://readthedocs.org/projects/testtools/
moxhttp://code.google.com/p/pymox/wiki/MoxDocumentation
mockhttp://www.voidspace.org.uk/python/mock/
toxhttp://tox.readthedocs.org/en/latest/
fixtureshttps://pypi.python.org/pypi/fixtures
testscenarioshttps://pypi.python.org/pypi/testscenarios/
nosehttps://nose.readthedocs.org/en/latest/
testrepositoryhttps://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 深入学习
理解pythonoptparse.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




工作流
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
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
nova-server-request



nova创建虚拟机的工作流。
999999.png
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

通用机制的分析:


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 监控


6 、参与 OpenStack 社区
向社区提交Patchhttps://wiki.openstack.org/wiki/How_To_Contribute
gerrit的使用:https://wiki.openstack.org/wiki/Gerrit_Workflow
Review别人的Patchhttps://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
学习CIhttp://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
开发Cinderdriver
新的driver必须满足 Minimum Features,参考同类型的driver,依葫芦画瓢。


8 、OpenStack 生态圈
OpenStack幕后的公司:http://www.chenshake.com/behind-the-openstack-company
State of The Stackhttp://www.slideshare.net/randybias/state-of-the-stack-april-2013(一针见血)
OpenStack贡献排行榜:http://stackalytics.com/
OpenStack实践分享:http://www.mirantis.com/blog/(mirantis是目前最成功的OpenStack系统集成商)



已有(9)人评论

跳转到指定楼层
zjy19811001 发表于 2014-6-10 16:18:29
你这总结也太到位了,学完也成学霸了。
回复

使用道具 举报

zengliang025 发表于 2015-1-5 12:46:06
相当专业,赞一个。
回复

使用道具 举报

deadwind 发表于 2015-1-23 18:01:37
不错,资料挺全的
回复

使用道具 举报

hackeren 发表于 2016-12-26 16:28:58
精彩的总结,资料很全~
回复

使用道具 举报

leonguo 发表于 2016-12-30 11:18:31
相当专业,赞一个。
回复

使用道具 举报

leonguo 发表于 2017-1-13 11:52:39
相当专业,赞一个。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条