OpenStack 學(xué)習(xí)

比較好的參考資料:
https://github.com/ntk148v/awesome-openstack
http://blog.csdn.net/u010305706/article/details/52206175
https://www.baidu.com/link?url=dk_kov2ZKWZZk5i50WwdUfI_aJYD6UiwHTJmb8QbO9OKBOeXVg8aOxRx4ZdHlELC6zaSi4_6NjSOVo6YIxTRWa&wd=&eqid=89f2abc5000147fb000000025a12bf9b

1. 如何學(xué)習(xí)OpenStack

參考:如何學(xué)習(xí)OpenStack
有一句說的很對:
如何學(xué)習(xí)和了解OpenStack,其實(shí)和你如何了解一個開源軟件,其實(shí)差不多。國內(nèi)由于很多原因,很多人都喜歡看中文的資料去了解和熟悉一個開源軟件,這樣其實(shí)效率是很低的。

【一萬小時法則】一項(xiàng)研究顯示,在任何領(lǐng)域取得成功的關(guān)鍵跟天分無關(guān),只是練習(xí)的問題,需要練習(xí)1萬個小時——10年內(nèi),每周練習(xí)20小時,大概每天3小時。中國有句古話“十年磨一劍”,其道理可謂異曲同工,沒有幾個會拒絕成功。但站立在金字塔頂?shù)某晒φ?,往往是少?shù)人。

OpenStack資料匯總

  1. Openstack的項(xiàng)目管理的網(wǎng)站
    可以看到Opentstack項(xiàng)目的組件的Blueprints和bugs列表,閱讀這些你就基本可以了解到Openstack過去,現(xiàn)在和未來.
  2. 查看各公司貢獻(xiàn),模塊開發(fā)數(shù)據(jù)分析
  3. IRC會議
  4. 如何提交代碼中文資料和視頻

2. OpenStack簡介及創(chuàng)建虛機(jī)原理

參考:openstack創(chuàng)建虛機(jī)
組件邏輯關(guān)系圖:

OpenStack新建云主機(jī)流程圖:


(1)界面或命令行通過RESTful API向keystone獲取認(rèn)證信息。
(2)keystone通過用戶請求認(rèn)證信息,并生成auth-token返回給對應(yīng)的認(rèn)證請求。
(3)界面或命令行通過RESTful API向nova-api發(fā)送一個boot instance的請求(攜帶auth-token)。
(4)nova-api接受請求后向keystone發(fā)送認(rèn)證請求,查看token是否為有效用戶和token。
(5)keystone驗(yàn)證token是否有效,如有效則返回有效的認(rèn)證和對應(yīng)的角色(注:有些操作需要有角色權(quán)限才能操作)。
(6)通過認(rèn)證后nova-api和數(shù)據(jù)庫通訊。

