如何從零開始學習OpenStack?
採用自頂向下學習方法。先學習IaaS平台都提供什麼服務(虛擬機、虛擬硬碟、網路?),怎麼使用,如何與物理世界對應起來,可以註冊個AWS或者ustack帳號,熟悉其提供的功能和使用方法!然後自己開始手動部署openstack平台(不建議直接上Devstack或者Fuel、RDO,走一遍不知所以然),官方有ubuntu和centos詳細手動安裝步驟,比如ubuntu版本參考OpenStack Docs: OpenStack Installation Guide for Ubuntu,按照文檔一步一步做,親測基本不會有什麼錯誤,還能順便熟悉Opensatck CLI工具,從中了解其有哪些服務組件構成以及總體架構、數據流等。熟悉這些組件分別對應哪些功能實現,大體可以分為兩類,分別為基礎服務和擴展服務,基礎服務包括Glance(鏡像服務)、Nova(計算服務)、Neutron(網路服務)、Cinder(塊存儲服務)、Swift(對象存儲服務),其它的諸如Trove(資料庫服務)、Manila(文件共享服務)、Sahara(大數據服務)、Magnum(容器服務)等都是以上基礎服務的組合編排,歸為擴展服務,擴展服務通常按需部署,依賴於底層的基礎服務。o,差點忘了還有一個重中之重的公共服務keystone(認證服務)。如果對Openstack有了比較深的感性認識了,緊接著可以根據自己的興趣往一個方向鑽研,比如對Openstack整個架構感興趣,可以研究HA、調度、監控、架構優化等技術;對Cinder感興趣,可以深入研究分散式存儲技術,比如Ceph等;對網路感興趣,可以深入學習網路方面的知識,比如SDN技術、隧道技術、Overlay技術、Namespace技術等,對Nova感興趣深入研究虛擬化技術,比如Libvirt、KVM等。最後需要深入對源碼進行學習研究,並時時關注社區郵件列表、IRC、BP等,提交bug、貢獻代碼。
以上為個人看法,另外平時整理了些關於Openstack的資料GitHub - int32bit/openstack-cheat-sheet: openstack cheat sheet,包括郵件列表地址、bug列表、官方WIKI等,歡迎補充,相互交流!1)先安裝OpenStack的環境,幾種方法
第一種方法:先安裝docker,下載openstack的鏡像,關於docker的使用資料Docker資料 網上搜索一下,很多,比較容易學習和使用第二種方法:使用fuel來安裝 Fuel 30 分鐘快速安裝OpenStack
2)安裝後,先去熟悉如何應用OpenStack
3)建議你先從horizon模塊開始研究源碼,邊研究,邊試著做些修改,這樣切入比較容易點,千萬別以上來就去啃nova neutron模塊,難度太大,不太容易切如進去
4)開發環境可以考慮- pychorm
- devstack
另外,官方文檔資料寫的很詳細,多去看看
OpenStack Docs: Current
在另外,可以先去網上找些關於openstack的視頻,有助於理解openstack,視頻牧虎還沒有收錄,以後會添加,可以適當關注下。
Openstack的技術資料可以關注下牧虎網 - 一站式IT技術高價值資源分享平台,一些寫的較好的技術文章正在整理,會陸續分享。1建議先了解openstack的作用,市場,前景,堅定學習的信心和興趣2然後可以從horizon開始學習,這樣就很清楚openstack有哪些具體功能,也比直接看代碼更易接觸
3下載代碼,根據技術微博分析源碼,還可以進行需要的修改
先看結構,然後從某個功能模塊切入源碼看 openstack源碼解析之虛機創建
追加一個問題。需要對ovs進行一些了解和學習,網上看到很多內容,但都不系統,請問如何著手?是否有個大概的脈絡提綱?
看文檔、看代碼、改bug、看blueprint、
推薦閱讀: