項(xiàng)目十三 使用OpenStack的SDK創(chuàng)建虛擬機(jī)實(shí)例_第1頁(yè)
項(xiàng)目十三 使用OpenStack的SDK創(chuàng)建虛擬機(jī)實(shí)例_第2頁(yè)
項(xiàng)目十三 使用OpenStack的SDK創(chuàng)建虛擬機(jī)實(shí)例_第3頁(yè)
項(xiàng)目十三 使用OpenStack的SDK創(chuàng)建虛擬機(jī)實(shí)例_第4頁(yè)
項(xiàng)目十三 使用OpenStack的SDK創(chuàng)建虛擬機(jī)實(shí)例_第5頁(yè)
已閱讀5頁(yè),還剩42頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

CLOUDCOMPUTING使用OpenStack的SDK

創(chuàng)建虛擬機(jī)實(shí)例OpenStackPythonSoftwareDevelopmentKit(SDK),簡(jiǎn)稱OpenStackSDK。用于編寫Python自動(dòng)化腳本,創(chuàng)建和管理OpenStack中的云資源。SDK實(shí)現(xiàn)了Python與OpenStackAPI的綁定,使用戶能夠通過(guò)調(diào)用Python對(duì)象來(lái)執(zhí)行Python中的自動(dòng)化任務(wù),而不是直接使用REST調(diào)用。OpenStack命令行工具都是基于OpenStackSDK實(shí)現(xiàn)的。初學(xué)者應(yīng)該使用OpenStackSDK來(lái)進(jìn)行Python編程。OpenStackSDK提供了詳細(xì)的文檔,包括API參考、示例和教程等。熟悉這些文檔可以幫助初學(xué)者更好地了解OpenStackSDK的使用。本項(xiàng)目將帶領(lǐng)初學(xué)者搭建windows下OpenStackSDK的開發(fā)環(huán)境,學(xué)會(huì)OpenStackSDK的基本用法,能夠使用OpenStackSDK創(chuàng)建云主機(jī)。項(xiàng)目十三云計(jì)算基礎(chǔ)架構(gòu)平臺(tái)應(yīng)用任務(wù):一安裝Python開發(fā)環(huán)境二OpenStackSDK的基本用法三使用OpenStackSDK創(chuàng)建云主機(jī)任務(wù)一安裝Python開發(fā)環(huán)境Python是一種解釋型腳本編程語(yǔ)言,簡(jiǎn)單易用,學(xué)習(xí)成本低,代碼雅干凈。Python提供了豐富的標(biāo)準(zhǔn)庫(kù),同時(shí)擁有眾多的第三方庫(kù),功能強(qiáng)大,既可以開發(fā)小工具,也可以開發(fā)企業(yè)級(jí)應(yīng)用。本任務(wù)先來(lái)準(zhǔn)備開發(fā)環(huán)境,后續(xù)任務(wù)利用OpenStackSDK庫(kù)來(lái)連接OpenStack平臺(tái),然后使用其中的各種方法來(lái)操作OpenStack服務(wù)。1.安裝python3解釋器本教材將在windows下安裝python3解釋器,可以通過(guò)python官網(wǎng)下載地址(/downloads)下載python3,如下圖所示。安裝Python開發(fā)環(huán)境1.安裝python3解釋器選擇比較新的穩(wěn)定版本,例如可以選擇3.9的版本進(jìn)行下載。如果從官網(wǎng)下載比較慢,可以從國(guó)內(nèi)鏡像站點(diǎn)“/python/”下載,選擇3.9.13的安裝包,推薦使用64位版本,如右圖所示。安裝Python開發(fā)環(huán)境1.安裝python3解釋器安裝python3.9.13,過(guò)程比較簡(jiǎn)單。勾選添加環(huán)境變量,并按默認(rèn)路徑安裝,不要修改默認(rèn)路徑,避免后續(xù)出現(xiàn)路徑問(wèn)題。然后選擇“InstallNow”。如右圖所示。安裝Python開發(fā)環(huán)境2.安裝openstacksdk庫(kù)通過(guò)pip安裝OpenStackSDK到python3的環(huán)境中。pip是Python包管理工具,該工具提供了對(duì)Python包的查找、下載、安裝、卸載的功能。根據(jù)的官網(wǎng)介紹,不推薦安裝python-openstacksdk庫(kù)和各個(gè)openstack服務(wù)自己的python庫(kù),新用戶應(yīng)該使用統(tǒng)一的OpenStackSDK庫(kù)。OpenStackSDK封裝了OpenStack的API接口,用于幫助用戶構(gòu)建與OpenStack平臺(tái)協(xié)同工作的應(yīng)用程序。OpenStackSDK旨在提供一致且完整的訪問(wèn)OpenStackSDK服務(wù)的交互過(guò)程。所有的OpenStack命令行工具都可以使用OpenStackSDK實(shí)現(xiàn),OpenStackSDK能滿足絕大部分需求。安裝Python開發(fā)環(huán)境2.安裝openstacksdk庫(kù)要在python中使用OpenStackSDK,需要使用pip3命令進(jìn)行安裝,安裝命令為“pip3installopenstacksdk”,該命令會(huì)安裝最新版本的OpenStackSDK。該命令的安裝默認(rèn)是從國(guó)外的網(wǎng)站下載安裝,速度較慢,通??梢允褂脟?guó)內(nèi)的加速網(wǎng)站進(jìn)行下載,在windows中,打開控制臺(tái),輸入下面的命令,進(jìn)行安裝,命令中使用了清華大學(xué)的加速鏡像。安裝Python開發(fā)環(huán)境pip3installopenstacksdk-i/simple上面的安裝命令,如果不安裝最新版本,而只安裝特定版本,可以在命令中的“openstacksdk”后面添加版本號(hào)進(jìn)行安裝,如“pip3installopenstacksdk==0.103.0”安裝“0.103.0”版本。2.安裝openstacksdk庫(kù)安裝過(guò)程如果不出錯(cuò),則成功安裝,讀者應(yīng)注意安裝過(guò)程的提示信息。如果出現(xiàn)如下錯(cuò)誤信息,如右圖所示,說(shuō)明windows中缺少“MicrosoftVisualC++”14.0或更高版本的組件。安裝Python開發(fā)環(huán)境2.安裝openstacksdk庫(kù)出現(xiàn)錯(cuò)誤后,可以按ctrl鍵,點(diǎn)擊上頁(yè)圖中的連接“/visual-cpp-build-tools/”,打開微軟的站點(diǎn),如右圖所示。安裝Python開發(fā)環(huán)境點(diǎn)擊“下載生成工具”按鈕,開始下載。下載完成后,雙擊下載的文件“vs_BuildTools.exe”,按提示進(jìn)行安裝完成后,再次執(zhí)行上面的安裝openstacksdk命令,即可以正確安裝。3.設(shè)置openstack域名的對(duì)應(yīng)IP前面在安裝OpenStack服務(wù)的時(shí)候,OpenStack服務(wù)對(duì)應(yīng)的URL終端地址都使用了controller和compute的域名,所以,在windows下訪問(wèn)OpenStack時(shí),需要綁定域名。安裝Python開發(fā)環(huán)境在C:\Windows\System32\drivers\etc\hosts文件最后,添加下面兩行中的controller和compute域名與IP的對(duì)應(yīng)關(guān)系。0controller0compute4.安裝和設(shè)置開發(fā)工具目前Python開發(fā)的主流工具有兩個(gè),PyCharm和VisualStudioCode。前者是由JetBrains打造的一款PythonIDE,提供了三個(gè)版本,專業(yè)版、社區(qū)版和教育版。專業(yè)版是收費(fèi)軟件,需要付費(fèi)購(gòu)買,后兩個(gè)版本免費(fèi),但是功能有很多限制,有興趣的讀者可以去官網(wǎng)了解,其官網(wǎng)地址為:/PyCharm/;后者通常簡(jiǎn)稱為VSC,是微軟的產(chǎn)品,是一款免費(fèi)開源的現(xiàn)代化輕量級(jí)代碼編輯器,支持幾乎所有主流的開發(fā)語(yǔ)言的語(yǔ)法高亮、智能代碼補(bǔ)全、自定義快捷鍵、括號(hào)匹配和顏色區(qū)分、代碼片段、代碼對(duì)比Diff、GIT命令等特性,支持插件擴(kuò)展,并針對(duì)網(wǎng)頁(yè)開發(fā)和云端應(yīng)用開發(fā)做了優(yōu)化,軟件跨平臺(tái)支持Windows、Mac以及Linux,安裝包小,運(yùn)行流暢。安裝Python開發(fā)環(huán)境4.安裝和設(shè)置開發(fā)工具本教材采用VSC進(jìn)行Python代碼編寫,其官方地址為:/,如下圖所示,點(diǎn)擊“Downloadforfree”按鈕,會(huì)自動(dòng)根據(jù)用戶windows的版本,下載對(duì)應(yīng)的VSC版本。安裝Python開發(fā)環(huán)境4.安裝和設(shè)置開發(fā)工具下載完成后,雙擊下載的安裝文件,安裝過(guò)程中,首先需要同意一下許可協(xié)議,然后點(diǎn)擊下一步,安裝路徑使用默認(rèn)的位置,再次點(diǎn)擊下一步,選擇一下創(chuàng)建桌面快捷方式,這兩個(gè)重要界面如下圖所示。安裝Python開發(fā)環(huán)境4.安裝和設(shè)置開發(fā)工具選擇完成后,下一步,再下一步開始安裝,完成后,可以選擇直接啟動(dòng)VSC,如下圖所示,也可以取消啟動(dòng),后續(xù)點(diǎn)擊創(chuàng)建的桌面圖標(biāo)進(jìn)行啟動(dòng)。安裝Python開發(fā)環(huán)境4.安裝和設(shè)置開發(fā)工具VSC的安裝一般會(huì)自動(dòng)根據(jù)windows操作系統(tǒng)的語(yǔ)言設(shè)置,自動(dòng)安裝中文語(yǔ)言包,如果沒有安裝,啟動(dòng)后是英文界面,如下圖所示。安裝Python開發(fā)環(huán)境4.安裝和設(shè)置開發(fā)工具讀者可以參考下面的方法安裝中文語(yǔ)言包,將界面調(diào)整為中文。安裝Python開發(fā)環(huán)境點(diǎn)擊左側(cè)邊欄中的“Extensions”按鈕“”,打開擴(kuò)展面板,在擴(kuò)展面板中輸入“chinese”并回車,點(diǎn)擊搜索到的第一項(xiàng)“Chinese(Simplified)”,打開組件面板,如下圖所示。4.安裝和設(shè)置開發(fā)工具點(diǎn)擊組件“Chinese(Simplified)”面板中的按鈕“Install”,開始安裝中文語(yǔ)言包插件,安裝完成后,在VSC的右下角會(huì)出現(xiàn)如下圖所示的對(duì)話框。安裝Python開發(fā)環(huán)境4.安裝和設(shè)置開發(fā)工具點(diǎn)擊“ChangeLanguageandRestart”按鈕,進(jìn)行重啟,如果誤關(guān)掉了該對(duì)話框,也可以手動(dòng)重新啟動(dòng)VSC,啟動(dòng)后,即變?yōu)橹形慕缑?,如右圖所示。安裝Python開發(fā)環(huán)境4.安裝和設(shè)置開發(fā)工具如果不習(xí)慣深色界面,可以通過(guò)設(shè)置將界面調(diào)整為淺色,點(diǎn)擊左下角的“設(shè)置”按鈕,如右圖所示。安裝Python開發(fā)環(huán)境4.安裝和設(shè)置開發(fā)工具點(diǎn)擊“顏色主題”后,在彈出的菜單中選擇“淺色(VisualStudio)”,界面即切換為淺色,如右圖所示。安裝Python開發(fā)環(huán)境4.安裝和設(shè)置開發(fā)工具到此基本工作已完成,還需要安裝一下VSC的Python插件,就可以開始Python開發(fā)了,和安裝中文語(yǔ)言包的方法一樣,在擴(kuò)展面板里搜索“Python”,直接使用搜索到的微軟官方的Python插件,點(diǎn)擊“安裝”按鈕開始安裝,如右圖所示。安裝Python開發(fā)環(huán)境4.安裝和設(shè)置開發(fā)工具安裝完成后,關(guān)掉“擴(kuò)展Python面板”,下面就可以使用VSC進(jìn)行openstack的開發(fā)了,VSC以文件夾的形式組織項(xiàng)目,因此需要先建一個(gè)固定的文件夾作為openstack開發(fā)的位置,本教材使用“D:/openstackdev”,使用“文件”菜單中的“打開文件夾...”,選擇打開文件夾“D:/openstackdev”,如右圖所示。安裝Python開發(fā)環(huán)境4.安裝和設(shè)置開發(fā)工具選擇文件夾后,界面如右圖所示。安裝Python開發(fā)環(huán)境4.安裝和設(shè)置開發(fā)工具為了保證項(xiàng)目開發(fā)過(guò)程中具有足夠的權(quán)限,在上頁(yè)圖所示的對(duì)話框中,點(diǎn)擊按鈕“是,我信任此作者”,VSC開發(fā)界面如右圖所示,既可以開發(fā)編寫Python代碼。安裝Python開發(fā)環(huán)境4.安裝和設(shè)置開發(fā)工具點(diǎn)擊文件夾名稱“OPENSTACKDEV”后的按鈕“新建文件...”,如右圖所示。安裝Python開發(fā)環(huán)境4.安裝和設(shè)置開發(fā)工具點(diǎn)擊“新建文件...”按鈕后,在資源管理器面板中輸入文件名“1.py”,如右圖所示。安裝Python開發(fā)環(huán)境4.安裝和設(shè)置開發(fā)工具輸入文件名后,回車,在編輯窗口打開文件1.py。下面編寫一個(gè)最基本的Python代碼,輸入如下代碼。安裝Python開發(fā)環(huán)境#!/usr/bin/python3print("Hello,World!")4.安裝和設(shè)置開發(fā)工具輸入完成后,在編輯器的空白區(qū)域點(diǎn)擊右鍵,選擇菜單中的“運(yùn)行Python-->在終端中運(yùn)行Python文件”,如右圖所示。安裝Python開發(fā)環(huán)境4.安裝和設(shè)置開發(fā)工具運(yùn)行后,在編輯器的下方打開終端面板,顯示運(yùn)行結(jié)果,如右圖所示。安裝Python開發(fā)環(huán)境任務(wù)二OpenStackSDK的基本用法本任務(wù)將學(xué)習(xí)openstacksdk的調(diào)用方法,包括使用Python腳本訪問(wèn)OpenStack平臺(tái),并列出所有用戶、所有項(xiàng)目以及所有域等操作。通過(guò)本任務(wù)的學(xué)習(xí),可以掌握如何使用OpenStackSDK提供的方法和類來(lái)實(shí)現(xiàn)這些操作,包括創(chuàng)建連接、身份驗(yàn)證、訪問(wèn)不同的服務(wù),并獲取所需的信息。下面編寫python代碼,使用OpenStackSDK訪問(wèn)OpenStack平臺(tái),獲取用戶信息,展示使用OpenStackSDK的基本流程。程序的整體設(shè)計(jì)思路,即使用OpenStackSDK庫(kù)訪問(wèn)OpenStack平臺(tái)的基本流程,如下:OpenStackSDK的基本用法(1)使用認(rèn)證信息,包括認(rèn)證服務(wù)器地址、用戶名、密碼、域,創(chuàng)建訪問(wèn)OpenStack平臺(tái)的連接。(2)使用上述認(rèn)證信息,初始化用戶管理類,創(chuàng)建訪問(wèn)OpenStack平臺(tái)的連接。(3)通過(guò)用戶管理類,利用連接訪問(wèn)OpenStack平臺(tái)的各種服務(wù)和資源。首先啟動(dòng)VSC工具,打開要使用的文件夾,本教材使用任務(wù)一創(chuàng)建的文件夾“D:\openstackdev”,在文件夾中新建Python文件sdk_identity.py,如下圖所示。OpenStackSDK的基本用法添加代碼如下:OpenStackSDK的基本用法1importjson2importopenstack34defcreate_connection(auth_URL,user_domain_name,username,password):5returnopenstack.connect(6auth_url=auth_URL,7user_domain_name=user_domain_name,8username=username,9password=password,10)1112classuser_manager:13def__init__(self,connect:openstack.connection.Connection):14self.connect=connect15OpenStackSDK的基本用法16deflist_users(self):17users=self.connect.identity.users()18user_jsons={}19foruserinusers:20user_jsons[user['name']]=user21returnjson.dumps(user_jsons,indent=2)2223deflist_projects(self):24projects=jects()25projects_jsons={}26foriteminprojects:27projects_jsons[item['name']]=item28returnjson.dumps(projects_jsons,indent=2)29OpenStackSDK的基本用法30deflist_domains(self):31items=self.connect.identity.domains()32items_jsons={}33foriteminitems:34items_jsons[item['name']]=item35returnjson.dumps(items_jsons,indent=2)36OpenStackSDK的基本用法37