(7)初始化新建虛擬機(jī)的數(shù)據(jù)庫記錄。
(8)nova-api通過rpc.call向nova-scheduler請求是否有創(chuàng)建虛擬機(jī)的資源(Host ID)。
(9)nova-scheduler進(jìn)程偵聽消息隊(duì)列,獲取nova-api的請求。
(10)nova-scheduler通過查詢nova數(shù)據(jù)庫中計算資源的情況,并通過調(diào)度算法計算符合虛擬機(jī)創(chuàng)建需要的主機(jī)。
(11)對于有符合虛擬機(jī)創(chuàng)建的主機(jī),nova-scheduler更新數(shù)據(jù)庫中虛擬機(jī)對應(yīng)的物理主機(jī)信息。
(12)nova-scheduler通過rpc.cast向nova-compute發(fā)送對應(yīng)的創(chuàng)建虛擬機(jī)請求的消息。
(13)nova-compute會從對應(yīng)的消息隊(duì)列中獲取創(chuàng)建虛擬機(jī)請求的消息。
(14)nova-compute通過rpc.call向nova-conductor請求獲取虛擬機(jī)消息。(Flavor)
(15)nova-conductor從消息隊(duì)隊(duì)列中拿到nova-compute請求消息。
(16)nova-conductor根據(jù)消息查詢虛擬機(jī)對應(yīng)的信息。
(17)nova-conductor從數(shù)據(jù)庫中獲得虛擬機(jī)對應(yīng)信息。
(18)nova-conductor把虛擬機(jī)信息通過消息的方式發(fā)送到消息隊(duì)列中。
(19)nova-compute從對應(yīng)的消息隊(duì)列中獲取虛擬機(jī)信息消息。
(20)nova-compute通過keystone的RESTfull API拿到認(rèn)證的token,并通過HTTP請求glance-api獲取創(chuàng)建虛擬機(jī)所需要鏡像。
(21)glance-api向keystone認(rèn)證token是否有效,并返回驗(yàn)證結(jié)果。
(22)token驗(yàn)證通過,nova-compute獲得虛擬機(jī)鏡像信息(URL)。
(23)nova-compute通過keystone的RESTfull API拿到認(rèn)證k的token,并通過HTTP請求neutron-server獲取創(chuàng)建虛擬機(jī)所需要的網(wǎng)絡(luò)信息。
(24)neutron-server向keystone認(rèn)證token是否有效,并返回驗(yàn)證結(jié)果。
(25)token驗(yàn)證通過,nova-compute獲得虛擬機(jī)網(wǎng)絡(luò)信息。
(26)nova-compute通過keystone的RESTfull API拿到認(rèn)證的token,并通過HTTP請求cinder-api獲取創(chuàng)建虛擬機(jī)所需要的持久化存儲信息。
(27)cinder-api向keystone認(rèn)證token是否有效,并返回驗(yàn)證結(jié)果。
(28)token驗(yàn)證通過,nova-compute獲得虛擬機(jī)持久化存儲信息。
(29)nova-compute根據(jù)instance的信息調(diào)用配置的虛擬化驅(qū)動來創(chuàng)建虛擬機(jī)。

3. OpenStack 上傳鏡像

官方Centos OpenStack鏡像下載地址
執(zhí)行環(huán)境變量:

. /etc/openstack-control-script-config/demo-openrc

查看openstack所有鏡像:

glance image-list


上傳鏡像:

glance image-create --name "centos6-1710" --file CentOS7.2.qcow2.tar.gz --disk-format qcow2 --container-format bare --visibility public --progress

可能出現(xiàn)如下錯誤:


原因可能是:
1)/etc/glance/glance-api.conf 或/etc/glance/glance-registry.conf配置中未設(shè)置如下設(shè)置
[paste_deploy]
flavor = keystone
2)glance配置時,demo這個用戶未添加權(quán)限,切換為admin用戶就可以: 執(zhí)行環(huán)境變量:
. /etc/openstack-control-script-config/admin-openrc
再上傳鏡像
可以看到鏡像上傳成功了:

4. OpenStack 實(shí)例類型查看和添加

nano 查看當(dāng)前已有實(shí)例類型配置

openstack flavor list

示例:

openstack添加實(shí)例類型

openstack flavor create --id 1 --vcpus 2 --ram 4096 --disk 100 m2.nano

執(zhí)行結(jié)果:

也可以在horizon中創(chuàng)建:

5. OpenStack neutron使用

參考:http://www.cnblogs.com/popsuper1982/p/3800233.html
https://www.csdn.net/article/2015-06-18/2825000
openstack查看當(dāng)前網(wǎng)絡(luò)

openstack network list

執(zhí)行結(jié)果:

openstack創(chuàng)建網(wǎng)絡(luò)

openstack network create 【network name】

執(zhí)行結(jié)果:

創(chuàng)建虛擬網(wǎng)絡(luò)(網(wǎng)絡(luò)名為vmnet):

openstack network create --share --external --provider-physical-network provider --provider-network-type flat vmnet

創(chuàng)建子網(wǎng)(bds-net):

openstack bds-net create --networkprovider --allocation-poolstart=10.1.1.10,end=10.1.1.240 --dns-nameserver114.114.114.114 --subnet-range10.1.1.0/24 provider

openstack為一個網(wǎng)絡(luò)創(chuàng)建一個子網(wǎng)網(wǎng)絡(luò)

openstack subnet create --network provider
--allocation-pool start=${START_IP_ADDRESS},end=${END_IP_ADDRESS}
--dns-nameserver ${DNS_RESOLVER} --gateway ${PROVIDER_NETWORK_GATEWAY}
--subnet-range ${PROVIDER_NETWORK_CIDR} provider
執(zhí)行結(jié)果:

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容