




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
《OpenStack云計算實戰(zhàn)》大數(shù)據(jù)創(chuàng)新人才培養(yǎng)系列第1章OpenStack云計算基礎云計算概述Linux虛擬化技術了解OpenStackOpenStack架構OpenStack部署1.1云計算概述云計算的最終目標是將計算、服務和應用作為一種公共設施提供給公眾,使人們能夠像使用水、電、煤氣和電話那樣使用計算機資源。云計算是提供虛擬化資源的模式,將以前的信息孤島轉(zhuǎn)化為靈活高效的資源池和具備自我管理能力的虛擬基礎架構,從而以更低的成本和更好的服務的形式提供給用戶。云計算架構面向服務,將計算、存儲和網(wǎng)絡類IT系統(tǒng)資源以服務的形式提供給用戶,用戶只需向云平臺請求所需的虛擬機來運行自己的應用系統(tǒng)。云計算是虛擬化技術的升級版,通過在數(shù)據(jù)中心部署云計算系統(tǒng),可以完成多數(shù)據(jù)中心之間的業(yè)務無感知遷移,并可為公眾同時提供服務,此時數(shù)據(jù)中心就成為云數(shù)據(jù)中心。云計算通過Internet按需交付共享資源,利用虛擬化可以實現(xiàn)云計算的所有功能。云計算的概念1.1云計算概述IaaS(基礎設施即服務)PaaS(平臺即服務)SaaS(軟件即服務)云計算架構1.1云計算概述公共云(PublicCloud)面向公眾提供的應用和存儲等資源,為外部客戶提供服務。最大優(yōu)點是其所應用的程序、服務及相關數(shù)據(jù)都存放在公共云端,用戶無需做相應的投資和建設。安全性存在一定風險,可用性不受用戶控制,存在一定的不確定性。私有云(PrivateCloud)服務不是供公眾使用,而是供自己內(nèi)部人員或分支機構使用。數(shù)據(jù)安全性、系統(tǒng)可用性、服務質(zhì)量都可由自己控制。細分為自有私有云(On-PremisePrivateCloud)和托管私有云(HostedPrivateCloud)?;旌显疲℉ybridCloud)既面向公共空間又面向私有空間提供服務,可以發(fā)揮出所混合的多種云計算模型各自的優(yōu)勢。有助于提供所需的、外部供應的擴展。云計算部署模式1.1云計算概述商用云計算平臺亞馬遜AWS(AmazonWebServices)MicrosoftAzure阿里云(AliCloud)開源云計算平臺OpenStackOpenNebulaEucalyptusCloudStack云計算解決方案1.1云計算概述BareMetalCloud可譯為裸金屬云,也可譯為裸機云,是一種提供物理服務器服務的云產(chǎn)品。“OnMetal”裸金屬云服務——采用OCP服務器和OpenStack的Ironic進行管理。主要產(chǎn)品IBM的的裸金屬服務器亞馬遜的i3裸金屬服務器阿里云的神龍云服務器裸金屬云(BareMetalCloud)云計算概述Linux虛擬化技術了解OpenStackOpenStack架構OpenStack部署1.2Linux虛擬化技術虛擬化體系結構計算機虛擬化基礎Hypervisor原生型(Native)宿主型(Hosted)全虛擬化和半虛擬化全虛擬化(FullVirtualization)半虛擬化(ParaVirtualization)1.2Linux虛擬化技術KVMXenLinux容器LXCDockerHyper-VVMwareESXiBaremetal與IronicOpenStack所支持的虛擬化技術1.2Linux虛擬化技術KVM模塊KVM模塊作為整個虛擬化環(huán)境的核心工作在系統(tǒng)空間,負責CPU和內(nèi)存的調(diào)度。QEMUQEMU作為模擬器工作在用戶空間,負責虛擬機I/O模擬。KVM架構KVM——基于Linux內(nèi)核的虛擬化解決方案KVM虛擬磁盤(鏡像)文件格式raw——原始的格式rcow2——QEMU引入的鏡像文件格式qed——qcow2的一種改型1.2Linux虛擬化技術Libvirt套件云計算概述Linux虛擬化技術了解OpenStackOpenStack架構OpenStack部署1.3了解OpenStackOpenStack作為一個云操作系統(tǒng),通過數(shù)據(jù)中心控制大型的計算、存儲、網(wǎng)絡資源池,并可以使用Web界面和API進行管理。什么是OpenStack1.3了解OpenStackOpenStack的主要項目儀表板(Dashboard)——Horizon計算(Compute)——Nova網(wǎng)絡(Network)——Neutron對象存儲(ObjectStorage)——Swift塊存儲(BlockStorage)——Cinder身份(Identity)——Keystone鏡像(Image)——Glance計量(Telemetry)——Ceilometer編排(Orchestration)——Heat數(shù)據(jù)庫(Database)——Trove數(shù)據(jù)處理(DataProcessing)——Sahara什么是OpenStackOpenStack的主要優(yōu)勢模塊松耦合組件配置靈活二次開發(fā)容易1.3了解OpenStackWeb前端(Webfrontend)工作負載置備(Workloadprovisioning)應用程序生命周期(Applicationlifecycle)編排(Orchestration)計算(Compute)網(wǎng)絡(Networking)存儲(Storage)共享服務(Sharedservices)OpenStack項目的組成監(jiān)控工具(Monitoringtools)優(yōu)化與策略工具(Optimization/Policytools)計費和商業(yè)邏輯(Billing/Businesslogic)多層工具(Multi-regiontools)部署和生命周期工具(Deployment/Lifecycletools)容器基礎架構(Containerinfrastructure)網(wǎng)絡功能虛擬化(NFV)每個項目由一系列進程、命令行腳本、數(shù)據(jù)庫和其他腳本組成。1.3了解OpenStackOpenStack基金會個人會員企業(yè)會員OpenStack社區(qū)技術委員會負責總體管理全部OpenStack項目項目技術負責人(ProjectTechnicalLead)管理項目內(nèi)事務社區(qū)對于個人會員而言是非常開放的個人只有加入基金會,才能享有會員權益OpenStack基金會與社區(qū)1.3了解OpenStack2010年10月,OpenStack第1個正式版本發(fā)布,其代號為Austin。起初計劃每隔幾個月發(fā)布一個全新的版本,并且以26個英文字母為首字母,從A到Z順序命名后續(xù)版本。2011年9月第4個版本Diablo發(fā)布時,定為每半年發(fā)布一個版本,分別是當年的春秋兩季。每個版本不斷改進,吸收新技術,實現(xiàn)新概念。OpenStack版本演變云計算概述Linux虛擬化技術了解OpenStackOpenStack架構OpenStack部署1.4OpenStack架構按照不同的功能和通用性劃分不同的項目,拆分子系統(tǒng)。按照邏輯計劃、規(guī)范子系統(tǒng)之間通信。通過分層設計整個系統(tǒng)架構。不同功能子系統(tǒng)間提供統(tǒng)一的API接口。OpenStack架構設計的基本原則1.4OpenStack架構OpenStack的概念架構(ConceptArchitecture)1.4OpenStack架構OpenStack的邏輯架構(LogicalArchitecture)1.4OpenStack架構基于AMQP協(xié)議的通信用于每個項目內(nèi)部各個組件之間的通信?;赟QL的通信用于各個項目內(nèi)部的通信?;贖TTP協(xié)議進行通信通過各項目的API建立的通信關系,API都是RESTfulWebAPI。通過NativeAPI實現(xiàn)通信OpenStack各組件和第三方軟硬件之間的通信。OpenStack組件之間的通信關系1.4OpenStack架構OpenSatck的多節(jié)點部署OpenStack的物理架構1.4OpenStack架構控制節(jié)點(ControlNode)支持服務(supportingservice)基礎服務擴展服務計算節(jié)點(ComputeNode)基礎服務擴展服務存儲節(jié)點(StorageNode)Cinder塊存儲服務Swift對象存儲服務共享文件服務OpenStack的物理架構一個計算節(jié)點至少需要兩個網(wǎng)絡端口,一個與控制節(jié)點進行通信,受控制節(jié)點統(tǒng)一調(diào)配;另一個與網(wǎng)絡節(jié)點和存儲節(jié)點進行通信控制節(jié)點一般來說只需要一個網(wǎng)絡端口用于通信和管理各個節(jié)點存儲節(jié)點最少需要兩個網(wǎng)絡接口,一個連接管理網(wǎng)絡,與控制節(jié)點進行通信,接受控制節(jié)點任務,受控制節(jié)點統(tǒng)一調(diào)配;另一個使用專門存儲網(wǎng)絡(數(shù)據(jù)網(wǎng)絡),與計算節(jié)點和網(wǎng)絡節(jié)點進行通信,完成控制節(jié)點下發(fā)的各類數(shù)據(jù)傳輸任務1.4OpenStack架構網(wǎng)絡節(jié)點(NetworkNode)提供者網(wǎng)絡(Providernetworks)自服務網(wǎng)絡(Self-servicenetworks)OpenStack的物理架構網(wǎng)絡節(jié)點通常需要3個網(wǎng)絡端口,分別用于與控制節(jié)點進行通信、與除控制節(jié)點之外的計算和存儲節(jié)點之間的通信、外部的虛擬機與相應網(wǎng)絡之間的通信1.4OpenStack架構Windows系列優(yōu)點是便于部署、管理和使用,深受國內(nèi)企業(yè)的青睞。多目標、易于管理和實現(xiàn)各種網(wǎng)絡服務的操作系統(tǒng)。穩(wěn)定性和可靠性不如UNIX及Linux。UNIX版本很多,大多要與硬件相配套,一般提供關鍵任務功能的完整套件,在高端市場處于領先地位。以其高效、穩(wěn)定的特點適用于運行任務重大的應用程序的平臺。需要專業(yè)網(wǎng)絡管理人員進行管理。Linux憑借其開放性和高性價比等特點,近年來獲得了長足發(fā)展,市場份額不斷增加。繼承了UNIX的全部優(yōu)點并加以發(fā)展實現(xiàn)網(wǎng)絡關鍵性應用的理想選擇。什么是OpenStack1.4OpenStack架構節(jié)點的組合可以從控制節(jié)點中分出一個專門的API節(jié)點,API節(jié)點去除Neutron服務之外的管理控制服務(如Nova、Glance、KeyStone等)。API節(jié)點又可以與網(wǎng)絡節(jié)點合二為一。數(shù)據(jù)庫服務器和消息隊列協(xié)議可以部署在控制節(jié)點(或API節(jié)點)上,也可以運行于網(wǎng)絡節(jié)點。Glance、KeyStone、Cinder服務可以在API節(jié)點運行,也可以在網(wǎng)絡節(jié)點上運行,還可以在控制節(jié)點上運行??梢詣?chuàng)建單獨的認證節(jié)點來運行KeyStone服務;還可以創(chuàng)建單獨的鏡像節(jié)點來運行Glance服務。存儲節(jié)點可以并到某個計算節(jié)點上。nova-compute與Neutron(openswitch、neutron-openvswitch-agent)服務必須在一個節(jié)點上運行,否則虛擬機實例無法獲得網(wǎng)絡分配。OpenStack的物理架構1.4OpenStack架構Internet(PulicNetwork)外部網(wǎng)絡(ExternalNetwork)管理網(wǎng)絡(ManagementNetwork)API網(wǎng)絡數(shù)據(jù)網(wǎng)絡(DataNetwork)項目(租戶)網(wǎng)絡(TenantNetwork)存儲訪問網(wǎng)絡(StorageAccessNetwork)存儲后端網(wǎng)絡(StorageBackendNetwork)OpenStack的物理網(wǎng)絡類型云計算概述Linux虛擬化技術了解OpenStackOpenStack架構OpenStack部署1.5OpenStack部署openSUSE和SUSELinuxEnterpriseServerRedHatEnterpriseLinux和CentOSUbuntu選擇操作系統(tǒng)平臺1.5OpenStack部署在大規(guī)模OpenStack生產(chǎn)環(huán)境中,每類節(jié)點都分別部署在若干臺物理服務器上,各司其職并互相協(xié)作。這樣的部署具備很好的性能、伸縮性和高可用性。在最小的實驗環(huán)境中,可以將各類節(jié)點部署到一臺物理服務器甚至是虛擬服務器上。這就是所謂的All-in-One部署,又稱一體化部署。部署拓撲1.5OpenStack部署DevStack在虛擬機上運行OpenStack。在物理機(PC或服務器)上以All-in-One(一體化)方式在單一節(jié)點上部署OpenStack。在物理機(PC或服務器)上以分布式方式部署OpenStack。OpenStack部署工具Devstack采用自動化源碼安裝,用戶只需要下載相應的OpenStack版本腳本,修改相關的配置文件,就可以實現(xiàn)自動化安裝,自動化解決依賴關系。Devstack適合部署OpenStack開發(fā)或教學環(huán)境,并不適合生產(chǎn)環(huán)境。1.5OpenStack部署FuelOpenStack工業(yè)級的自動化部署方案簡化和加速OpenStack各種配置模板的規(guī)模部署、測試和維護Fuel的系統(tǒng)框架OpenStack部署工具1.5OpenStack部署RDO利用RDO的Packstack安裝工具快速部署OpenStack云測試平臺利用RDO的TripleO產(chǎn)品在裸機上部署生產(chǎn)性云環(huán)境TripleO全稱“OpenStackOnOpenStack”,意思即為“云上云”底層云與上層云OpenStack部署工具1.5OpenStack部署RDOTripleO的架構OpenStack部署工具1.5OpenStack部署RDOTripleO的物理視圖OpenStack部署工具1.5OpenStack部署PuppetPuppet由Ruby語言編寫。Puppet是進入OpenStack自動化部署中的早期一批項目。主流的部署工具直接集成了POM(PuppetOpenstackModules)。AnsibleAnsible基于Python開發(fā),集合了眾多運維工具(如Puppet、Cfengine、Chef、Saltstack等)的優(yōu)點,實現(xiàn)了批量系統(tǒng)配置、批量程序部署、批量運行命令等功能。Ansible一方面總結了Puppet的設計上的得失,另一方面又改進了很多設計。OpenStack部署工具1.5OpenStack部署Linux操作系統(tǒng)的安裝、管理與運維。SQL數(shù)據(jù)庫系統(tǒng)安裝、配置、管理和優(yōu)化。計算機虛擬化技術,重點是KVM與Libvirt套件。網(wǎng)絡設備,包括網(wǎng)橋、交換機、路由器和防火墻。組網(wǎng)技術,包括DHCP、VLAN和iptables。存儲技術,包括文件系統(tǒng)、LVM、分布式存儲。Shell腳本及其編程。部署OpenStack的技術要求THANKS《OpenStack云計算實戰(zhàn)》大數(shù)據(jù)創(chuàng)新人才培養(yǎng)系列第2章人民郵電出版社單節(jié)點的OpenStack一體化部署使用Packstack安裝單節(jié)點OpenStack云平臺熟悉OpenStackDashboard操作界面創(chuàng)建虛擬機實例定制虛擬網(wǎng)絡實現(xiàn)虛擬機與外網(wǎng)通信2.1使用Packstack安裝單節(jié)點OpenStack云平臺創(chuàng)建虛擬機內(nèi)存建議16GBCPU(處理器)雙核且支持虛擬化硬盤不低于200GB網(wǎng)卡以橋接模式接入主機(物理機)網(wǎng)絡準備安裝環(huán)境2.1使用Packstack安裝單節(jié)點OpenStack云平臺在虛擬機中安裝CentOS7操作系統(tǒng)準備安裝環(huán)境2.1使用Packstack安裝單節(jié)點OpenStack云平臺NetworkManager服務禁用防火墻與SELinux設置網(wǎng)絡準備安裝環(huán)境NAME=eno16777736UUID=c84d0100-79f6-427b-8ced-0348b5df4ed7DEVICE=eno16777736ONBOOT=yesIPADDR=1NETNASK=GATEWAY=DNS1=142.1使用Packstack安裝單節(jié)點OpenStack云平臺設置主機名更改語言編碼設置時間同步在虛擬機的宿主機上部署一個NTP服務器,統(tǒng)一所有OpenStack實驗節(jié)點的系統(tǒng)時間。在虛擬機(作為All-in-One節(jié)點)上配置Chrony,使其與物理機的時間同步。準備安裝環(huán)境編輯/etc/chrony.conf,加入以下語句:server01iburst重啟時間同步服務使設置生效:systemctlrestartchronyd.service2.1使用Packstack安裝單節(jié)點OpenStack云平臺設置OpenStack庫確保openstack-queens軟件庫可用更新當前軟件包準備所需的軟件庫yuminstall-ycentos-release-openstack-queensyum-config-manager--enableopenstack-queensyumupdate-y2.1使用Packstack安裝單節(jié)點OpenStack云平臺支持qemu-kvm較新版本的安裝安裝yum-plugin-priorities插件切換到用于存放軟件源定義文件的目錄下載RDO官網(wǎng)針對CentOS7提供的軟件源定義文件delorean-deps.repo下載RDO官網(wǎng)針對CentOS7提供的軟件源定義文件delorean.repo升級所有包準備所需的軟件庫yum-yinstallyum-plugin-prioritiescd/etc/yum.repos.d/curl-O/centos7/delorean-deps.repocurl-O/centos7/current-passed-ci/delorean.repoyumupdate-y2.1使用Packstack安裝單節(jié)點OpenStack云平臺安裝openstack-packstack及其依賴包Packstack是RDO的OpenStack安裝工具,用于取代手動設置OpenStack。PackStack基于Puppet工具,通過Puppet部署OpenStack各組件。安裝Packstack安裝器yuminstall-yopenstack-packstack2.1使用Packstack安裝單節(jié)點OpenStack云平臺PackStack工具的基本用法--gen-answer-file=GEN_ANSWER_FILE:產(chǎn)生應答文件模板。--answer-file=ANSWER_FILE:依據(jù)應答文件的配置信息以非交互模式運行該工具。--install-hosts=INSTALL_HOSTS:在一組主機上一次性安裝,主機列表以逗號分隔。--allinone:所有功能集中安裝在單一主機上。運行Packstack安裝OpenStackpackstack[選項][--help]2.1使用Packstack安裝單節(jié)點OpenStack云平臺Packstack安裝過程運行Packstack安裝OpenStackInstalling:CleanUp[DONE]Discoveringipprotocolversion[DONE]#設置SSH密鑰Settingupsshkeys[DONE]#準備服務器Preparingservers[DONE]#安裝Puppet和探測主機詳情之前PreinstallingPuppetanddiscoveringhosts'details[DONE]#準備預裝的項目Preparingpre-installentries[DONE]#設置證書SettingupCACERT[DONE]#準備AMQP(高級消息隊列協(xié)議)項目PreparingAMQPentries[DONE]#準備MariaDB(現(xiàn)已代替MySQL)數(shù)據(jù)庫項目PreparingMariaDBentries[DONE]2.1使用Packstack安裝單節(jié)點OpenStack云平臺Packstack安裝過程運行Packstack安裝OpenStack#修正KeystoneLDAP參數(shù)FixingKeystoneLDAPconfigparameterstobeundefifempty[DONE]#準備Keystone(認證服務)項目PreparingKeystoneentries[DONE]#準備Glance(鏡像服務)項目PreparingGlanceentries[DONE]#檢查Cinder(卷存儲服務)是否有卷CheckingiftheCinderserverhasacinder-volumesvg[DONE]#準備Cinder(卷存儲服務)項目PreparingCinderentries[DONE]#準備NovaAPI(Nova對外接口)項目PreparingNovaAPIentries[DONE]#為Nova遷移創(chuàng)建SSH密鑰CreatingsshkeysforNovamigration[DONE]GatheringsshhostkeysforNovamigration[DONE]#準備NovaCompute(計算服務)項目PreparingNovaComputeentries[DONE]2.1使用Packstack安裝單節(jié)點OpenStack云平臺Packstack安裝過程運行Packstack安裝OpenStack#準備NovaScheduler(調(diào)度服務)項目PreparingNovaSchedulerentries[DONE]#準備NovaVNC(虛擬網(wǎng)絡控制臺)代理項目PreparingNovaVNCProxyentries[DONE]#準備OpenStack與網(wǎng)絡相關的Nova項目PreparingOpenStackNetwork-relatedNovaentries[DONE]#準備Nova通用項目PreparingNovaCommonentries[DONE]#以下準備Neutron(網(wǎng)絡組件)項目PreparingNeutronLBaaSAgententries[DONE]PreparingNeutronAPIentries[DONE]PreparingNeutronL3entries[DONE]PreparingNeutronL2Agententries[DONE]PreparingNeutronDHCPAgententries[DONE]PreparingNeutronMeteringAgententries[DONE]CheckingifNetworkManagerisenabledandrunning[DONE]2.1使用Packstack安裝單節(jié)點OpenStack云平臺Packstack安裝過程運行Packstack安裝OpenStack#準備OpenStack客戶端項目PreparingOpenStackCliententries[DONE]#準備Horizon儀表板項目PreparingHorizonentries[DONE]#以下準備Swift(對象存儲)項目PreparingSwiftbuilderentries[DONE]PreparingSwiftproxyentries[DONE]PreparingSwiftstorageentries[DONE]#準備Gnocchi(用于計費的時間序列數(shù)據(jù)庫作為服務)項目PreparingGnocchientries[DONE]#準備Redis(用于計費的數(shù)據(jù)結構服務器)項目PreparingRedisentries[DONE]#準備Ceilometer(計費服務)項目PreparingCeilometerentries[DONE]#準備Aodh(警告)項目PreparingAodhentries[DONE]2.1使用Packstack安裝單節(jié)點OpenStack云平臺Packstack安裝過程運行Packstack安裝OpenStack#準備Puppet模塊和配置清單PreparingPuppetmanifests[DONE]CopyingPuppetmodulesandmanifests[DONE]#應用控制節(jié)點(測試時可能需要較長時間)Applying1_controller.pp1_controller.pp:[DONE]#應用網(wǎng)絡節(jié)點(測試時可能需要較長時間)Applying1_network.pp1_network.pp:[DONE]#應用計算節(jié)點(測試時可能需要較長時間)Applying1_compute.pp1_compute.pp:[DONE]#應用Puppet配置清單ApplyingPuppetmanifests[DONE]Finalizing[DONE]2.1使用Packstack安裝單節(jié)點OpenStack云平臺Packstack安裝過程運行Packstack安裝OpenStack#安裝成功完成應用并給出其他提示信息****Installationcompletedsuccessfully******Additionalinformation:#執(zhí)行命令產(chǎn)生的應答文件*Anewanswerfilewascreatedin:/root/packstack-answers-20180606-112056.txt#未安裝時間同步。,需要確認CentOS7當前的系統(tǒng)時間正確,如果不正確,則需要修改*Timesynchronizationinstallationwasskipped.PleasenotethatunsynchronizedtimeonserverinstancesmightbeproblemforsomeOpenStackcomponents.#在用戶主目錄下產(chǎn)生keystonerc_admin文件,使用命令行工具需要使用它作為授權憑據(jù)*File/root/keystonerc_adminhasbeencreatedonOpenStackclienthost1.Tousethecommandlinetoolsyouneedtosourcethefile.2.1使用Packstack安裝單節(jié)點OpenStack云平臺Packstack安裝過程運行Packstack安裝OpenStack#訪問OpenStackDashboard(Web訪問接口),請使用keystonerc_admin中的登錄憑據(jù)*ToaccesstheOpenStackDashboardbrowseto1/dashboard.Please,findyourlogincredentialsstoredinthekeystonerc_admininyourhomedirectory.#安裝日志文件名及其路徑*Theinstallationlogfileisavailableat:/var/tmp/packstack/20180606-112055-8r6isW/openstack-setup.log#Puppet配置清單路徑*Thegeneratedmanifestsareavailableat:/var/tmp/packstack/20180606-112055-8r6isW/manifests使用Packstack安裝單節(jié)點OpenStack云平臺熟悉OpenStackDashboard操作界面創(chuàng)建虛擬機實例定制虛擬網(wǎng)絡實現(xiàn)虛擬機與外網(wǎng)通信2.2熟悉OpenStackDashboard操作界面OpenStackDashboard登錄界面OpenStackDashboard主界面2.2熟悉OpenStackDashboard操作界面OpenStackDashboard主界面OpenStackDashboard主界面2.2熟悉OpenStackDashboard操作界面用戶菜單與用戶設置OpenStackDashboard主界面2.2熟悉OpenStackDashboard操作界面項目(Project)管理界面2.2熟悉OpenStackDashboard操作界面管理員(Admin)管理界面2.2熟悉OpenStackDashboard操作界面身份管理中的用戶列表身份管理(Identity)界面2.2熟悉OpenStackDashboard操作界面修改用戶密碼身份管理(Identity)界面使用Packstack安裝單節(jié)點OpenStack云平臺熟悉OpenStackDashboard操作界面創(chuàng)建虛擬機實例定制虛擬網(wǎng)絡實現(xiàn)虛擬機與外網(wǎng)通信2.3創(chuàng)建虛擬機實例安全組列表添加安全組訪問規(guī)則2.3創(chuàng)建虛擬機實例訪問規(guī)則列表添加安全組訪問規(guī)則2.3創(chuàng)建虛擬機實例添加SSH訪問規(guī)則添加安全組訪問規(guī)則添加ICMP訪問規(guī)則2.3創(chuàng)建虛擬機實例創(chuàng)建密鑰對創(chuàng)建或?qū)朊荑€對2.3創(chuàng)建虛擬機實例密鑰對列表創(chuàng)建或?qū)朊荑€對2.3創(chuàng)建虛擬機實例創(chuàng)建鏡像添加鏡像2.3創(chuàng)建虛擬機實例鏡像列表添加鏡像2.3創(chuàng)建虛擬機實例從鏡像創(chuàng)建實例設置實例名稱和數(shù)量創(chuàng)建并運行虛擬機實例2.3創(chuàng)建虛擬機實例從鏡像創(chuàng)建實例設置實例的源創(chuàng)建并運行虛擬機實例2.3創(chuàng)建虛擬機實例從鏡像創(chuàng)建實例選擇實例類型創(chuàng)建并運行虛擬機實例2.3創(chuàng)建虛擬機實例從鏡像創(chuàng)建實例為實例選擇網(wǎng)絡創(chuàng)建并運行虛擬機實例2.3創(chuàng)建虛擬機實例從鏡像創(chuàng)建實例實例列表創(chuàng)建并運行虛擬機實例2.3創(chuàng)建虛擬機實例從鏡像創(chuàng)建實例顯示實例概況創(chuàng)建并運行虛擬機實例2.3創(chuàng)建虛擬機實例從鏡像創(chuàng)建實例實例控制臺創(chuàng)建并運行虛擬機實例2.3創(chuàng)建虛擬機實例直接創(chuàng)建實例設置實例的源創(chuàng)建并運行虛擬機實例2.3創(chuàng)建虛擬機實例直接創(chuàng)建實例實例列表創(chuàng)建并運行虛擬機實例2.3創(chuàng)建虛擬機實例直接創(chuàng)建實例卷列表創(chuàng)建并運行虛擬機實例2.3創(chuàng)建虛擬機實例直接創(chuàng)建實例在控制臺中測試網(wǎng)絡通信創(chuàng)建并運行虛擬機實例使用Packstack安裝單節(jié)點OpenStack云平臺熟悉OpenStackDashboard操作界面創(chuàng)建虛擬機實例定制虛擬網(wǎng)絡實現(xiàn)虛擬機與外網(wǎng)通信2.4定制虛擬網(wǎng)絡實現(xiàn)虛擬機與外網(wǎng)通信網(wǎng)絡代理插件配置文件/etc/neutron/plugins/ml2/ml2_conf.ini網(wǎng)絡接口br-ex配置文件
/etc/sysconfig/network-scripts/ifcfg-br-ex將網(wǎng)絡接口與外部橋接口br-ex進行關聯(lián)[ml2]type_drivers=vxlan,flattenant_network_types=vxlanmechanism_drivers=openvswitchDEVICE=br-exDEVICETYPE=ovsTYPE=OVSBridgeBOOTPROTO=staticIPADDR=1NETMASK=GATEWAY=DNS1=14ONBOOT=yesDEVICE=eno16777736TYPE=OVSPortDEVICETYPE=ovsOVS_BRIDGE=br-exONBOOT=yesHWADDR=00:0c:29:72:95:6e網(wǎng)絡接口eno16777736配置文件
/etc/sysconfig/network-scripts/ifcfg-eno167777362.4定制虛擬網(wǎng)絡實現(xiàn)虛擬機與外網(wǎng)通信顯示當前的網(wǎng)絡列表顯示當前的路由列表配置虛擬網(wǎng)絡2.4定制虛擬網(wǎng)絡實現(xiàn)虛擬機與外網(wǎng)通信刪除現(xiàn)有路由配置外部網(wǎng)絡創(chuàng)建一個外部網(wǎng)絡配置虛擬網(wǎng)絡2.4定制虛擬網(wǎng)絡實現(xiàn)虛擬機與外網(wǎng)通信配置外部網(wǎng)絡為外部網(wǎng)絡設置子網(wǎng)配置虛擬網(wǎng)絡2.4定制虛擬網(wǎng)絡實現(xiàn)虛擬機與外網(wǎng)通信配置外部網(wǎng)絡設置子網(wǎng)詳情配置虛擬網(wǎng)絡2.4定制虛擬網(wǎng)絡實現(xiàn)虛擬機與外網(wǎng)通信調(diào)整內(nèi)部網(wǎng)絡修改內(nèi)部網(wǎng)絡的子網(wǎng)設置配置虛擬網(wǎng)絡2.4定制虛擬網(wǎng)絡實現(xiàn)虛擬機與外網(wǎng)通信配置路由新建路由配置虛擬網(wǎng)絡2.4定制虛擬網(wǎng)絡實現(xiàn)虛擬機與外網(wǎng)通信配置路由為路由設置網(wǎng)關配置虛擬網(wǎng)絡2.4定制虛擬網(wǎng)絡實現(xiàn)虛擬機與外網(wǎng)通信配置路由為路由增加接口配置虛擬網(wǎng)絡2.4定制虛擬網(wǎng)絡實現(xiàn)虛擬機與外網(wǎng)通信查看網(wǎng)絡拓撲網(wǎng)絡拓撲配置虛擬網(wǎng)絡查看路由信息2.4定制虛擬網(wǎng)絡實現(xiàn)虛擬機與外網(wǎng)通信管理浮動IP的關聯(lián)分配浮動IP為虛擬機實例分配浮動IP地址2.4定制虛擬網(wǎng)絡實現(xiàn)虛擬機與外網(wǎng)通信已分配一個浮動IP分配浮動IP的虛擬機實例為虛擬機實例分配浮動IP地址2.4定制虛擬網(wǎng)絡實現(xiàn)虛擬機與外網(wǎng)通信在Linux計算機上使用SSH訪問虛擬機實例基本用法示例使用SSH訪問虛擬機實例ssh-i密鑰文件<用戶名>@<實例IP地址>[root@node-a~]#cd~/.ssh[root@node-a.ssh]#chmod700demo-key.pem[root@node-a~]#ssh-i~/.ssh/demo-key.pemcirros@4Theauthenticityofhost'4(3)'can'tbeestablished.RSAkeyfingerprintisSHA256:RKi9Iwl1j/3lBOzxXJ72Hiyk+leZKYuqswK6nZ+gaTg.RSAkeyfingerprintisMD5:54:0a:4a:0c:8e:8f:ef:9a:12:d1:ed:d8:29:7a:10:c7.Areyousureyouwanttocontinueconnecting(yes/no)?yesWarning:Permanentlyadded'4'(RSA)tothelistofknownhosts.$2.4定制虛擬網(wǎng)絡實現(xiàn)虛擬機與外網(wǎng)通信在Windows計算機上使用SSH訪問虛擬機實例導入SSH私鑰使用SSH訪問虛擬機實例設置遠程主機登錄信息2.4定制虛擬網(wǎng)絡實現(xiàn)虛擬機與外網(wǎng)通信在Windows計算機上使用SSH訪問虛擬機實例要求登錄密碼使用SSH訪問虛擬機實例終端窗口操作2.4定制虛擬網(wǎng)絡實現(xiàn)虛擬機與外網(wǎng)通信為虛擬機實例設置用戶賬戶和密碼修改root賬戶密碼使用SSH訪問虛擬機實例[root@node-a.ssh]#ssh-i~/.ssh/demo-key.pemfedora@8Lastlogin:SatJun906:29:192018from01[fedora@fedora~]$sudopasswdrootChangingpasswordforuserroot.Newpassword:Retypenewpassword:passwd:allauthenticationtokensupdatedsuccessfully.2.4定制虛擬網(wǎng)絡實現(xiàn)虛擬機與外網(wǎng)通信為虛擬機實例設置用戶賬戶和密碼在控制臺中以root賬戶和密碼登錄使用SSH訪問虛擬機實例2.4定制虛擬網(wǎng)絡實現(xiàn)虛擬機與外網(wǎng)通信項目網(wǎng)絡和提供者網(wǎng)絡并存基于提供者網(wǎng)絡的虛擬機實例2.4定制虛擬網(wǎng)絡實現(xiàn)虛擬機與外網(wǎng)通信基于提供者網(wǎng)絡創(chuàng)建虛擬機為實例選擇提供者網(wǎng)絡“public”基于提供者網(wǎng)絡的虛擬機實例2.4定制虛擬網(wǎng)絡實現(xiàn)虛擬機與外網(wǎng)通信基于提供者網(wǎng)絡創(chuàng)建虛擬機實例直接連接網(wǎng)絡“public”基于提供者網(wǎng)絡的虛擬機實例THANKS《OpenStack云計算實戰(zhàn)》大數(shù)據(jù)創(chuàng)新人才培養(yǎng)系列第3章人民郵電出版社OpenStack基礎環(huán)境OpenStack云部署架構設計主機節(jié)點網(wǎng)絡設置數(shù)據(jù)庫服務器及其配置消息隊列服務及其配置3.1OpenStack云部署架構設計示例架構的硬件配置示例架構的物理部署3.1OpenStack云部署架構設計控制節(jié)點運行Keystone身份服務、Glance鏡像服務、Nova計算服務的管理部分、Neutron網(wǎng)絡服務的管理部分、各種網(wǎng)絡代理和Horizon的Dashboard服務,以及像SQL數(shù)據(jù)庫、消息隊列和NTP(網(wǎng)絡時間協(xié)議)這樣的支持性服務??蛇x的部署組件有Cinder塊存儲、Swift對象存儲和Telemetry計量監(jiān)控等服務的管理部分??刂乒?jié)點至少需要兩個網(wǎng)絡接口。計算節(jié)點部署Nova計算服務的虛擬機管理器以運行虛擬機實例??梢圆渴鸩恢挂粋€計算節(jié)點。每個計算節(jié)點至少需要兩個網(wǎng)絡接口。示例架構的物理部署3.1OpenStack云部署架構設計塊存儲節(jié)點塊存儲節(jié)點是可選的。它包括Cinder塊存儲和Manila共享文件系統(tǒng)為虛擬機實例提供的磁盤存儲??梢圆渴鸩恢挂粋€塊存儲節(jié)點。每個塊存儲節(jié)點至少需要一個網(wǎng)絡接口。對象存儲節(jié)點對象存儲節(jié)點也是可選的。它提供Swift對象存儲服務用于存儲賬戶、容器和對象的磁盤。對象存儲服務要求兩個節(jié)點。每個節(jié)點至少需要一個網(wǎng)絡接口。示例架構的物理部署3.1OpenStack云部署架構設計網(wǎng)絡方案一:提供者網(wǎng)絡示例架構的虛擬網(wǎng)絡方案3.1OpenStack云部署架構設計網(wǎng)絡方案二:自服務網(wǎng)絡示例架構的虛擬網(wǎng)絡方案3.1OpenStack云部署架構設計管理用網(wǎng)絡提供者網(wǎng)絡主機節(jié)點的網(wǎng)絡拓撲OpenStack云部署架構設計主機節(jié)點網(wǎng)絡設置數(shù)據(jù)庫服務器及其配置消息隊列服務及其配置3.2主機節(jié)點網(wǎng)絡設置NetworkManager服務systemctldisableNetworkManagersystemctlstopNetworkManagersystemctlenablenetworksystemctlstartnetwork3.2主機節(jié)點網(wǎng)絡設置為各個主機節(jié)點配置網(wǎng)絡連接。為每個網(wǎng)卡配置IP地址、子網(wǎng)掩碼、默認網(wǎng)關和DNS服務器。連接外部網(wǎng)絡(公網(wǎng))的網(wǎng)卡通常不用配置IP地址,最后需要關聯(lián)網(wǎng)橋。每個節(jié)點設置可識別的主機名,并通過/etc/hosts文件來提供各節(jié)點主機的名稱解析。網(wǎng)絡連接配置localhostlocalhost.localdomainlocalhost4localhost4.localdomain4node-a::1localhostlocalhost.localdomainlocalhost6localhost6.localdomain6node-a1node-anode-a.localdomain2node-bnode-b.localdomain3.2主機節(jié)點網(wǎng)絡設置禁用防火墻禁用SELinux編輯/etc/selinux/config文件,將“SELINUX”的值設置為“disabled”,重啟系統(tǒng)使禁用SELinux生效。禁用防火墻與SELinuxsystemctldisablefirewalldsystemctlstopfirewalld3.2主機節(jié)點網(wǎng)絡設置Chrony簡介Chrony既可作時間服務器服務端,也可作客戶端。與ntp相比,Chrony更具優(yōu)勢。Chrony配置簡單,管理方便。chronyd是一個在系統(tǒng)后臺運行的守護進程。chronyc是用來監(jiān)控chronyd性能和配置其參數(shù)程序。編輯chrony主配置文件/etc/chrony.confserver參數(shù)指定時間服務器,可添加多臺時間服務器。allow參數(shù)指定可以連接此時間服務器的客戶端計算機,范圍可以是一臺主機、子網(wǎng)或者網(wǎng)絡。配置主機節(jié)點時鐘同步整個OpenStack環(huán)境中所有節(jié)點的時間必須是同步的。通常選擇一個控制節(jié)點作為其他節(jié)點的時間服務器。OpenStack云部署架構設計主機節(jié)點網(wǎng)絡設置數(shù)據(jù)庫服務器及其配置消息隊列服務及其配置3.3數(shù)據(jù)庫服務器及其配置MySQL、MariaDB和PostgreSQLMySQL版本支持多種存儲引擎,并通過InnoDB引擎實現(xiàn)ACID。MySQL不同存儲引擎的行為有較大差別,MyISAM引擎最快,因為只執(zhí)行很少的數(shù)據(jù)完整性檢查,適合于后端讀操作較多的;而對于敏感數(shù)據(jù)的讀寫來說,支持ACID特性的InnoDB則是更好的選擇。MariaDB是MySQL的一個分支,主要由開源社區(qū)在維護,目的是完全兼容MySQL。PostgreSQL支持大部分SQL標準并且提供許多其他高級特性,是一個只有單一存儲引擎的完全集成的數(shù)據(jù)庫。PostgreSQL具有極高的可靠性,支持高事務、任務關鍵型應用。它完全支持ACID特性。MySQL或MariaDB更適合網(wǎng)站與Web應用的快速數(shù)據(jù)庫后端。PostgreSQL針對事務型企業(yè)應用,支持增強ACID特性和數(shù)據(jù)完整性檢查。SQL數(shù)據(jù)庫3.3數(shù)據(jù)庫服務器及其配置驗證SQL數(shù)據(jù)庫在CentOS操作系統(tǒng)上部署OpenStack,建議選擇MariaDB。查看該數(shù)據(jù)庫服務的當前狀態(tài)MariaDB配置文件為/etc/f以及/etc/f.d/*.cnf。SQL數(shù)據(jù)庫[root@node-a~]#systemctlstatusmariadb●mariadb.service-MariaDB10.1databaseserverLoaded:loaded(/usr/lib/systemd/system/mariadb.service;enabled;vendorpreset:disabled)Active:active(running)sinceThu2018-06-1408:51:01CST;12hago3.3數(shù)據(jù)庫服務器及其配置手動安裝和配置SQL數(shù)據(jù)庫SQL數(shù)據(jù)庫(1)安裝SQL數(shù)據(jù)庫。通常安裝MariaDB。yuminstallmariadbmariadb-serverpython2-PyMySQL(2)創(chuàng)建并編輯/etc/f.d/f文件。[mysqld]bind-address=1default-storage-engine=innodbinnodb_file_per_table=onmax_connections=4096collation-server=utf8_general_cicharacter-set-server=utf8(3)啟動數(shù)據(jù)庫服務并將其配置為開機自動啟動。systemctlenablemariadb.servicesystemctlstartmariadb.service(4)運行mysql_secure_installation腳本。mysql_secure_installation3.3數(shù)據(jù)庫服務器及其配置NoSQL數(shù)據(jù)庫類型鍵值(Key-Value)存儲數(shù)據(jù)庫列存儲數(shù)據(jù)庫文檔型數(shù)據(jù)庫圖形(Graph)數(shù)據(jù)庫NoSQL數(shù)據(jù)庫適用場合數(shù)據(jù)模型比較簡單需要靈活性更強的IT系統(tǒng)對數(shù)據(jù)庫性能要求較高不需要高度的數(shù)據(jù)一致性對于給定鍵,比較容易映射復雜值的環(huán)境NoSQL數(shù)據(jù)庫3.3數(shù)據(jù)庫服務器及其配置NoSQL數(shù)據(jù)庫產(chǎn)品MongoDB是一個基于分布式文件存儲的數(shù)據(jù)庫產(chǎn)品。Memcached是一個用C語言開發(fā)的高性能的分布式內(nèi)存對象緩存系統(tǒng)。Redis是一個用C語言開發(fā)的的高性能鍵值存儲系統(tǒng)。NoSQL數(shù)據(jù)庫3.3數(shù)據(jù)庫服務器及其配置驗證NoSQL數(shù)據(jù)庫Redis作為OpenStack計量服務的組成員之間協(xié)作的后端驅(qū)動。Redis配置文件為/etc/redis.conf以及/etc/redis/*.conf。查看Redis服務的當前狀態(tài):身份服務對于各服務的認證機制使用Memcached來緩存令牌。查看Memcached的當前狀態(tài):NoSQL數(shù)據(jù)庫[root@node-a~]#systemctlstatusredis●redis.service-Redispersistentkey-valuedatabaseLoaded:loaded(/usr/lib/systemd/system/redis.service;enabled;vendorpreset:disabled)Drop-In:/etc/systemd/system/redis.service.d└─limit.confActive:active(running)sinceFri2018-08-3110:56:37CST;6hago[root@node-a~]#systemctlstatusmemcached●memcached.service-memcacheddaemonLoaded:loaded(/usr/lib/systemd/system/memcached.service;enabled;vendorpreset:disabled)Active:active(running)sinceFri2018-08-3110:56:38CST;9hago3.3數(shù)據(jù)庫服務器及其配置手動安裝NoSQL數(shù)據(jù)庫在控制節(jié)點上安裝RedisNoSQL數(shù)據(jù)庫(1)安裝相應的包:yuminstallredispython-redis(2)保持默認配置即可。(3)啟動Redis服務并將其配置為開機自動啟動。systemctlenableredis.servicesystemctlstartredis.service(1)安裝相應的包:yuminstallredispython-redis(2)保持默認配置即可。(3)啟動Redis服務并將其配置為開機自動啟動。systemctlenableredis.servicesystemctlstartredis.service3.3數(shù)據(jù)庫服務器及其配置手動安裝NoSQL數(shù)據(jù)庫在控制節(jié)點上安裝Memcached服務NoSQL數(shù)據(jù)庫(1)安裝相應的包:yuminstallmemcachedpython-memcached(2)編輯配置文件/etc/sysconfig/memcached,配置該服務使用控制節(jié)點的管理網(wǎng)絡地址,也就是在默認的“OPTIONS”參數(shù)設置中添加控制節(jié)點地址(替換controller):OPTIONS="-l,::1,controller"(3)啟動Memcached服務并將其配置為開機自動啟動。systemctlenablememcached.servicesystemctlstartmemcached.serviceOpenStack云部署架構設計主機節(jié)點網(wǎng)絡設置數(shù)據(jù)庫服務器及其配置消息隊列服務及其配置3.4消息隊列服務及其配置消息隊列消息隊列是一種應用程序?qū)贸绦虻耐ㄐ欧椒?。消息傳遞指的是程序之間通過在消息中發(fā)送數(shù)據(jù)進行通信,而不是通過直接調(diào)用彼此來通信。消息總線消息總線(MessageBus)是在消息隊列提供的技術上封裝出適合消息交互的業(yè)務場景。內(nèi)部服務進程之間的兩種通信方式事件通知(EventNotifaction)遠程過程調(diào)用(RPC)OpenStack所支持的消息隊列服務RabbitMQ:實現(xiàn)了AMQP的消息中間件服務,支持多種協(xié)議網(wǎng)關和編程語言。Qpid:Apache基金會下的頂層項目,實現(xiàn)了AMQP協(xié)議。ZeroMQ:開源的高性能異步消息庫,可以在沒有Server/Broker的情況下工作。消息隊列與消息總線3.4消息隊列服務及其配置AMQP系統(tǒng)的組成AMQP模型與原理3.4消息隊列服務及其配置消息的傳遞過程AMQP模型與原理(1)消息的產(chǎn)生(2)消息的交換(路由)交換器可為以下3種類型。?Direct(點對點)?Topic(發(fā)布——訂閱)?Fanout(多播)(3)緩存3.4消息隊列服務及其配置AMQP的通信機制AMQP模型與原理(1)建立連接(2)建立消息信道。(3)發(fā)送消息。(4)轉(zhuǎn)發(fā)消息。(5)接收消息。(6)確認消息。3.4消息隊列服務及其配置概述OpenStack云使用AMQP消息隊列協(xié)議。OpenStack各模塊之間的調(diào)度依賴于每個模塊的API接口,任何組件的調(diào)用都是通過AMQP進行消息傳遞,進而傳遞到相關的模塊。AMQP在OpenStack的工作中是一個通信連接樞紐,負責任何模塊的調(diào)度消息發(fā)送和分發(fā)。AMQP與OpenSatck3.4消息隊列服務及其配置Nova與AMQPAMQP與OpenSatck3.4消息隊列服務及其配置RabbitMQ簡介RabbitMQ是一個由erlang語言開發(fā)的AMQP的開源實現(xiàn)。RabbitMQ提供了基于消息的通信服務和遠程函數(shù)調(diào)用功能。RabbitMQ的遠程函數(shù)調(diào)用也是基于消息傳遞的。驗證RabbitMQRabbitMQ及其部署[root@node-a~]#systemctlstatusrabbitmq-server●rabbitmq-server.service-RabbitMQbrokerLoaded:loaded(/usr/lib/systemd/system/rabbitmq-server.service;enabled;vendorpreset:disabled)Drop-In:/etc/systemd/system/rabbitmq-server.service.d└─limits.confActive:active(running)sinceFri2018-08-3110:56:51CST;11hago3.4消息隊列服務及其配置手動安裝RabbitMQRabbitMQ及其部署(1)安裝消息隊列服務。yuminstallrabbitmq-server(2)啟動該服務并將其配置為開機自動啟動。systemctlenablerabbitmq-server.servicesystemctlstartrabbitmq-server.service(3)添加一個openstack用戶。rabbitmqctladd_useropenstackRABBIT_PASS用合適的密碼替換其中的RABBIT_PASS變量。(4)授予openstack用戶配置、寫入和讀取權限。rabbitmqctlset_permissionsopenstack".*"".*"".*"THANKS《OpenStack云計算實戰(zhàn)》大數(shù)據(jù)創(chuàng)新人才培養(yǎng)系列第4章人民郵電出版社OpenStackAPI與客戶端RESTfulAPI和WSGIOpenStackAPI的基本使用OpenStack命令行客戶端基于Horizon的Dashboard界面通過日志排查故障通用庫Oslo4.1RESTfulAPI和WSGIREST術語RepresentationalStateTransfer的縮寫,通常譯為表現(xiàn)層狀態(tài)轉(zhuǎn)化。表現(xiàn)層(Representation)資源的外在表現(xiàn)形式。資源可以有多種表現(xiàn)形式??蛻舳撕头掌髦g傳遞的是資源的表現(xiàn)形式??蛻舳瞬僮鲿尫掌鞫税l(fā)生狀態(tài)轉(zhuǎn)化,而這種轉(zhuǎn)化是建立在表現(xiàn)層之上的,所以就稱為表現(xiàn)層狀態(tài)轉(zhuǎn)化。REST特征面向資源是REST最明顯的特征,對于同一個資源的一組不同的操作,REST要求必須通過統(tǒng)一的接口來對資源執(zhí)行各種操作。REST是所有Web應用都應該遵守的架構設計指導原則。RESTfulAPI簡介4.1RESTfulAPI和WSGIOpenStack各個項目都提供了RESTful架構的API作為對外提供的接口。RESTful架構的核心是資源和資源的操作。OpenStack定義了很多的資源,并實現(xiàn)了針對這些資源的各種操作函數(shù)。其API服務進程接收到客戶端的HTTP請求時,一個所謂的“路由”模塊就會將請求的URL轉(zhuǎn)化成相應的資源,并路由到合適的操作函數(shù)上。OpenStack的RESTfulAPI4.1RESTfulAPI和WSGIWeb組件類型Web服務器(WSGIServer)Web應用程序(WSGIApplication)Web中間件(WSGIMiddleware)WSGI運行機制WSGI(Web服務器網(wǎng)關接口)4.1RESTfulAPI和WSGIPastePaste是Python的一套Web開發(fā)工具,可看作是一種Web框架的框架。Paste中包含的Python模塊有助于實現(xiàn)WSGI中間件,包括一個CGI應用程序框架和一個簡單的Web服務器。PasteDeployPasteDeploy是Python用來發(fā)現(xiàn)和配置WSGI應用的一種機制。PasteDeploy的主要用法就是從配置文件中生成一個WSGI應用程序。WebobWebob在WSGI中對請求環(huán)境變量進行封裝,通過對WSGI的請求與響應進行封裝來簡化WSGI應用的編寫。Router路由模塊Routers是用Python實現(xiàn)的類似Rails的URL路由系統(tǒng)。Routes模塊的主要功能就是將路徑映射到對應的動作。OpenStackAPI的傳統(tǒng)框架4.1RESTfulAPI和WSGIPecanPecan是一個輕量級的基于對象路由(分發(fā))的Python的Web框架。Pecan主要實現(xiàn)了URL路由功能,支持RESTfulAPI。使用Pecan開發(fā)REST服務,開發(fā)人員可以專注于實現(xiàn)每個API的功能。Pecan通過一個Python源碼式的配置文件就可以完成基本的配置。WSMEWSME的全稱是WebServiceMadeEasy,是專門用于實現(xiàn)REST服務的typing庫,讓開發(fā)人員不需要直接操作請求和響應對象,而且和Pecan這個框架結合得非常好。WSME自動檢查HTTP請求和響應中的數(shù)據(jù)是否符合預先設定的要求,主要通過裝飾器來控制controller方法的輸入和輸出。OpenStackAPI所用的新型框架RESTfulAPI和WSGIOpenStackAPI的基本使用OpenStack命令行客戶端基于Horizon的Dashboard界面通過日志排查故障通用庫Oslo4.2OpenStackAPI的基本使用cURL命令利用URL規(guī)則在命令行下工作,支持包括HTTP、HTTPS、FTP等眾多協(xié)議,支持POST、cookies、認證、從指定偏移處下載部分文件、用戶代理字符串、限速、文件大小、進度條等特性。OpenStack命令行客戶端提供一個統(tǒng)一的命令行工具openstackREST客戶端瀏覽器通過Web接口使用OpenStack服務。Horizon項目是一個Django應用,實現(xiàn)了一個面板功能,包含了前后端的代碼。OpenStack的PythonSDK使用PythonSDK編寫Python自動化腳本在OpenStack云中創(chuàng)建和管理資源。該SDK實現(xiàn)對OpenStackAPI的Python綁定,讓開發(fā)人員通過Pytho
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 供貨協(xié)議合同范例酒水
- 廠區(qū)監(jiān)控維保合同范例
- 確保資金使用效率的管理措施計劃
- 公共場所安保人員培訓計劃
- 幼兒園多元智能發(fā)展計劃
- 心理契約與員工忠誠度計劃
- 新媒體對傳統(tǒng)閱讀習慣的影響計劃
- 改進供水調(diào)度系統(tǒng)計劃
- 《清鎮(zhèn)市站街鎮(zhèn)龍灘前明鋁鐵礦山有限公司清鎮(zhèn)市站街鎮(zhèn)龍灘前明鋁鐵礦(延續(xù))礦產(chǎn)資源綠色開發(fā)利用方案(三合一)》評審意見
- 四川省釩鈦產(chǎn)業(yè)投資發(fā)展有限公司四川省鹽邊縣紅格南釩鈦磁鐵礦二合一方案情況
- Q∕SY 05006-2016 在役油氣管道 第三方施工管理規(guī)范
- 數(shù)值分析 第二章 代數(shù)插值解析
- 給水排水管道工程質(zhì)量通病以及防治
- 計算機視覺全套課件
- 中國聯(lián)通IMS接口規(guī)范 第三分冊:Sh接口 V1.0
- protel完全教程(原理圖部分)
- 迎澤公園文化廣場歌詞匯集
- 環(huán)境化學物的毒性作用及其影響因素
- Q∕GDW 12176-2021 反竊電監(jiān)測終端技術規(guī)范
- 中軟統(tǒng)一終端安全管理平臺v90使用手冊
- 判斷抽樣(課堂PPT)
評論
0/150
提交評論