if__name__=='__main__':38

auth_URL="0:5000/v3/"39

username="admin"40

password="000000"41

user_domain_name='demo'42

conn=create_connection(auth_URL,user_domain_name,username,password)43

user_m=user_manager(conn)44

print("-------users-------")45

result=user_m.list_users()46

print(result)47

print("-------projects-------")48

result=user_m.list_projects()49

print(result)50

print("-------domains-------")51

result=user_m.list_domains()52

print(result)OpenStackSDK的基本用法運(yùn)行代碼,執(zhí)行結(jié)果打印出查詢到的“用戶”、“項(xiàng)目”和“域”信息,說(shuō)明python代碼成功調(diào)用了OpenStackSDK庫(kù),并訪問(wèn)了OpenStack服務(wù),運(yùn)行結(jié)果如右圖所示。注意:要深入學(xué)習(xí)使用Python操作OpenStack,可以查看官方文檔https://docs./openstacksdk/latest/user/index.html。任務(wù)三使用OpenStackSDK創(chuàng)建云主機(jī)本任務(wù)將通過(guò)OpenStackSDK提供的方法來(lái)實(shí)現(xiàn)云主機(jī)的創(chuàng)建。首先需要進(jìn)行身份認(rèn)證以獲取訪問(wèn)令牌,然后使用OpenStackSDK提供的接口和方法,傳遞必要的參數(shù)和配置信息,來(lái)發(fā)起創(chuàng)建云主機(jī)的請(qǐng)求。完成后,在web頁(yè)面中,查看創(chuàng)建的云主機(jī)。通過(guò)如下的步驟,在Python程序中訪問(wèn)OpenStack,并創(chuàng)建云主機(jī)。使用OpenStackSDK創(chuàng)建云主機(jī)(1)創(chuàng)建訪問(wèn)OpenStack平臺(tái)的連接。(2)使用連接分別初始化主機(jī)管理類、鏡像管理類、模板管理類、網(wǎng)絡(luò)管理類。(3)通過(guò)主機(jī)管理類,利用連接按照傳入的主機(jī)名稱、鏡像名稱,模板名稱,網(wǎng)絡(luò)名稱,創(chuàng)建對(duì)應(yīng)的主機(jī)。在VSC中,新建python文件sdk_compute.py,代碼如下。使用OpenStackSDK創(chuàng)建云主機(jī)1importjson2importopenstack34defcreate_connection(auth_URL,user_domain_name,username,password):5returnopenstack.connect(6auth_url=auth_URL,7user_domain_name=user_domain_name,8username=username,9password=password,10)11使用OpenStackSDK創(chuàng)建云主機(jī)12classserver_manager:13def__init__(self,connect):14self.connect=connect1516deflist_servers(self):17items=pute.servers()18server_jsons={}19fori_serverinitems:20server=i_server.to_dict()21server_jsons[server['name']]=server22returnjson.dumps(server_jsons,indent=2,skipkeys=True)23使用OpenStackSDK創(chuàng)建云主機(jī)24defcreate_server(self,server_name,image_name,flavor_name,networks_name):25image=pute.find_image(image_name)26flavor=pute.find_flavor(flavor_name)27networks=work.find_network(networks_name)28server=pute.create_server(29

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論