版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
云操作系統(tǒng)應(yīng)用全套可編輯PPT課件
CONTENTS目錄第1章云計(jì)算概述從20世紀(jì)40年代世界上第一臺(tái)電子計(jì)算機(jī)誕生至今,已經(jīng)過去了半個(gè)多世紀(jì)。在這幾十年里,計(jì)算模式經(jīng)歷了單機(jī)、終端—主機(jī)、客戶端—服務(wù)器幾個(gè)重要時(shí)代,發(fā)生了翻天覆地的變化。在過去的幾十年里,互聯(lián)網(wǎng)將全世界的企業(yè)與個(gè)人連接了起來(lái),并深刻地影響著每個(gè)企業(yè)的業(yè)務(wù)運(yùn)作及每個(gè)人的日常生活。用戶對(duì)互聯(lián)網(wǎng)內(nèi)容的貢獻(xiàn)空前增加,軟件更多地以服務(wù)的形式通過互聯(lián)網(wǎng)被發(fā)布和訪問,而這些網(wǎng)絡(luò)服務(wù)需要海量的存儲(chǔ)和計(jì)算能力來(lái)滿足日益增長(zhǎng)的業(yè)務(wù)需求。1.1云計(jì)算簡(jiǎn)介互聯(lián)網(wǎng)使得人們對(duì)軟件的認(rèn)識(shí)和使用模式發(fā)生了潛移默化的改變。計(jì)算模式的變革必將帶來(lái)一系列的挑戰(zhàn)。如何獲取海量的存儲(chǔ)和計(jì)算資源?如何在互聯(lián)網(wǎng)這個(gè)無(wú)所不包的平臺(tái)上更經(jīng)濟(jì)地運(yùn)營(yíng)服務(wù)?各種新的IT技術(shù)對(duì)各行業(yè)將會(huì)產(chǎn)生怎樣的影響?如何才能使互聯(lián)網(wǎng)服務(wù)更加敏捷、更隨需應(yīng)變?如何讓企業(yè)和個(gè)人用戶更加方便、透徹地理解與運(yùn)用層出不窮的服務(wù)?1.1云計(jì)算簡(jiǎn)介“云計(jì)算”正是順應(yīng)這個(gè)時(shí)代大潮而誕生的信息技術(shù)理念。目前,無(wú)論是信息產(chǎn)業(yè)的行業(yè)巨頭還是新興科技公司,都把云計(jì)算作為企業(yè)發(fā)展戰(zhàn)略中的重要組成部分。云計(jì)算的號(hào)角已經(jīng)吹響,勢(shì)不可當(dāng)。本章將解釋什么是云計(jì)算,包括它的發(fā)展歷史與特征優(yōu)勢(shì),闡述云計(jì)算的體系結(jié)構(gòu),介紹最近趨勢(shì)火熱的開源項(xiàng)目OpenStack,最后展示一些經(jīng)典的云計(jì)算解決案例。1.1云計(jì)算簡(jiǎn)介1.1.1云計(jì)算概念與特征中國(guó)云計(jì)算專委會(huì)認(rèn)為,云計(jì)算最基本的概念是:通過整合、管理、調(diào)配分布在網(wǎng)絡(luò)各處的計(jì)算資源,并以統(tǒng)一的界面同時(shí)向大量用戶提供服務(wù)。借助云計(jì)算,網(wǎng)絡(luò)服務(wù)提供者可以在瞬息之間,處理數(shù)以千萬(wàn)計(jì)甚至億計(jì)的信息,實(shí)現(xiàn)和超級(jí)計(jì)算機(jī)同樣強(qiáng)大的效能同時(shí),用戶可以按需計(jì)量地使用這些服務(wù),從而實(shí)現(xiàn)讓計(jì)算成為一種公用設(shè)施來(lái)按需而用的夢(mèng)想。1.1.1云計(jì)算概念與特征國(guó)家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)定義:云計(jì)算是一種按使用量付費(fèi)的模式這種模式提供可用的、便捷的、按需的網(wǎng)絡(luò)訪問進(jìn)入可配置的計(jì)算資源共享池(資源包括網(wǎng)絡(luò)、服務(wù)器、存儲(chǔ)、應(yīng)用軟件、服務(wù))這些資源能夠被快速地提供,只需投入很少的管理工作,或與服務(wù)供應(yīng)商進(jìn)行很少的交互。1.1.1云計(jì)算概念與特征在云計(jì)算中,IT業(yè)務(wù)通常運(yùn)行在遠(yuǎn)程的分布式系統(tǒng)上,而不是在本地計(jì)算機(jī)或者單個(gè)服務(wù)器上。這個(gè)系統(tǒng)由互聯(lián)網(wǎng)相互連接,通過開放的技術(shù)和標(biāo)準(zhǔn)把硬件和軟件抽象為動(dòng)態(tài)可擴(kuò)展、可配置的資源,并對(duì)外以服務(wù)的形式提供給用戶。該系統(tǒng)允許用戶通過互聯(lián)網(wǎng)訪問這些服務(wù),并獲取資源。服務(wù)接口將資源在邏輯上以整合實(shí)體的形式呈現(xiàn),隱蔽其中的實(shí)現(xiàn)細(xì)節(jié)。該系統(tǒng)中業(yè)務(wù)的創(chuàng)建、發(fā)布、執(zhí)行和管理都可以在網(wǎng)絡(luò)上進(jìn)行,而用戶只需要按資源的使用量或者業(yè)務(wù)規(guī)模付費(fèi)。好比是從古老的單臺(tái)發(fā)電機(jī)模式轉(zhuǎn)向了電廠集中供電的模式。它意味著計(jì)算能力也可以作為一種商品進(jìn)行流通,就像煤氣、水電一樣,取用方便,費(fèi)用低廉。最大的不同是,它是通過互聯(lián)網(wǎng)進(jìn)行傳輸?shù)摹?.1.1云計(jì)算概念與特征云計(jì)算是:并行計(jì)算(ParallelComputing)分布式計(jì)算(DistributedComputing)網(wǎng)格計(jì)算(GridComputing)的發(fā)展或者說(shuō)是這些計(jì)算科學(xué)概念的商業(yè)實(shí)現(xiàn)。1.1.1云計(jì)算概念與特征云計(jì)算是:虛擬化(Virtualization)效用計(jì)算(UtilityComputing)將基礎(chǔ)設(shè)施作為服務(wù)IaaS(InfrastructureasaService)面向服務(wù)的架構(gòu)(SOA)等概念混合演進(jìn)并躍升的結(jié)果1.1.2云計(jì)算發(fā)展歷史云計(jì)算主要經(jīng)歷了4個(gè)階段才發(fā)展到現(xiàn)在這樣比較成熟的水平電廠模式效用計(jì)算網(wǎng)格計(jì)算云計(jì)算1.1.2云計(jì)算發(fā)展歷史(1)電廠模式階段:電廠模式就好比利用電廠的規(guī)模效應(yīng)來(lái)降低電力的價(jià),并讓用戶使用起來(lái)更方便,并且不需維護(hù)和購(gòu)買任何發(fā)電設(shè)備。(2)效用計(jì)算階段:在1960年左右,計(jì)算設(shè)備的價(jià)格是非常高昂的,遠(yuǎn)非普通企業(yè)、學(xué)校和機(jī)構(gòu)所能承受,所以很多人產(chǎn)生了共享計(jì)算資源的想法。1961年,人工智能之父麥肯錫在一次會(huì)議上提出了“效用計(jì)算”這個(gè)概念,其核心借鑒了電廠模式,具體目標(biāo)是整合分散在各地的服務(wù)器、存儲(chǔ)系統(tǒng)以及應(yīng)用程序來(lái)共享給多個(gè)用戶,讓用戶能夠像把燈泡插入燈座一樣來(lái)使用計(jì)算機(jī)資源,并且根據(jù)其所使用的量來(lái)付費(fèi)。但由于當(dāng)時(shí)整個(gè)IT產(chǎn)業(yè)還處于發(fā)展初期,很多強(qiáng)大的技術(shù)還未誕生,比如互聯(lián)網(wǎng)等,所以雖然這個(gè)想法一直為人稱道,但是總體而言“叫好不叫座”。1.1.2云計(jì)算發(fā)展歷史(3)網(wǎng)格計(jì)算階段:網(wǎng)格計(jì)算研究如何把一個(gè)需要非常巨大的計(jì)算能力才能解決的問題分成許多小的部分,然后把這些部分分配給許多低性能的計(jì)算機(jī)來(lái)處理,最后把這些計(jì)算結(jié)果綜合起來(lái)攻克大問題。可惜的是,由于網(wǎng)格計(jì)算在商業(yè)模、技術(shù)和安全性方面的不足,使得它并沒有在工程界和商業(yè)界取得預(yù)期的成功。(4)云計(jì)算階段:云計(jì)算的核心與效用計(jì)算和網(wǎng)格計(jì)算非常類似,也是希望IT技術(shù)能像使用電力那樣方便,并且成本低廉。但與效用計(jì)算和網(wǎng)格計(jì)算不同的是,2014年在需求方面已經(jīng)有了一定的規(guī)模,同時(shí)在技術(shù)方面也已經(jīng)基本成熟了。1.1.3云計(jì)算優(yōu)勢(shì)云計(jì)算極大地提高了互聯(lián)網(wǎng)應(yīng)用的用戶體驗(yàn)度,同時(shí)具備極低的成本。1.快速滿足業(yè)務(wù)需求輕松、快速地獲取服務(wù)靈活、可擴(kuò)展2.低成本、綠色節(jié)能集群分布式處理方式虛擬化提高設(shè)備效率3.提高資源管理效率集中化管理維護(hù)專業(yè)化系統(tǒng)部署他維護(hù)自動(dòng)化程度提高
云計(jì)算根據(jù)其服務(wù)集合所提供的服務(wù)類型,整個(gè)云計(jì)算服務(wù)被劃分成5個(gè)層次,這5個(gè)層次的每一層都對(duì)應(yīng)一個(gè)子服務(wù)1.2云計(jì)算體系架構(gòu)數(shù)據(jù)層應(yīng)用層平臺(tái)層基礎(chǔ)設(shè)施層虛擬化層數(shù)據(jù)即服務(wù)軟件即服務(wù)平臺(tái)即服務(wù)基礎(chǔ)設(shè)施即服務(wù)硬件即服務(wù)1631.2.1基礎(chǔ)設(shè)施即服務(wù)IaaS基礎(chǔ)設(shè)施即服務(wù)(IaaS)交付給用戶的是基本的基礎(chǔ)設(shè)施資源。用戶無(wú)須購(gòu)買、維護(hù)硬件設(shè)備和相關(guān)系統(tǒng)軟件,就可以直接在IaaS層上構(gòu)建自己的平臺(tái)和應(yīng)用。基礎(chǔ)設(shè)施向用戶提供虛擬化的計(jì)算資源、存儲(chǔ)資源和網(wǎng)絡(luò)資源。這些資源能夠根據(jù)用戶的需求進(jìn)行動(dòng)態(tài)分配。相對(duì)于軟件即服務(wù)(SaaS)和平臺(tái)即服務(wù)(PaaS),基礎(chǔ)設(shè)施即服務(wù)所提供的服務(wù)比較偏底層,但使用也更為靈活,比如,IaaS服務(wù)可根據(jù)用戶需求,提供一臺(tái)裝有操作系統(tǒng)的虛擬機(jī),用戶可用此虛擬機(jī)來(lái)運(yùn)行自己的業(yè)務(wù)。全球主流IaaS提供商有Amazon、Microsoft、Vmware、Rackspace和RedHat。1.2.1基礎(chǔ)設(shè)施即服務(wù)IaaSAmazonEC2服務(wù)是IaaS的典型案例。它的底層采用Xen虛擬化技術(shù),以Xen虛擬機(jī)的形式向用戶動(dòng)態(tài)提供計(jì)算資源。除了AmazonEC2的計(jì)算資源外,Amazon公司還提供簡(jiǎn)單存儲(chǔ)服務(wù)(SimpleStorageService,S3)等多種IT基礎(chǔ)設(shè)施服務(wù)。AmazonEC2的內(nèi)部細(xì)節(jié)對(duì)用戶是透明的,因此用戶可以方便地按需使用虛擬化資源。AmazonEC2向虛擬機(jī)提供動(dòng)態(tài)IP地址,并且具有相應(yīng)的安全機(jī)制來(lái)監(jiān)控虛擬機(jī)節(jié)點(diǎn)間的網(wǎng)絡(luò),限制不相關(guān)節(jié)點(diǎn)間的通信,從而保障了用戶通信的私密性。從計(jì)費(fèi)模式來(lái)看,EC2按照用戶使用資源的數(shù)量和時(shí)間計(jì)費(fèi),具有充分的靈活性。1.2.2平臺(tái)即服務(wù)PaaS平臺(tái)即服務(wù)(PaaS)交付給用戶的是豐富的“中間件資源”,這些資源包括應(yīng)用容器、數(shù)據(jù)庫(kù)和消息處理等。因此,平臺(tái)即服務(wù)面向的并不是普通的終端用戶,而是軟件開發(fā)人員,他們可以充分地利用這些開放的資源來(lái)開發(fā)定制化的應(yīng)用。PaaS公司在網(wǎng)上提供各種開發(fā)和分發(fā)應(yīng)用的解決方案,比如虛擬服務(wù)器和操作系統(tǒng)。這節(jié)省了用戶在硬件上的費(fèi)用,也讓分散的工作室之間各做更加容易,比如虛擬服務(wù)器和操作系統(tǒng)。1.2.2平臺(tái)即服務(wù)PaaS一些大的PaaS提供者有GoogleAppEngine、MicrosoftAzure、F、Heroku、EngineYard。最近興起的公司有AppFog、Mendix和StandingCloud。在PaaS上開發(fā)應(yīng)用和傳統(tǒng)的開發(fā)模式相比有著很大的優(yōu)勢(shì)。首先,由于PaaS提供的高級(jí)編程接口簡(jiǎn)單易用,因此軟件開發(fā)人員可以在較短時(shí)間內(nèi)完成開發(fā)工作,從而縮短應(yīng)用上線時(shí)間;其次,由于應(yīng)用的開發(fā)和運(yùn)行都基于同樣的平臺(tái),因此兼容性問題較少;再次,開發(fā)者無(wú)須考慮應(yīng)用的可伸縮性、服務(wù)容量等問題,因?yàn)镻aaS都已提供;最后,平臺(tái)層提供的運(yùn)營(yíng)管理功能還能夠幫助開發(fā)人員對(duì)應(yīng)用進(jìn)行監(jiān)控和計(jì)費(fèi)。1.2.2平臺(tái)即服務(wù)PaaS公司的GoogleAppEngine就是典型的PaaS實(shí)例。它向用戶提供了Web應(yīng)用開發(fā)平臺(tái)。由于GoogleAppEngine對(duì)Web應(yīng)用無(wú)狀態(tài)的計(jì)算和有狀態(tài)的存儲(chǔ)進(jìn)行了有效的分離,并對(duì)Web應(yīng)用所使用的資源進(jìn)行了嚴(yán)格的分配,因此使得該平臺(tái)上托管的應(yīng)用具有很好的自動(dòng)可伸縮性和高可用性。1.2.3軟件即服務(wù)SaaS軟件即服務(wù)(SaaS)交付給用戶的是定制化的軟件,即軟件提供方根據(jù)用戶的需求,將軟件或應(yīng)用通過租用的形式提供給用戶使用。SaaS大多是通過網(wǎng)頁(yè)瀏覽器來(lái)接入。任何一個(gè)遠(yuǎn)程服務(wù)器上的應(yīng)用都可以通過網(wǎng)絡(luò)來(lái)運(yùn)行。用戶消費(fèi)的服務(wù)完全是從網(wǎng)頁(yè)(如Netflix、MOG、GoogleApps、B、Dropbox或者蘋果的iCloud)那里進(jìn)入這些分類。盡管這些網(wǎng)頁(yè)服務(wù)是用作商務(wù)和娛樂或者兩者都有,但這也算是云技術(shù)的一部分。一些用于商務(wù)的SaaS應(yīng)用包括Citrix的GoToMeeting,Cisco的WebEx,Salesforce的CRM、ADP、Workday和SuccessFactors。1.2.3軟件即服務(wù)SaaSSaaS有三個(gè)特征:第一,用戶不需要在本地安裝該軟件的副本,也不需要維護(hù)相應(yīng)的硬件資源,該軟件部署并運(yùn)行在提供方自有的或者第三方的環(huán)境中;第二,軟件以服務(wù)的方式通過網(wǎng)絡(luò)交付給用戶,用戶端只需要打開瀏覽器或者某種客戶端工具就可以使用服務(wù);第三,雖然SaaS面向多個(gè)用戶,但那時(shí)每個(gè)用戶都感覺是獨(dú)自占有該服務(wù)。1.2.3軟件即服務(wù)SaaS這種軟件交付模式無(wú)論是在商業(yè)上還是技術(shù)上都是一個(gè)巨大的變革。對(duì)于用戶來(lái)說(shuō),他們不再需要關(guān)心軟件的安裝和升級(jí),也不需要要一次性購(gòu)買軟件許可證,而是根據(jù)租用服務(wù)的實(shí)際情況進(jìn)行付費(fèi),也就是“按需付費(fèi)”。對(duì)于軟件開發(fā)者而言,由于與軟件相關(guān)的所有資源都放在云中,開發(fā)者可以方便地進(jìn)行軟件的部署和升級(jí),因此軟件的生命周期不再明顯。開發(fā)者甚至可以每天對(duì)軟件進(jìn)行多次升級(jí),而對(duì)用戶來(lái)說(shuō)這些操作都是透明的,他們感覺到的只是質(zhì)量越來(lái)越完善的軟件服務(wù)。1.2.3軟件即服務(wù)SaaS另外,SaaS更有利于知識(shí)產(chǎn)權(quán)的保護(hù),因?yàn)檐浖母北颈旧聿粫?huì)提供給客戶,從而減少了反編譯等惡意行為發(fā)生的可能。S公司是SaaS概念的倡導(dǎo)者,它面向企業(yè)用戶推出了在線客戶關(guān)系管理軟件SalesforceCRM,已經(jīng)獲得了非常積極的市場(chǎng)反響。Google公司推出的Gmail和GoogleDocs等,也是SaaS的典型代表。1.2.4數(shù)據(jù)即服務(wù)DaaS數(shù)據(jù)即服務(wù)(DaaS)是指與數(shù)據(jù)相關(guān)的任何服務(wù)都能夠發(fā)生在一個(gè)集中化的位置,如聚合、數(shù)據(jù)質(zhì)量管理、數(shù)據(jù)清洗等,然后再將數(shù)據(jù)提供給不同的系統(tǒng)和用戶,而無(wú)需再考慮這些數(shù)據(jù)來(lái)自于哪些數(shù)據(jù)源。例如,對(duì)于天氣信息,可能A需要根據(jù)天氣信息來(lái)判斷出門穿著,B需要根據(jù)天氣信息判斷是否洗車,C需要根據(jù)天氣信息判斷是否準(zhǔn)備防洪防澇設(shè)施等。不同用戶均可利用DaaS滿足自己的訴求。1.2.4數(shù)據(jù)即服務(wù)DaaSDaaS是SaaS的孿生兄弟,作為“asaservice”家族成員之一,它將數(shù)據(jù)作為一種商品提供給任何有需求的組織或個(gè)人。SOA(serviceorientedarchitecture,面向服務(wù)的體系架構(gòu))是一種業(yè)務(wù)驅(qū)動(dòng)的、粗粒度、松耦合的服務(wù)架構(gòu),支持對(duì)業(yè)務(wù)進(jìn)行整合,使其成為一種相互聯(lián)系、可重用的業(yè)務(wù)任務(wù)或服務(wù),是實(shí)現(xiàn)DaaS最有效的方法。基礎(chǔ)異構(gòu)數(shù)據(jù)資源經(jīng)過數(shù)據(jù)整合后生成符合公共語(yǔ)言模式的視圖,最后利用Webservice技術(shù)將視圖封裝成具有公共接口的服務(wù)供用戶調(diào)用,從而實(shí)現(xiàn)數(shù)據(jù)資源的按需獲取。 OpenStack是一整套開源軟件項(xiàng)目的綜合,它允許企業(yè)或服務(wù)提供者建立、運(yùn)行自己的云計(jì)算和存儲(chǔ)設(shè)施。 Rackspace與NASA是最初重要的兩個(gè)貢獻(xiàn)者,前者提供了“云文件”平臺(tái)代碼,該平臺(tái)增強(qiáng)了OpenStack對(duì)象存儲(chǔ)部分的功能;
而后者帶來(lái)了“Nebula”平臺(tái),形成了OpenStack其余的部分。而今,OpenStack基金會(huì)已經(jīng)有150多個(gè)會(huì)員,包括很多知名公司,如Canonical、DELL、Citrix等。1.3OpenStack簡(jiǎn)介 OpenStack由幾個(gè)主要的組件組合起來(lái)完成具體工作。OpenStack支持幾乎所有類型的云環(huán)境,項(xiàng)目目標(biāo)是提供實(shí)施簡(jiǎn)單、可大規(guī)模擴(kuò)展、豐富、標(biāo)準(zhǔn)統(tǒng)一的云計(jì)算管理平臺(tái)。 OpenStack通過各種互補(bǔ)的服務(wù)提供了基礎(chǔ)設(shè)施即服務(wù)(IaaS)的解決方案,每個(gè)服務(wù)提供API以進(jìn)行集成。1.3OpenStack簡(jiǎn)介 OpenStack已經(jīng)走過了11個(gè)年頭。從最初只有兩個(gè)模塊(服務(wù))Nova和Swift到現(xiàn)在已經(jīng)有40多個(gè)模塊了,每個(gè)模塊作為獨(dú)立的子項(xiàng)目開發(fā)。 OpenStack每半年發(fā)布一個(gè)版本,版本以字母順序命名,2020年10月推出了第22個(gè)版本Victoria。因?yàn)樵诰帉懕緯畷r(shí),CentOS開發(fā)團(tuán)隊(duì)已經(jīng)宣布在2021年停止維護(hù)CentOS8版本,所以本書選擇CentOS7所支持的最高版本Train。 Train版本完成了Placement功能到獨(dú)立服務(wù)的過渡,可以獨(dú)立于Nova進(jìn)行使用。在Train中,服務(wù)響應(yīng)時(shí)間比Stein發(fā)布前的16.9秒減少了0.7秒。與此同時(shí),Train版本也增加了對(duì)AI/機(jī)器學(xué)習(xí)的加速器支持、增強(qiáng)了安全性和對(duì)數(shù)據(jù)的保護(hù)。1.3OpenStack簡(jiǎn)介1.3.1OpenStack簡(jiǎn)介OpenStack具有下列關(guān)鍵特性。(1)管理虛擬化的產(chǎn)品服務(wù)器和相關(guān)資源(Cpu、Memory、Disk、Network),提高其利用率和資源的自動(dòng)化分配(2)管理局域網(wǎng)(Flat、FlatDHCP、VLANDHCP、IPv6),程序配置的IP和VLAN,能為應(yīng)用程序和用戶提供靈活的網(wǎng)絡(luò)模式。(3)帶有比例限定和身份認(rèn)證:這是為自動(dòng)化和安全設(shè)置的,容易管理接入用戶,阻止非法訪問。(4)分布式和異步體系結(jié)構(gòu):提供高彈性和高可用性系統(tǒng)。(5)虛擬機(jī)鏡像管理:能提供易存儲(chǔ)、引入、共享和查詢的虛擬機(jī)鏡像。(6)云主機(jī)管理:提高生命周期內(nèi)可操作的應(yīng)用數(shù)量,從單一用戶接口到各種API,例如一臺(tái)主機(jī)虛擬的4臺(tái)服務(wù)器,可以有4種API接口,管理4個(gè)應(yīng)用。(7)創(chuàng)建和管理云主機(jī)類型(Flavors):為用戶建立菜單使其容易確定虛擬機(jī)大小,并作出選擇。(8)iSCSI存儲(chǔ)容器管理(創(chuàng)建,刪除,附加,和轉(zhuǎn)讓容器):數(shù)據(jù)與虛擬機(jī)分離,容錯(cuò)能力變強(qiáng),更加靈活。(9)在線遷移云主機(jī)。(10)動(dòng)態(tài)IP地址:注意管理虛擬機(jī)是要保持IP和DNS的正確。(11)安全分組:靈活分配,控制接入云主機(jī)。(12)按角色接入控制(RBAC)。(13)通過瀏覽器的VNC代理:快速方便的CLIadministration。1.3.2OpenStack體系結(jié)構(gòu)及服務(wù)組件OpenStack覆蓋了網(wǎng)絡(luò)、虛擬化、操作系統(tǒng)、服務(wù)器等各個(gè)方面。面對(duì)如此龐大的陣容,首先介紹OpenStack架構(gòu)(如圖1-2所示),了解架構(gòu)里哪些核心模塊負(fù)責(zé)管理計(jì)算資源、網(wǎng)絡(luò)資源和存儲(chǔ)資源,模塊之間如何協(xié)調(diào)工作,它能幫助我們站在高處看清楚事物的整體結(jié)構(gòu),避免過早地進(jìn)入細(xì)節(jié)而迷失方向。本書第13章會(huì)構(gòu)建一個(gè)實(shí)驗(yàn)環(huán)境,進(jìn)到各個(gè)模塊的內(nèi)部,通過實(shí)際操作真正理解和掌握OpenStack。1.3.2OpenStack體系結(jié)構(gòu)及服務(wù)組件謝謝觀看云操作系統(tǒng)應(yīng)用CONTENTS目錄第1章云計(jì)算概述OpenStack是一個(gè)由NASA(NationalAeronauticsandSpaceAdministration,美國(guó)國(guó)家航空航天局)和Rackspace合作研發(fā)并發(fā)起的。OpenStack是一個(gè)開源的云計(jì)算管理平臺(tái)項(xiàng)目,是一整套開源軟件項(xiàng)目的綜合,允許企業(yè)或服務(wù)提供者建立、運(yùn)行自己的云計(jì)算和存儲(chǔ)設(shè)施。OpenStack除了有Rackspace和NASA的大力支持外,還有包括Dell、Citrix、Cisco、Canonical等重量級(jí)公司的貢獻(xiàn)和支持,發(fā)展速度非???。OpenStack是一個(gè)旨在為公共及私有云的建設(shè)與管理提供軟件的,Apache許可證授權(quán)的開源項(xiàng)目。OpenStack覆蓋了網(wǎng)絡(luò)、虛擬化、操作系統(tǒng)、服務(wù)器等各個(gè)方面。1.3OpenStack簡(jiǎn)介 Rackspace與NASA是最初重要的兩個(gè)貢獻(xiàn)者,前者提供了“云文件”平臺(tái)代碼,該平臺(tái)增強(qiáng)了OpenStack對(duì)象存儲(chǔ)部分的功能;
而后者帶來(lái)了“Nebula”平臺(tái),形成了OpenStack其余的部分。而今,OpenStack基金會(huì)已經(jīng)有150多個(gè)會(huì)員。1.3OpenStack簡(jiǎn)介 OpenStack已經(jīng)走過了11個(gè)年頭。從最初只有兩個(gè)模塊(服務(wù))Nova和Swift到現(xiàn)在已經(jīng)有40多個(gè)模塊了,每個(gè)模塊作為獨(dú)立的子項(xiàng)目開發(fā)。 OpenStack每半年發(fā)布一個(gè)版本(/),版本以字母順序命名,2020年10月推出了第22個(gè)版本Victoria。因?yàn)樵诰帉懕緯畷r(shí),CentOS開發(fā)團(tuán)隊(duì)已經(jīng)宣布在2021年停止維護(hù)CentOS8版本,所以本書選擇CentOS7所支持的最高版本Train。 Train版本完成了Placement功能到獨(dú)立服務(wù)的過渡,可以獨(dú)立于Nova進(jìn)行使用。在Train中,服務(wù)響應(yīng)時(shí)間比Stein發(fā)布前的16.9秒減少了0.7秒。與此同時(shí),Train版本也增加了對(duì)AI/機(jī)器學(xué)習(xí)的加速器支持、增強(qiáng)了安全性和對(duì)數(shù)據(jù)的保護(hù)。1.3OpenStack簡(jiǎn)介1.3OpenStack簡(jiǎn)介OpenStack是一種云操作系統(tǒng),可控制整個(gè)數(shù)據(jù)中心的大量計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)資源,所有這些資源都通過具有通用身份驗(yàn)證機(jī)制的API進(jìn)行管理和配置。還提供儀表板(Dashboard),讓管理員可以進(jìn)行控制,同時(shí)讓用戶能夠通過Web界面配置資源。除了標(biāo)準(zhǔn)的基礎(chǔ)設(shè)施即服務(wù)功能外,其他組件還提供編排、故障管理和服務(wù)管理等服務(wù),以確保用戶應(yīng)用程序的高可用性。1.3OpenStack簡(jiǎn)介OpenStack覆蓋了網(wǎng)絡(luò)、虛擬化、操作系統(tǒng)、服務(wù)器等各個(gè)方面面對(duì)如此龐大的陣容,首先介紹OpenStack架構(gòu),了解架構(gòu)里哪些核心模塊負(fù)責(zé)管理計(jì)算資源、網(wǎng)絡(luò)資源和存儲(chǔ)資源,模塊之間如何協(xié)調(diào)工作。OpenStack采用模塊化分布式架構(gòu)設(shè)計(jì),由多個(gè)獨(dú)立組件協(xié)同工作,根據(jù)成熟及重要程度的不同,被分解成核心項(xiàng)目、孵化項(xiàng)目,以及支持項(xiàng)目和相關(guān)項(xiàng)目。每個(gè)項(xiàng)目都有自己的委員會(huì)和項(xiàng)目技術(shù)主管,而且每個(gè)項(xiàng)目都不是一成不變的,孵化項(xiàng)目可以根據(jù)發(fā)展的成熟度和重要性,轉(zhuǎn)變?yōu)楹诵捻?xiàng)目。核心項(xiàng)目:OpenStackCompute(計(jì)算):NovaOpenStackBlockStorage(塊存儲(chǔ)):CinderOpenStackNewtron(網(wǎng)絡(luò)):NeutronOpenStackImageService(鏡像服務(wù)):GlanceOpenStackObjectStorage(對(duì)象存儲(chǔ)):SwiftOpenStackIdentityService(身份服務(wù)):KeystoneOpenStackDashboard(UI界面):Horizon1.3.2OpenStack體系結(jié)構(gòu)及服務(wù)組件1.3.2OpenStack體系結(jié)構(gòu)及服務(wù)組件
OpenStack被分解為多個(gè)服務(wù),以便您可以根據(jù)需要即插即用組件。下面是OpenStack的“一覽”視圖,讓您了解這些服務(wù)適合的位置以及它們?nèi)绾螀f(xié)同工作。OpenStack的組件通過消息隊(duì)列和API進(jìn)行通信,形成一個(gè)完整的云計(jì)算平臺(tái)。每個(gè)組件都專注于特定功能,如計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)等,這種模塊化設(shè)計(jì)確保了系統(tǒng)的靈活性和可擴(kuò)展性。服務(wù)組件之間通過RESTfulAPI進(jìn)行通信,這種標(biāo)準(zhǔn)化接口確保了系統(tǒng)的互操作性。消息隊(duì)列作為組件間的通信橋梁,實(shí)現(xiàn)了異步通信和解耦,提高了系統(tǒng)的可靠性和性能。計(jì)算服務(wù)Nova是OpenStack的核心,負(fù)責(zé)虛擬機(jī)實(shí)例的生命周期管理,它通過調(diào)度器將虛擬機(jī)部署到合適的計(jì)算節(jié)點(diǎn),提供彈性計(jì)算能力。Nova支持多種虛擬化技術(shù),如KVM、Xen等,確保平臺(tái)兼容性。1.3.2OpenStack體系結(jié)構(gòu)及服務(wù)組件網(wǎng)絡(luò)服務(wù)Neutron提供軟件定義網(wǎng)絡(luò)功能,實(shí)現(xiàn)靈活的網(wǎng)絡(luò)配置和管理。它管理虛擬網(wǎng)絡(luò)的創(chuàng)建和配置,支持多種網(wǎng)絡(luò)拓?fù)浜桶踩呗浴eutron通過插件機(jī)制支持各種網(wǎng)絡(luò)技術(shù),如OpenvSwitch、LinuxBridge等。存儲(chǔ)服務(wù)Cinder和Swift分別提供塊存儲(chǔ)和對(duì)象存儲(chǔ)服務(wù)。Cinder提供塊存儲(chǔ)服務(wù),用于虛擬機(jī)實(shí)例的持久化存儲(chǔ)。Swift提供對(duì)象存儲(chǔ)服務(wù),適用于大規(guī)模非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)。這兩種存儲(chǔ)方案滿足了不同應(yīng)用場(chǎng)景的需求。UI界面(Dashboard):Horizon是OpenStack的Web管理門戶,用于簡(jiǎn)化用戶對(duì)服務(wù)的操作。1.3.2OpenStack體系結(jié)構(gòu)及服務(wù)組件身份認(rèn)證服務(wù)Keystone作為系統(tǒng)的安全中樞,為各個(gè)組件提供認(rèn)證和授權(quán)服務(wù)。它為所有組件提供統(tǒng)一的身份驗(yàn)證服務(wù),確保系統(tǒng)安全。鏡像服務(wù)Glance管理虛擬機(jī)鏡像,為快速部署提供支持。模塊化架構(gòu)賦予OpenStack極大的靈活性,用戶可以根據(jù)需求選擇安裝特定組件,也可以輕松擴(kuò)展新的功能模塊。這種設(shè)計(jì)理念使OpenStack能夠適應(yīng)從私有云到公有云的各種部署場(chǎng)景。1.3.2OpenStack體系結(jié)構(gòu)及服務(wù)組件OpenStack工作流程:用戶通過Horizon儀表板或命令行工具發(fā)起請(qǐng)求。請(qǐng)求首先經(jīng)過Keystone認(rèn)證,驗(yàn)證用戶權(quán)限。認(rèn)證通過后,請(qǐng)求被路由到相應(yīng)服務(wù)組件。服務(wù)組件處理請(qǐng)求時(shí),會(huì)與其他組件協(xié)作。例如創(chuàng)建虛擬機(jī)時(shí),Nova會(huì)調(diào)用Glance獲取鏡像,通過Neutron配置網(wǎng)絡(luò),使用Cinder分配存儲(chǔ)。這種協(xié)作通過消息隊(duì)列和API調(diào)用實(shí)現(xiàn)。資源調(diào)度是OpenStack的重要功能。Nova調(diào)度器根據(jù)資源使用情況和策略,選擇最佳計(jì)算節(jié)點(diǎn)部署虛擬機(jī)。這種智能調(diào)度確保了資源的高效利用。通過這種架構(gòu)設(shè)計(jì),OpenStack實(shí)現(xiàn)了計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)等資源的統(tǒng)一管理和調(diào)度。理解這些基本原理,有助于我們更好地應(yīng)用OpenStack構(gòu)建云計(jì)算平臺(tái),滿足各種業(yè)務(wù)需求。1.3.2OpenStack體系結(jié)構(gòu)及服務(wù)組件GUI服務(wù)編排與調(diào)度身份認(rèn)證網(wǎng)絡(luò)資源管理鏡像管理對(duì)象存儲(chǔ)塊存儲(chǔ)監(jiān)控與計(jì)費(fèi)計(jì)算資源管理1.3.2OpenStack體系結(jié)構(gòu)及服務(wù)組件1.3.1OpenStack簡(jiǎn)介-OpenStackCompute:Nova-邏輯架構(gòu) Nova提供一個(gè)組織云的工具,主要功能包括運(yùn)行虛擬機(jī)實(shí)例,管理網(wǎng)絡(luò)以及通過用戶和項(xiàng)目來(lái)控制對(duì)云端的訪問。Nova提供的軟件可以控制IaaS云計(jì)算平臺(tái),類似于AmazonEC2。邏輯架構(gòu): Nova的主要功能是圍繞幾個(gè)關(guān)鍵的概念模型進(jìn)行管理的,如下圖所示。用戶通過項(xiàng)目來(lái)管理其擁有的資源和虛擬機(jī)。項(xiàng)目用來(lái)進(jìn)行業(yè)務(wù)的分類管理。鏡像是用來(lái)創(chuàng)建虛擬機(jī)的模板,為每個(gè)虛擬機(jī)分配所需的IP資源(也就是IP地址)以及云硬盤。另外,還必須為每個(gè)虛擬機(jī)設(shè)置一個(gè)安全組,也就是網(wǎng)絡(luò)訪問規(guī)則的組合。通過安全組可以控制虛擬機(jī)的網(wǎng)絡(luò)安全訪問。謝謝觀看云操作系統(tǒng)應(yīng)用CONTENTS目錄第2章虛擬化技術(shù)虛擬化是云計(jì)算中的核心技術(shù)之一,它可以讓IT基礎(chǔ)設(shè)施更加靈活,更易于調(diào)度,且能更強(qiáng)地隔離不同的應(yīng)用需求。什么是虛擬化?2.1虛擬化技術(shù)簡(jiǎn)介虛擬化(Virtualization)是一種資源管理技術(shù)它將計(jì)算機(jī)的各種實(shí)體資源,如服務(wù)器、網(wǎng)絡(luò)、內(nèi)存及存儲(chǔ)等,予以抽象、轉(zhuǎn)換后呈現(xiàn)出來(lái)打破實(shí)體結(jié)構(gòu)間的不可切割的障礙,使得用戶可以比原本的組態(tài)更好的方式來(lái)應(yīng)用這些資源以提高系統(tǒng)的彈性和靈活性,降低成本、改進(jìn)服務(wù)、減少管理風(fēng)險(xiǎn)等。2.1虛擬化技術(shù)簡(jiǎn)介IT資源獨(dú)立操作系統(tǒng)必須與硬件緊耦合2.1虛擬化技術(shù)簡(jiǎn)介資源抽象成共享資源池上層操作系統(tǒng)與硬件解耦,操作系統(tǒng)從資源池中分配資源虛擬機(jī)(VM:VirtualMachine):對(duì)于虛擬化技術(shù),大多數(shù)人接觸的最早的概念。VM是通過軟件模擬的具有完整硬件系統(tǒng)功能的、運(yùn)行在一個(gè)完全隔離環(huán)境中的虛擬機(jī)(VirtualMachine)。對(duì)完整計(jì)算機(jī)系統(tǒng)的簡(jiǎn)單解釋就是一臺(tái)含有CPU、內(nèi)存、硬盤、顯卡、網(wǎng)卡、光驅(qū)等設(shè)備的計(jì)算機(jī)對(duì)于虛擬機(jī)來(lái)說(shuō),這些設(shè)備都是通過軟件模擬出來(lái)的。2.1虛擬化技術(shù)簡(jiǎn)介計(jì)算機(jī)的虛擬化使單個(gè)計(jì)算機(jī)看起來(lái)像多個(gè)計(jì)算機(jī)或完全不同的計(jì)算機(jī),從而提高資源利用率并降低IT成本隨著IT架構(gòu)的復(fù)雜化和企業(yè)應(yīng)用計(jì)算需求的急劇加大,虛擬化技術(shù)發(fā)展到了將一臺(tái)計(jì)算機(jī)拆分為各類資源以實(shí)現(xiàn)統(tǒng)一的管理、調(diào)配和監(jiān)控。現(xiàn)在,整個(gè)IT環(huán)境已逐步向云計(jì)算時(shí)代跨越,虛擬化技術(shù)也從最初的側(cè)重于整合數(shù)據(jù)中心內(nèi)的資源,發(fā)展到可以跨越IT架構(gòu)實(shí)現(xiàn)包括資源、網(wǎng)絡(luò)、應(yīng)用和桌面在內(nèi)的全系虛擬化技術(shù)。2.1虛擬化技術(shù)簡(jiǎn)介虛擬機(jī)的出現(xiàn)大大提高了物理機(jī)的資源利用率在同一臺(tái)物理機(jī)上給不同的應(yīng)用一個(gè)隔離的運(yùn)行環(huán)境更關(guān)鍵的是虛擬機(jī)的資源管理比物理機(jī)便利很多。需要說(shuō)明的是,虛擬機(jī)相比物理機(jī)而言是有資源、性能損耗的,但是考慮到虛擬機(jī)的眾多優(yōu)勢(shì)和大多數(shù)場(chǎng)景下物理機(jī)資源利用率本身就不高,以及虛擬機(jī)技術(shù)已經(jīng)成熟等因素,在現(xiàn)今的IT基礎(chǔ)架構(gòu)中,虛擬機(jī)已作為一個(gè)不可或缺的部分得到廣泛應(yīng)用。2.1虛擬化技術(shù)簡(jiǎn)介虛擬化的特征2.1虛擬化技術(shù)簡(jiǎn)介2.1.2虛擬化的分類按照操作系統(tǒng)耦合程度分類,可分為全虛擬化、半虛擬化和硬件輔助虛擬化2.1.2虛擬化分類
使用二進(jìn)制翻譯的全虛擬化FullVirtualizationusingBinaryTranslation二進(jìn)制翻譯和直接指令執(zhí)行相結(jié)合的全虛擬化使得虛擬機(jī)系統(tǒng)和底下的物理硬件徹底解耦。虛擬機(jī)系統(tǒng)沒有意識(shí)到它是被虛擬化的,因此不需要虛擬機(jī)系統(tǒng)做任何的修改。hypervisor將操作系統(tǒng)的指令翻譯并將結(jié)果緩存供之后使用,而用戶級(jí)指令無(wú)需修改就運(yùn)行,具有和物理機(jī)一樣的執(zhí)行速度。2.1.2虛擬化分類
操作系統(tǒng)輔助虛擬化或半虛擬化OSAssistedVirtualizationorParavirtualization"Para"是源于希臘的英文詞綴,意為“beside”、“with”、“alongside”。就以“alongsidevirtualization”來(lái)說(shuō),半虛擬化指的是虛擬機(jī)系統(tǒng)和hypervisor通過交互來(lái)改善性能和效率。半虛擬化涉及到修改操作系統(tǒng)內(nèi)核來(lái)將不可虛擬化的指令替換為直接與虛擬化層交互的超級(jí)調(diào)用(hypercalls)。hypervisor同樣為其他關(guān)鍵的系統(tǒng)操作如內(nèi)存管理、中斷處理、計(jì)時(shí)等提供了超級(jí)調(diào)用接口。2.1.2虛擬化分類
操作系統(tǒng)輔助虛擬化或半虛擬化OSAssistedVirtualizationorParavirtualization硬件廠商迅速擁抱虛擬化并開發(fā)出新的硬件特性來(lái)簡(jiǎn)化虛擬化技術(shù)。第一代技術(shù)包括Intel虛擬化技術(shù)(VT-x)和AMD的AMD-V,兩者都針對(duì)特權(quán)指令為CPU添加了一個(gè)執(zhí)行模式。硬件輔助虛擬化是一種通過在硬件中加入專門針對(duì)虛擬化的支持來(lái)實(shí)現(xiàn)的虛擬化方式。它利用CPU、芯片組及I/O設(shè)備等硬件的特殊功能,提高虛擬化的性能和效率。硬件輔助虛擬化的優(yōu)點(diǎn)在于其性能優(yōu)越,因?yàn)槠淅昧擞布奶厥夤δ堋?.1.3云計(jì)算時(shí)代下的虛擬化技術(shù)云計(jì)算環(huán)境下,所有虛擬化解決方案都是集服務(wù)器、存儲(chǔ)、網(wǎng)絡(luò)設(shè)備、軟件及服務(wù)于一體的系統(tǒng)整合方案,并根據(jù)不同的應(yīng)用環(huán)境靈活地將若干層面組合以實(shí)現(xiàn)不同模式虛擬化方案。在這種云環(huán)境下的整體虛擬化戰(zhàn)略中,我們可以利用虛擬化技術(shù)提供的多種機(jī)制,在不需硬件和物理資源擴(kuò)展的前提下,通過不同的方案快速模擬不同的環(huán)境和試驗(yàn),達(dá)到預(yù)先構(gòu)建操作IT系統(tǒng)、應(yīng)用程序,提高安全性以及實(shí)現(xiàn)管理環(huán)境的目的,便于以后以更為簡(jiǎn)化和有效的方式將它們投入到生產(chǎn)環(huán)境中,進(jìn)而提供更大的靈活性,并迅速確定潛在的沖突。同時(shí),我們可以利用服務(wù)器虛擬化技術(shù)將大量分散的、沒有得到充分利用的物理服務(wù)器工作負(fù)荷整合到獨(dú)立的、聚合的、數(shù)量較少的物理服務(wù)器上。2.1.3云計(jì)算時(shí)代下的虛擬化技術(shù)虛擬化是云計(jì)算的基石,虛擬化負(fù)責(zé)將物理資源池化,而云計(jì)算是讓用戶對(duì)池化的物理資源進(jìn)行便捷的管理,所以云計(jì)算提供的從本質(zhì)上講是虛擬化服務(wù)。從虛擬化到云計(jì)算的過程中,我們實(shí)現(xiàn)了跨系統(tǒng)的資源動(dòng)態(tài)調(diào)度,將大量的計(jì)算資源組成IT資源池,用于動(dòng)態(tài)創(chuàng)建高度虛擬化的資源供用戶使用,從而最終實(shí)現(xiàn)應(yīng)用、數(shù)據(jù)和IT資源以服務(wù)的方式通過網(wǎng)絡(luò)提供給用戶,并以前所未見的高速和富有彈性的方式來(lái)完成任務(wù)。謝謝觀看云操作系統(tǒng)應(yīng)用CONTENTS目錄第2章虛擬化技術(shù)KVM的誕生:開源軟件;2006年由Qumranet開發(fā),2007年并入Linux內(nèi)核(2.6.20+);Quramnet公司于2008年被RedHat收購(gòu);2.2KVM介紹KVM(Kernel-basedVirtualMachine)是一種基于Linuxx86硬件平臺(tái)的開源全虛擬化解決方案。它依托于CPU虛擬化指令集,性能、安全性、兼容性、穩(wěn)定性表現(xiàn)很好,每個(gè)虛擬化操作系統(tǒng)表現(xiàn)為單個(gè)系統(tǒng)進(jìn)程,可與Linux安全模塊—Selinux安全模塊很好地結(jié)合KVM作為Hypervisor。2.2KVM介紹基于內(nèi)核的虛擬機(jī)(KVM)是一種軟件功能,您可以將其安裝在物理Linux機(jī)器上以創(chuàng)建虛擬機(jī)。KVM的核心地位:將Linux內(nèi)核轉(zhuǎn)變?yōu)槁銠C(jī)型Hypervisor(虛擬機(jī)監(jiān)控器),直接管理硬件資源。2.2KVM介紹內(nèi)核層組件:KVM內(nèi)核模塊:kvm.ko:核心虛擬化模塊,負(fù)責(zé)CPU調(diào)度和內(nèi)存管理。kvm-intel.ko或kvm-amd.ko:硬件特定模塊,啟用CPU虛擬化支持(如IntelVT-x)。Linux內(nèi)核功能復(fù)用:進(jìn)程調(diào)度(通過SCHED_FIFO或CFS管理vCPU線程)。內(nèi)存管理(通過EPT/NPT實(shí)現(xiàn)地址轉(zhuǎn)換)。設(shè)備驅(qū)動(dòng)(與物理硬件交互)。2.2KVM介紹KVM生態(tài)工具鏈(用戶層組件):QEMU:模擬虛擬設(shè)備(磁盤、網(wǎng)卡、顯卡等)。管理虛擬機(jī)生命周期(啟動(dòng)、暫停、遷移)。通過ioctl系統(tǒng)調(diào)用與/dev/kvm接口通信。Libvirt:提供統(tǒng)一的管理API(如virsh、virt-manager)。支持多種Hypervisor(KVM、Xen等),但主要與KVM集成。2.2KVM介紹KVM工具集合:Virsh:基于Libvirt開發(fā)的一個(gè)命令行工具(CLI),可使用直接模式(DirectMode)或交互模式(InteractiveMode)來(lái)實(shí)現(xiàn)虛擬機(jī)的管理,如創(chuàng)建、刪除、啟動(dòng)、關(guān)閉等。Virt-Manager:基于libvirt的GUI(GraphicalUserInterface)圖形界面工具。2.2KVM介紹KVM架構(gòu):2.2KVM介紹
本小節(jié)介紹KVM的安裝和使用2.3KVM的安裝和使用2.3.1環(huán)境準(zhǔn)備環(huán)境準(zhǔn)備:操作系統(tǒng):CentOS7.9軟件包:CentOS映像文件關(guān)閉Selinux關(guān)閉防火墻課堂任務(wù)安裝CentOS操作系統(tǒng);安裝配置KVM;通過KVM管理虛擬機(jī);謝謝觀看云操作系統(tǒng)應(yīng)用CONTENTS目錄第3章OpenStack環(huán)境準(zhǔn)備一
OpenStack回顧三虛擬機(jī)安裝與配置四系統(tǒng)環(huán)境準(zhǔn)備二架構(gòu)設(shè)計(jì)終于正式進(jìn)入OpenStack操作部分了。從現(xiàn)在開始,我將帶著讀者一步一步地揭開OpenStack的神秘面紗。一
OpenStack架構(gòu)回顧OpenStack架構(gòu)回顧OpenStack組件服之間的關(guān)系身份認(rèn)證監(jiān)控用戶GUI通過Heat編排集群編排將數(shù)據(jù)或作業(yè)二進(jìn)制數(shù)據(jù)存儲(chǔ)備份數(shù)據(jù)庫(kù)備份卷提供卷供應(yīng)、操作和管理DaaS組件提供網(wǎng)絡(luò)連接硬件資源管理提供鏡像資源注冊(cè)hadoopPXE網(wǎng)絡(luò)通過Nova啟動(dòng)數(shù)據(jù)處理實(shí)例分配作業(yè)存儲(chǔ)鏡像注冊(cè)用戶鏡像獲取鏡像啟動(dòng)數(shù)據(jù)庫(kù)實(shí)例數(shù)據(jù)處理框架OpenStack架構(gòu)回顧二架構(gòu)設(shè)計(jì)3.2.1架構(gòu)設(shè)計(jì)
OpenStack是一個(gè)分布式平臺(tái),由不同的組件共同支持整個(gè)云平臺(tái)的運(yùn)行;根據(jù)不同的需求可以靈活地設(shè)計(jì)整個(gè)OpenStack架構(gòu),不同的組件可以裝在不同的物理機(jī)上,甚至某個(gè)組件下的子服務(wù)也可以裝在不同的物理機(jī)上。
部署OpenStack之前,必須了解和設(shè)計(jì)邏輯架構(gòu)。一般來(lái)說(shuō),OpenStack可以由以下幾個(gè)節(jié)點(diǎn)組成:控制節(jié)點(diǎn)(ControllerNode)網(wǎng)絡(luò)節(jié)點(diǎn)(NetworkNode)存儲(chǔ)節(jié)點(diǎn)(StorageNode)計(jì)算節(jié)點(diǎn)(ComputeNode)3.2.1架構(gòu)設(shè)計(jì)-示例架構(gòu)
示例架構(gòu)需要至少兩個(gè)節(jié)點(diǎn)(主機(jī))來(lái)啟動(dòng)基本虛擬機(jī)或?qū)嵗?;塊存儲(chǔ)和對(duì)象存儲(chǔ)等可選服務(wù)需要額外的節(jié)點(diǎn);3.2.1架構(gòu)設(shè)計(jì)-實(shí)驗(yàn)架構(gòu)控制節(jié)點(diǎn)計(jì)算服務(wù)Nova塊存儲(chǔ)管理服務(wù)Cinder網(wǎng)絡(luò)服務(wù)Neutron對(duì)象存儲(chǔ)代理服務(wù)Swift-proxy時(shí)鐘同步服務(wù)NetworkTimeService消息隊(duì)列服務(wù)MessageQueue認(rèn)證服務(wù)Keystone資源跟蹤服務(wù)Placement鏡像服務(wù)Glance緩存服務(wù)Memcached數(shù)據(jù)庫(kù)服務(wù)DatabaseService分布式key-value存儲(chǔ)服務(wù)Etcd虛擬化服務(wù)KVMHypervisor計(jì)算服務(wù)Nova網(wǎng)絡(luò)服務(wù)Neutron時(shí)鐘同步服務(wù)NetworkTimeService對(duì)象存儲(chǔ)服務(wù)Swift塊存儲(chǔ)管理服務(wù)Cinder計(jì)算節(jié)點(diǎn)3.2.1架構(gòu)設(shè)計(jì)-節(jié)點(diǎn)建議配置虛擬機(jī)1:控制節(jié)點(diǎn)CenOS7.9(minal),1CPU,40GB+硬盤,4~8GB內(nèi)存控制節(jié)點(diǎn)、網(wǎng)絡(luò)節(jié)點(diǎn)和對(duì)象存儲(chǔ)節(jié)點(diǎn)虛擬機(jī)2:計(jì)算節(jié)點(diǎn)CenOS7.9(minal),1CPU,40GB+硬盤,4~8GB內(nèi)存計(jì)算節(jié)點(diǎn)、網(wǎng)絡(luò)節(jié)點(diǎn)、對(duì)象存儲(chǔ)和塊存儲(chǔ)節(jié)點(diǎn)3.2.1架構(gòu)設(shè)計(jì)-節(jié)點(diǎn)最低配置虛擬機(jī)1:控制節(jié)點(diǎn)CenOS7.9(minal),1CPU,5GB硬盤,4GB內(nèi)存控制節(jié)點(diǎn)、網(wǎng)絡(luò)節(jié)點(diǎn)和對(duì)象存儲(chǔ)節(jié)點(diǎn)虛擬機(jī)2:計(jì)算節(jié)點(diǎn)CenOS7.9(minal),1CPU,20GB硬盤,2GB內(nèi)存計(jì)算節(jié)點(diǎn)、網(wǎng)絡(luò)節(jié)點(diǎn)、對(duì)象存儲(chǔ)和塊存儲(chǔ)節(jié)點(diǎn)3.2.1架構(gòu)設(shè)計(jì)-節(jié)點(diǎn)網(wǎng)絡(luò)架構(gòu)計(jì)算節(jié)點(diǎn)控制節(jié)點(diǎn)Interface11/24Interface12/24Interface21/24Interface22/24外部網(wǎng)絡(luò)管理網(wǎng)絡(luò)三虛擬機(jī)安裝與配置安全配置根據(jù)設(shè)計(jì)創(chuàng)建虛擬機(jī)(VM),安裝指定的操作系統(tǒng)(CentOS-7-x86_64-DVD-2009.iso)控制節(jié)點(diǎn)虛擬機(jī)名標(biāo)記:Controller計(jì)算節(jié)點(diǎn)虛擬機(jī)名標(biāo)記:Compute(此虛擬機(jī)可待系統(tǒng)環(huán)境準(zhǔn)備好后,從Controller克隆而來(lái))安全配置
根據(jù)設(shè)計(jì)對(duì)虛擬機(jī)進(jìn)行配置:四系統(tǒng)環(huán)境準(zhǔn)備安全配置1.防火墻設(shè)置CentOS7中默認(rèn)啟用了Firewall防火墻,在安裝過程中,有些步驟可能會(huì)失敗,除非你禁用或者修改防火墻規(guī)則。在入門學(xué)習(xí)中,我們將采用關(guān)閉防火墻的方法。關(guān)閉控制節(jié)點(diǎn)防火墻:#systemctlmaskfirewalld.service#systemctldisablefirewalld.service關(guān)閉計(jì)算節(jié)點(diǎn)防火墻:網(wǎng)絡(luò)配置網(wǎng)絡(luò)的連通性非常重要,各個(gè)節(jié)點(diǎn)需要做到網(wǎng)絡(luò)互相Ping通,使之處于同一個(gè)網(wǎng)絡(luò)中。安全配置2.Selinux設(shè)置(控制節(jié)點(diǎn))編輯/etc/selinux/config文件。#vi/etc/selinux/configSELINUX=permissive網(wǎng)絡(luò)配置配置控制節(jié)點(diǎn)網(wǎng)絡(luò)信息。(注:不同的虛擬機(jī)可能網(wǎng)口名稱不同。需按照自己的網(wǎng)口名稱配置)
網(wǎng)口eno16777736:作為管理網(wǎng)絡(luò)使用,配置IP為0/24。網(wǎng)口eno33554960:作為外部網(wǎng)絡(luò)使用,配置IP為0/24。#vi/etc/sysconfig/network-scripts/ifcfg-eno16777736注:藍(lán)色箭頭左邊為修改部分安全配置2.Selinux設(shè)置(計(jì)算節(jié)點(diǎn))編輯/etc/selinux/config文件,修改完成之后重啟虛擬機(jī)使防火墻配置生效。#vi/etc/selinux/configSELINUX=permissive謝謝觀看OpenStack環(huán)境準(zhǔn)備CONTENTS目錄第3章OpenStack環(huán)境準(zhǔn)備一網(wǎng)絡(luò)配置二
YUM源配置三
NTP服務(wù)配置四
OpenStack包安裝一網(wǎng)絡(luò)配置VMware網(wǎng)絡(luò)環(huán)境配置根據(jù)網(wǎng)絡(luò)架構(gòu)設(shè)計(jì),配置VMware的NAT網(wǎng)絡(luò)和僅主機(jī)網(wǎng)絡(luò)的子網(wǎng)節(jié)點(diǎn)網(wǎng)絡(luò)配置Controller節(jié)點(diǎn):
-網(wǎng)口ens33(外部網(wǎng)絡(luò)):配置IP地址為1-網(wǎng)口ens34(內(nèi)部網(wǎng)絡(luò)):配置IP地址為1推薦使用nmtui命令配置,也可以按步驟直接修改網(wǎng)卡配置文件節(jié)點(diǎn)網(wǎng)絡(luò)配置Compute節(jié)點(diǎn):
-網(wǎng)口ens33(外部網(wǎng)絡(luò)):配置IP地址為2-網(wǎng)口ens34(內(nèi)部網(wǎng)絡(luò)):配置IP地址為2配置網(wǎng)卡#vi/etc/sysconfig/network-scripts/ifcfg-eno16777736進(jìn)入網(wǎng)卡配置文件:(注:不同的虛擬機(jī)可能網(wǎng)口名稱不同。需按照自己的網(wǎng)口名稱配置)
進(jìn)入網(wǎng)卡配置文件目錄使用ls命令查看網(wǎng)卡配置文件修改網(wǎng)卡以下配置:配置網(wǎng)卡BOOTPROTO=static
#啟用靜態(tài)IP地址
ONBOOT=yes
#開啟自動(dòng)啟用網(wǎng)絡(luò)連接
IPADDR0=0
#設(shè)置IP地址
NETMASK=
#設(shè)置子網(wǎng)掩碼
GATEWAY0=
#設(shè)置網(wǎng)關(guān)
修改完畢以后按ESC保存并退出配置網(wǎng)卡:wq!
重啟網(wǎng)絡(luò)服務(wù)#systemctlrestartnetwork查看所有網(wǎng)絡(luò)設(shè)備名及信息#ipaddr二YUM源配置
將鏡像文件CentOS-7-x86_64-DVD-2009.iso和T2.iso拷貝到控制節(jié)點(diǎn)/root目錄,編輯`/etc/fstab`文件,添加掛載配置,讓光盤的掛載可以開機(jī)自己掛載??刂乒?jié)點(diǎn)YUM源配置控制節(jié)點(diǎn)YUM源配置控制節(jié)點(diǎn)YUM源配置控制節(jié)點(diǎn)YUM源配置控制節(jié)點(diǎn)YUM源配置
在控制節(jié)點(diǎn)安裝FTP服務(wù)器后,計(jì)算節(jié)點(diǎn)即可通過FTP服務(wù)使用控制節(jié)點(diǎn)上的相關(guān)源文件配置YUM源??刂乒?jié)點(diǎn)FTP服務(wù)器配置
在宿主機(jī)Windows中打開文件資源管理器,在地址欄輸入:1測(cè)試連通性??刂乒?jié)點(diǎn)FTP服務(wù)器配置
登錄計(jì)算節(jié)點(diǎn)的命令行,執(zhí)行如下命令,將當(dāng)前系統(tǒng)的YUM源配置文件備份到/root目錄:計(jì)算節(jié)點(diǎn)(Compute)YUM源配置
登錄計(jì)算節(jié)點(diǎn)的命令行,創(chuàng)建本地YUM源配置文件(`/etc/yum.repos.d/iso.repo`),并編輯內(nèi)容如下:計(jì)算節(jié)點(diǎn)(Compute)YUM源配置
執(zhí)行如下命令,清空緩存:yumcleanall計(jì)算節(jié)點(diǎn)(Compute)YUM源配置清空緩存:yumcleanall并執(zhí)行如下命令檢查源是否配置成功計(jì)算節(jié)點(diǎn)(Compute)YUM源配置三
NTP服務(wù)配置NTP:NetworkTimeProtocol(網(wǎng)絡(luò)時(shí)間協(xié)議)一種時(shí)鐘同步服務(wù),可以提供高精準(zhǔn)度的時(shí)間校正。在分布式集群中,為了便于同一生命周期內(nèi)不同節(jié)點(diǎn)服務(wù)的管理,需要各個(gè)節(jié)點(diǎn)的服務(wù)嚴(yán)格遵守時(shí)鐘同步。如果集群時(shí)間不統(tǒng)一,服務(wù)會(huì)報(bào)錯(cuò)。目前Linux系統(tǒng)主流的NTP軟件:NTP和ChronyOpenStack搭建過程中采用Chrony。NTP服務(wù)安裝配置Chrony是一個(gè)用于系統(tǒng)時(shí)鐘同步的工具,相比NTP,它具有以下優(yōu)勢(shì):更強(qiáng)的穩(wěn)定性:任何情況下都能穩(wěn)定良好運(yùn)行(例如不穩(wěn)定的網(wǎng)絡(luò)中、不穩(wěn)定的系統(tǒng)中或者虛擬機(jī)環(huán)境中)更高的精度(精度通常以幾十微秒為單位)更快的同步速度更好的安全性靈活的配置開源chrony的特點(diǎn)Chrony的架構(gòu)設(shè)計(jì)旨在高效、精確地同步系統(tǒng)時(shí)鐘,其核心組件如下:chronyd守護(hù)進(jìn)程:負(fù)責(zé)與時(shí)間服務(wù)器通信、計(jì)算時(shí)鐘偏差、調(diào)整系統(tǒng)時(shí)鐘。chronyc命令行工具:用于與chronyd交互,查看狀態(tài)、修改配置、手動(dòng)調(diào)整時(shí)間等。配置文件(chrony.conf):定義時(shí)間源、同步策略、認(rèn)證方式等。Chrony的工作原理:Chrony從配置的時(shí)間源(如NTP服務(wù)器或本地參考時(shí)鐘)獲取時(shí)間數(shù)據(jù)。支持多個(gè)時(shí)間源,自動(dòng)選擇最可靠的一個(gè)。chrony的核心組件Chrony從配置的時(shí)間源(如NTP服務(wù)器或本地參考時(shí)鐘)獲取時(shí)間數(shù)據(jù)。支持多個(gè)時(shí)間源,自動(dòng)選擇最可靠的一個(gè)。chrony的工作原理四安裝OpenStack包OpenStackClient(又名OSC)是OpenStack的命令行客戶端,它將計(jì)算、身份、圖像、網(wǎng)絡(luò)、對(duì)象存儲(chǔ)和塊存儲(chǔ)API的命令集整合到具有統(tǒng)一命令結(jié)構(gòu)的單個(gè)shell中。CentOS中安裝如下包:python-openstackclient安裝OpenStack包謝謝觀看OpenStack環(huán)境準(zhǔn)備CONTENTS目錄第3章OpenStack環(huán)境準(zhǔn)備一
MySQL二消息服務(wù)器三
Memcached四
Etcd一MySQLMySQL
OpenStack大多數(shù)服務(wù)使用SQL數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)信息,存儲(chǔ)基礎(chǔ)或擴(kuò)展服務(wù)產(chǎn)生數(shù)據(jù)。數(shù)據(jù)庫(kù)通常安裝在控制節(jié)點(diǎn)上運(yùn)行。操作步驟可使用MariaDB或MySQL。OpenStack服務(wù)還支持其他SQL數(shù)據(jù)庫(kù),包括PostgreSQL。
本書中采用MariaDB數(shù)據(jù)庫(kù)。 MariaDB是MySQL的一個(gè)分支,由MySQL的原始開發(fā)者創(chuàng)建,旨在保持開源和社區(qū)驅(qū)動(dòng)的特性。其架構(gòu)和工作原理與MySQL類似,但也有一些優(yōu)化和改進(jìn)。MySQL工作原理概述連接建立:當(dāng)客戶端想要與MySQL服務(wù)器通信時(shí),它會(huì)首先嘗試建立到服務(wù)器的連接。這通常涉及到指定服務(wù)器的地址、端口(默認(rèn)是3306)、用戶名和密碼等。認(rèn)證:一旦連接建立,客戶端需要提供正確的認(rèn)證信息(如用戶名和密碼)以通過服務(wù)器的認(rèn)證過程。查詢執(zhí)行:一旦認(rèn)證成功,客戶端可以開始發(fā)送SQL查詢給服務(wù)器。服務(wù)器解析這些查詢,并根據(jù)查詢的類型(如SELECT、INSERT、UPDATE等)執(zhí)行相應(yīng)的操作。數(shù)據(jù)存儲(chǔ)與檢索:對(duì)于涉及數(shù)據(jù)存儲(chǔ)(如INSERT、UPDATE)的查詢,數(shù)據(jù)會(huì)被寫入到服務(wù)器的存儲(chǔ)引擎中。對(duì)于檢索數(shù)據(jù)(如SELECT)的查詢,數(shù)據(jù)會(huì)被從存儲(chǔ)引擎中檢索出來(lái)并返回給客戶端。結(jié)果返回:查詢執(zhí)行完成后,結(jié)果會(huì)被發(fā)送回客戶端。對(duì)于大型結(jié)果集,MySQL可能使用分塊傳輸來(lái)減少內(nèi)存使用和網(wǎng)絡(luò)負(fù)載。斷開連接:當(dāng)客戶端完成所有操作后,可以選擇關(guān)閉與MySQL服務(wù)器的連接。MySQL工作原理概述MySQL
備份`/etc/f.d/`目錄下的配置文件:
在控制節(jié)點(diǎn)執(zhí)行如下命令安裝數(shù)據(jù)庫(kù): python-PyMySql:Pytho接口MySQL
創(chuàng)建和編輯`/etc/f.d/f`文件:
啟動(dòng)數(shù)據(jù)庫(kù),并配置開機(jī)自啟:MySQL運(yùn)行`mysql_secure_installation`服務(wù)初始化數(shù)據(jù)庫(kù)并設(shè)置密碼:一消息服務(wù)器消息服務(wù)器MessageQueue OpenStack使用MessageQueue(RabbitMQ)協(xié)調(diào)操作和各服務(wù)的狀態(tài)信息; RabbitMQ是一種開源的消息代理軟件,實(shí)現(xiàn)了高級(jí)消息隊(duì)列協(xié)議(AMQP),用于應(yīng)用程序之間的異步通信。也被稱為面向消息的中間件。?核心功能??消息隊(duì)列?:RabbitMQ遵循FIFO(先進(jìn)先出)原則,作為消息的緩沖區(qū),支持生產(chǎn)者和消費(fèi)者模型。?異步通信?:通過消息隊(duì)列,生產(chǎn)者和消費(fèi)者可以異步處理消息,實(shí)現(xiàn)系統(tǒng)解耦和流量削峰。?靈活路由?:支持多種交換機(jī)類型(如直接交換機(jī)、主題交換機(jī)和扇出交換機(jī)),實(shí)現(xiàn)消息的靈活分發(fā)和過濾。執(zhí)行如下命令安裝軟件包:
開啟服務(wù)并配置開機(jī)自啟消息服務(wù)器MessageQueue
執(zhí)行如下命令,添加`openstack`用戶(替換RABBIT_PASS之前設(shè)計(jì)好的密碼):
給`openstack`用戶賦予讀/寫權(quán)限:一Memcached緩存服務(wù)器Memcached免費(fèi)開源、高性能、分布式內(nèi)存對(duì)象緩存系統(tǒng)。是一種易于使用的高性能內(nèi)存數(shù)據(jù)存儲(chǔ),旨在通過減輕數(shù)據(jù)庫(kù)負(fù)載來(lái)加速動(dòng)態(tài)Web應(yīng)用程序。一個(gè)內(nèi)存鍵值(Key-Value)存儲(chǔ),適用于緩存和會(huì)話存儲(chǔ),用于存儲(chǔ)數(shù)據(jù)庫(kù)調(diào)用、API調(diào)用或頁(yè)面渲染的結(jié)果中的小塊任意數(shù)據(jù)(字符串、對(duì)象)。不支持?jǐn)?shù)據(jù)的持久化,服務(wù)器關(guān)閉之后數(shù)據(jù)全部丟失。其簡(jiǎn)單的設(shè)計(jì)促進(jìn)了快速部署、易于開發(fā),并解決了大數(shù)據(jù)緩存面臨的許多問題。其API適用于大多數(shù)流行語(yǔ)言。緩存服務(wù)器Memcached OpenStackk的認(rèn)證服務(wù)使用Memcached緩存令牌。
執(zhí)行如下命令安裝軟件包:
編輯`/etc/sysconfig/memcached`文件,修改`OPTIONS`行,配置服務(wù)使用管理IP地址,允許其他節(jié)點(diǎn)通過管理網(wǎng)絡(luò)進(jìn)行訪問:
開啟服務(wù)并配置開機(jī)自啟一Etcd分布式鍵值存儲(chǔ)服務(wù)Etcd
etcd是一個(gè)分布式的、高可用的、一致的key-value存儲(chǔ)數(shù)據(jù)庫(kù)。基于Go語(yǔ)言實(shí)現(xiàn),主要用于共享配置和服務(wù)發(fā)現(xiàn)。在分布式系統(tǒng)中,各種服務(wù)配置信息的管理共享和服務(wù)發(fā)現(xiàn)是一個(gè)很基本也是很重要的問題。etcd可集中管理配置信息,服務(wù)端將配置信息存儲(chǔ)于etcd,客戶端通過etcd得到服務(wù)配置信息,etcd監(jiān)聽配置信息的改變,發(fā)現(xiàn)改變通知客戶端。Etcd在OpenStack中用于分布式密鑰鎖定、存儲(chǔ)配置、跟蹤服務(wù)活動(dòng)和其他場(chǎng)景。
執(zhí)行如下命令安裝軟件包:
編輯`/etc/etcd/etcd.conf`配置文件,設(shè)置`ETCD_INITIAL_CLUSTER`,`ETCD_INITIAL_ADVERTISE_PEER_URLS`,`ETCD_ADVERTISE_CLIENT_URLS`,`ETCD_LISTEN_CLIENT_URLS`為控制節(jié)點(diǎn)管理IP地址,允許其他節(jié)點(diǎn)通過管理網(wǎng)絡(luò)訪問`Etcd`服務(wù)分布式鍵值存儲(chǔ)服務(wù)Etcd
執(zhí)行如下命令查看各服務(wù)端口是否開啟:
開啟服務(wù)并配置開機(jī)自啟:分布式鍵值存儲(chǔ)服務(wù)Etcd
謝謝觀看云操作系統(tǒng)應(yīng)用CONTENTS目錄第3章認(rèn)證服務(wù)Keystone一基本概念二數(shù)據(jù)庫(kù)操作一
Keystone基本概念自主訪問控制(DAC:DiscretionaryAccessControl)強(qiáng)制訪問控制(MAC:MandatoryAccessControl)基于角色的訪問控制(RBAC:Role-BasedAccessControl)基于屬性的權(quán)限驗(yàn)證(ABAC:Attribute-BasedAccessControl)訪問控制訪問控制自主訪問控制(DAC:DiscretionaryAccessControl)定義:資源的所有者可以自主決定誰(shuí)可以訪問資源及訪問權(quán)限。原理:基于訪問控制列表(ACL)或權(quán)限矩陣,資源所有者設(shè)定訪問規(guī)則。優(yōu)點(diǎn):靈活,適合小型環(huán)境。缺點(diǎn):安全性較低,權(quán)限管理分散。訪問控制強(qiáng)制訪問控制(MAC,MandatoryAccessControl)定義:系統(tǒng)根據(jù)安全策略強(qiáng)制實(shí)施訪問控制,用戶無(wú)法更改。原理:基于安全標(biāo)簽(如機(jī)密、秘密、絕密),系統(tǒng)根據(jù)標(biāo)簽和用戶權(quán)限決定訪問。優(yōu)點(diǎn):安全性高,適合高安全需求環(huán)境。缺點(diǎn):靈活性差,管理復(fù)雜。訪問控制基于角色的訪問控制(RBAC,Role-BasedAccessControl)定義:根據(jù)用戶在組織中的角色分配權(quán)限。原理:權(quán)限與角色綁定,用戶通過角色獲得權(quán)限。優(yōu)點(diǎn):管理簡(jiǎn)便,適合中大型組織。缺點(diǎn):角色定義復(fù)雜,權(quán)限分配可能不夠精細(xì)。訪問控制基于屬性的訪問控制(ABAC,Attribute-BasedAccessControl)定義:根據(jù)用戶、資源、環(huán)境等屬性動(dòng)態(tài)決定訪問權(quán)限。原理:通過策略引擎評(píng)估屬性,決定是否允許訪問。優(yōu)點(diǎn):靈活,適應(yīng)復(fù)雜環(huán)境。缺點(diǎn):實(shí)現(xiàn)復(fù)雜,性能開銷大。
Keystone基本概念?Keystone是OpenStack的核心組件之一,主要負(fù)責(zé)身份認(rèn)證(Authentication)、授權(quán)(Authorization)和服務(wù)目錄(ServiceCatalog)管理?。Keystone是“身份服務(wù)”,為其他OpenStack組件提供統(tǒng)一的身份驗(yàn)證和訪問控制功能?。當(dāng)安裝OpenStack身份認(rèn)證服務(wù)時(shí),必須將之注冊(cè)到其OpenStack安裝環(huán)境的每個(gè)服務(wù),身份認(rèn)證服務(wù)才可以追蹤那些已經(jīng)安裝的OpenStack服務(wù),以及在網(wǎng)絡(luò)中定位它們。
Keystone核心功能?身份認(rèn)證?(Authentication):驗(yàn)證用戶身份,確保用戶是合法的。支持多種認(rèn)證方式,如用戶名/密碼、Token、LDAP、OAuth等??授權(quán)(Authorization):管理用戶的權(quán)限,確保用戶只能訪問其被授權(quán)的資源。基于角色的訪問控制(RBAC)??服務(wù)目錄(ServiceCatalog)?:提供OpenStack中所有服務(wù)的端點(diǎn)信息,用戶可以通過服務(wù)目錄查找和訪問OpenStack的各種服務(wù)(如Nova、Glance、Cinder等)??用戶管理?:管理用戶、項(xiàng)目、域和組,支持多租戶架構(gòu)??Token管理?:生成和管理Token,用于用戶會(huì)話的驗(yàn)證和授權(quán)?身份相關(guān)概念Keystone組成主要分為以下部分。域(Domain)用戶(User)
憑證(Credential)
令牌(Token)
租戶(Project)
區(qū)域(Region)服務(wù)(Service)
角色(Role)
Keystone客戶端
策略(Policy)端點(diǎn)(Endpoint)身份相關(guān)概念身份(Identity):身份服務(wù)提供有關(guān)用戶和群組的身份驗(yàn)證憑證驗(yàn)證和數(shù)據(jù)。用戶(User):使用OpenStack云服務(wù)的個(gè)體、系統(tǒng)、服務(wù),每個(gè)用戶有一個(gè)唯一的用戶名和密碼。組(Group):身份服務(wù)APIv3的實(shí)體。組是域所擁有的用戶集合。授予域或項(xiàng)目的組角色適用于組中的所有用戶(Agrouprole,grantedtoadomainorproject,appliestoallusersinthegroup)。向組中添加或從組中刪除用戶會(huì)授予或撤銷其對(duì)相關(guān)域或項(xiàng)目的角色和身份驗(yàn)證。身份相關(guān)概念資源(Resource):該資源提供了有關(guān)項(xiàng)目和域的數(shù)據(jù)。項(xiàng)目(Project):對(duì)資源或身份對(duì)象進(jìn)行分組或隔離的容器,資源的邏輯分組,用于隔離不同用戶或團(tuán)隊(duì)的資源。根據(jù)服務(wù)運(yùn)營(yíng)商的不同,項(xiàng)目可能映射到客戶、帳戶、組織或租戶。(Project以前叫Tenant)域(Domain):身份服務(wù)APIv3的實(shí)體。Domain實(shí)現(xiàn)真正的多租戶(multi-tenancy)架構(gòu),用于隔離用戶、組和項(xiàng)目的更高層次的邏輯容器。域可以代表個(gè)人、公司或運(yùn)營(yíng)商擁有的空間。云服務(wù)的客戶是Domain的所有者,他們可以在自己的Domain中創(chuàng)建多個(gè)Projects、Users、Groups和Roles。通過引入Domain,云服務(wù)客戶可以對(duì)其擁有的多個(gè)Project進(jìn)行統(tǒng)一管理,而不必再像過去那樣對(duì)每一個(gè)Project進(jìn)行單獨(dú)管理。身份相關(guān)概念區(qū)域(Region):身份服務(wù)APIv3實(shí)體。表示OpenStack部署中的通用劃分。您可以將零個(gè)或多個(gè)子區(qū)域與區(qū)域關(guān)聯(lián),以形成樹狀結(jié)構(gòu)層次結(jié)構(gòu)。雖然區(qū)域沒有地理含義,但部署可以使用地理名稱來(lái)表示區(qū)域,例如us-east。默認(rèn)情況下,區(qū)域命名為regionOne。在沒有region概念的時(shí)候,處于不同地理位置的openstack系統(tǒng)可以獨(dú)立運(yùn)行,也只能獨(dú)立運(yùn)行。通過在一個(gè)keystone中定義不同的region,實(shí)現(xiàn)對(duì)不同區(qū)域openstack系統(tǒng)的管理。所謂openstack多region,就是多套o(hù)penstack共享一個(gè)keystone和horizon身份相關(guān)概念角色(Role):定義了一組權(quán)限,可賦予其執(zhí)行某些特定的操作。在身份服務(wù)認(rèn)證服務(wù)Keystone中,一個(gè)用戶的令牌攜帶角色列表。服務(wù)在被調(diào)用時(shí)會(huì)看用戶是什么樣的角色,這個(gè)角色賦予的權(quán)限能夠操作什么資源。令牌(Token):一個(gè)字母數(shù)字混合的文本字符串,用于驗(yàn)證用戶身份,用戶可以使用分配的令牌訪問OpenStackAPI和資源,令牌可以隨時(shí)撤銷,以及有一定的時(shí)間期限。身份相關(guān)概念憑證(Credential):用戶身份的確認(rèn)憑證,例如,用戶名和密碼、用戶名和API密鑰,或者是一個(gè)由身份服務(wù)提供的授權(quán)令牌。認(rèn)證(Authentication):確認(rèn)用戶身份的流程,OpenStack身份認(rèn)證服務(wù)確認(rèn)發(fā)過來(lái)的請(qǐng)求,即驗(yàn)證由用戶提供的憑證。服務(wù)(Service):一個(gè)OpenStack服務(wù),如計(jì)算服務(wù)(Nova),對(duì)象服務(wù)(Swift),或鏡像服務(wù)(glance)。它提供一個(gè)或多個(gè)端點(diǎn)來(lái)讓用戶可以訪問資源和執(zhí)行操作。OpenStackClient(OpenStack客戶端):為OpenStack身份API提供的一組命令行接口。身份相關(guān)概念策略(Policy):Policy機(jī)制就是用來(lái)控制某一個(gè)User在某個(gè)Project
中某個(gè)操作的權(quán)限。這個(gè)User能執(zhí)行什么操作,不能執(zhí)行什么操作,就是通過Policy機(jī)制來(lái)實(shí)現(xiàn)的。Policy是一個(gè)json文件,通過配置這個(gè)文件(/etc/keystone/policy.json),KeystoneService實(shí)現(xiàn)了對(duì)User的基于用戶角色的權(quán)限管理。端點(diǎn)(Endpoint):服務(wù)的訪問地址,通過它可以訪問一個(gè)服務(wù),通常是個(gè)URL地址,即用戶創(chuàng)建一個(gè)項(xiàng)目過程中需要的各個(gè)服務(wù)資源的位置。比如,當(dāng)Nova需要訪問Glance服務(wù)去獲取Image時(shí),Nova通過訪問Keystone拿到Glance的Endpoint,然后通過訪問該Endpoint去獲取Glance服務(wù)。我們可以通過Endpoint的Region屬性去定義多個(gè)Region。身份相關(guān)概念Endpoint的使用對(duì)象分為以下三類。Adminurl:給admin用戶使用。Internalurl:供OpenStack內(nèi)部服務(wù)使用,以便與其他服務(wù)進(jìn)行通信。Publicurl:其他用戶可以訪問的地址。
用戶管理示例策略(Policy)Keystone與組件的交互Endpoint的使用對(duì)象分為以下三類。Adminurl:給admin用戶使用。Internalurl:供OpenStack內(nèi)部服務(wù)使用,以便與其他服務(wù)進(jìn)行通信。Publicurl:其他用戶可以訪問的地址。
OpenStack為每個(gè)服務(wù)使用三種API端點(diǎn)變體:管理、內(nèi)部和公共。管理API端點(diǎn)默認(rèn)允許修改用戶和租戶,而公共和內(nèi)部API不允許這些操作。在生產(chǎn)環(huán)境中,出于安全原因,變體可能位于為不同類型用戶提供服務(wù)的單獨(dú)網(wǎng)絡(luò)上。例如,公共API網(wǎng)絡(luò)可能從互聯(lián)網(wǎng)可見,因此客戶可以管理他們的云。管理API網(wǎng)絡(luò)可能僅限于管理云基礎(chǔ)設(shè)施的組織內(nèi)的操作員。內(nèi)部API網(wǎng)絡(luò)可能僅限于包含OpenStack服務(wù)的主機(jī)。二數(shù)據(jù)庫(kù)操作4.2Keystone數(shù)據(jù)庫(kù)操作控制節(jié)點(diǎn)數(shù)據(jù)庫(kù)操作:登錄MySQL并創(chuàng)建Keystone數(shù)據(jù)庫(kù)#mysql-uroot-p000000創(chuàng)建Keystone數(shù)據(jù)庫(kù):#CREATEDATABASEkeystone;4.2Keystone數(shù)據(jù)庫(kù)操作設(shè)置授權(quán)用戶和密碼:GRANTALLPRIVILEGESONkeystone.*TO'keystone'@'%'IDENTIFIEDBY
'000000';GRANTALLPRIVILEGESONkeystone.*TO'keystone'@’localhost'IDENTIFIEDBY
'000000';謝謝觀看云操作系統(tǒng)應(yīng)用CONTENTS目錄第3章認(rèn)證服務(wù)Keystone一安裝與配置一
Keystone基本概念4.3安裝并配置Keystone控制節(jié)點(diǎn)安裝Keystone所需軟件包#yuminstallopenstack-keystonehttpdmod_wsgi-y生成一個(gè)隨機(jī)值作為初始配置期間的管理令牌:#opensslrand-hex10使用vi命令編輯/etc/keystone/keystone.conf文件,做如下配置與修改,使用剛剛生成的隨機(jī)值替換:
#vi/etc/keystone/keystone.conf[DEFAULT]admin_token=d8ee7dcf8159521298184.3安裝并配置Keystone配置數(shù)據(jù)庫(kù)鏈接:[database]connection=mysql+pymysql://keystone:000000@controller/keystone配置provider,配置完成后保存文件并退出:[token]provider=fernet同步數(shù)據(jù)庫(kù):
su-s/bin/sh-c"keystone-managedb_sync"keystone注:進(jìn)入Keystone數(shù)據(jù)庫(kù)查看是否有數(shù)據(jù)表,驗(yàn)證是否同步成功。
4.3安裝并配置Keystone初始化密鑰:#keystone-managefernet_setup--keystone-userkeystone--keystone-groupkeystone4.4配置Apache服務(wù)使用vi命令編輯/etc/httpd/conf/httpd.conf文件。添加:ServerNamecontroller創(chuàng)建/etc/ht
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年江西航空職業(yè)技術(shù)學(xué)院?jiǎn)握芯C合素質(zhì)考試題庫(kù)附答案
- 2026年江西泰豪動(dòng)漫職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試模擬測(cè)試卷附答案
- 2026年嘉興職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試模擬測(cè)試卷及答案1套
- 2026年四川托普信息技術(shù)職業(yè)學(xué)院?jiǎn)握芯C合素質(zhì)考試模擬測(cè)試卷附答案
- 2026年心理健康測(cè)考試題庫(kù)及答案一套
- 2026年武漢海事職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性考試模擬測(cè)試卷及答案1套
- 2026年山東科技職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能考試題庫(kù)及答案1套
- 2026東盟海產(chǎn)品交易所有限公司福建福州招聘6人筆試備考題庫(kù)及答案解析
- 2025廣東中共深圳市委統(tǒng)戰(zhàn)部面向市內(nèi)選調(diào)公務(wù)員3人備考題庫(kù)附答案
- 2026福建龍巖連城縣委黨校公開選拔工作人員2人筆試模擬試題及答案解析
- 電力線通信技術(shù)
- 教師三筆字培訓(xùn)課件
- 中國(guó)醫(yī)藥行業(yè)中間體出口全景分析:破解政策難題深挖全球紅利
- 數(shù)學(xué)課如何提高課堂教學(xué)容量
- 監(jiān)理規(guī)劃畢業(yè)設(shè)計(jì)(論文)
- 京港澳高速公路段改擴(kuò)建工程施工保通方案(總方案)
- 醫(yī)用設(shè)備EMC培訓(xùn)資料課件
- RoHS培訓(xùn)資料課件
- 2020年廣東學(xué)位英語(yǔ)考試真題及答案
- 鍋爐防磨防爆工作專項(xiàng)檢查方案
- 《儀表本安防爆技術(shù)》課件
評(píng)論
0/150
提交評(píng)論