OpenStack版本:Ussuri發(fā)布亮點(diǎn)
前言
又到了半年一次的OpenStack的發(fā)布日期,至今發(fā)布已有21個(gè)版本,如今已經(jīng)更加穩(wěn)定,更加強(qiáng)健。近幾年,docker,k8s,serverless等新技術(shù)風(fēng)頭之盛可謂一時(shí)無(wú)兩,而OpenStack關(guān)注點(diǎn)不再是誰(shuí)是龍頭,誰(shuí)才是最受歡迎的技術(shù)。哪怕多次被人唱衰,依然按部就班往前走。
OpenStack不受任何一家廠(chǎng)商的綁定,靈活自由。當(dāng)前可以可以認(rèn)為云解決方案的首選方案之一。當(dāng)前83%的私有云用戶(hù)轉(zhuǎn)向OpenStack,因?yàn)樗褂脩?hù)擺脫了對(duì)單個(gè)公共云的過(guò)多依賴(lài)。實(shí)際上,OpenStack用戶(hù)經(jīng)常依賴(lài)于公共云,例如Amazon Web Services(AWS)(44%),Microsoft Azure(28%)或Google Compute Engine(GCP)(24%)。58%的用戶(hù)基礎(chǔ)架構(gòu)是由OpenStack驅(qū)動(dòng)的。
此外,某些用戶(hù)可能看不到OpenStack的影響力的一個(gè)原因是,至少有一半的OpenStack部署在中國(guó)。那里,華為(占28%)和EasyStack(占22%)。在其市場(chǎng)之外,占20%的Red Hat,占16%的Canonical和占 5%的Mirantis是主導(dǎo)者。SUSE與其他的混合在一起差不多3%左右。
為了保持這種進(jìn)步,最廣泛部署的開(kāi)源云基礎(chǔ)架構(gòu)軟件的第21版Ussuri將在5月13日發(fā)布。本次發(fā)布要比預(yù)期的要晚一些。
OpenStack代碼貢獻(xiàn)情況如 stackalytics(https://www.stackalytics.com/)。
Cinder-塊存儲(chǔ)服務(wù)
Cinder接口提供了一些標(biāo)準(zhǔn)功能,允許創(chuàng)建和附加塊設(shè)備到虛擬機(jī),如“創(chuàng)建卷”,“刪除卷”和“附加卷”。還有更多高級(jí)的功能,支持?jǐn)U展容量的能力,快照和創(chuàng)建虛擬機(jī)鏡像克隆。
Notes:
- 當(dāng)前功能的改進(jìn),例如,為卷類(lèi)型設(shè)置最小和最大的功能;使用時(shí)間比較運(yùn)算符來(lái)過(guò)濾卷列表的能力。
- 支持Glance多存儲(chǔ)和鏡像數(shù)據(jù)同步時(shí),上傳一個(gè)卷到鏡像服務(wù)。
- 添加了一些新的后端驅(qū)動(dòng)程序,以及對(duì)當(dāng)前的驅(qū)動(dòng)程序增加了多種特性。
Cyborg - 硬件管理加速器
Cyborg(以前稱(chēng)為Nomad)旨在為加速資源(即FPGA,GPU,SoC, NVMe SSD,DPDK/SPDK,eBPF/XDP …)提供通用管理框架
Notes:
- 用戶(hù)現(xiàn)在可以啟動(dòng)由CyBrg管理的加速器的實(shí)例,因?yàn)镹ova-Cyborg integration已經(jīng)完成。見(jiàn)加速器操作指南查找支持哪些實(shí)例操作。
- 已經(jīng)實(shí)現(xiàn)了新的API,以列出由Cyborg管理的設(shè)備,并且通??梢圆榭春凸芾砑铀倨鞯那鍐?。
- CyBrg為在V2API中采用microversions提供未來(lái)版本的兼容性提供了基礎(chǔ)。
- CyBrg客戶(hù)端現(xiàn)在基于OpenStack SDK和支持最多的v2版本API。
- 通過(guò)增加更多的單元/功能測(cè)試和減少技術(shù)復(fù)雜度來(lái)提高整體質(zhì)量。
Glance - 鏡像服務(wù)
Glance(OpenStack Image Service)是一個(gè)提供發(fā)現(xiàn),注冊(cè),和下載鏡像的服務(wù)。Glance 提供了虛擬機(jī)鏡像的集中存儲(chǔ)。通過(guò) Glance 的 RESTful API,可以查詢(xún)鏡像元數(shù)據(jù)、下載鏡像。虛擬機(jī)的鏡像可以很方便的存儲(chǔ)在各種地方,從簡(jiǎn)單的文件系統(tǒng)到對(duì)象存儲(chǔ)系統(tǒng)(比如 OpenStack Swift)。
Notes:
- 增強(qiáng)了多個(gè)商店功能,用戶(hù)現(xiàn)在可以在多個(gè)商店中導(dǎo)入單個(gè)鏡像,在多個(gè)商店中復(fù)制現(xiàn)有的鏡像并從單個(gè)商店中刪除鏡像。
- 新的導(dǎo)入插件可解壓縮鏡像
- 再次引入了S3驅(qū)動(dòng)程序以進(jìn)行存儲(chǔ)
Horizon - 圖形化管理服務(wù)
Horizon 為 Openstack 提供一個(gè) WEB 前端的管理界面 (UI 服務(wù) )通過(guò) Horizon 所提供的 DashBoard 服務(wù) , 管理員可以使用通過(guò) WEB UI 對(duì) Openstack 整體云環(huán)境進(jìn)行管理 , 并可直觀看到各種操作結(jié)果與運(yùn)行狀態(tài)。
Notes:
- 此版本主要從維護(hù)的角度關(guān)注錯(cuò)誤修復(fù)和改進(jìn),包括對(duì)舊功能的棄用、棄用功能的清除、集成測(cè)試覆蓋率的改進(jìn)、遷移到單元測(cè)試中的模擬使用等等。
- Horizon和所有Horizon插件現(xiàn)在都支持Django 2.2,這是Django唯一受支持的LTS。 Django是Horizon依賴(lài)的框架。請(qǐng)注意,不再支持python 2.7,我們已經(jīng)進(jìn)入python3時(shí)代。
- 在Keystone模塊中實(shí)現(xiàn)了幾個(gè)功能:允許用戶(hù)更改過(guò)期密碼,包括用戶(hù)面板中的第一登錄、密碼鎖選項(xiàng),以及對(duì)應(yīng)用程序憑據(jù)的訪(fǎng)問(wèn)規(guī)則的支持。
Ironic - 裸金屬服務(wù)
Ironic包含一個(gè)API和多個(gè)插件,用于安全性和容錯(cuò)性地提供物理服務(wù)器。它可以和nova結(jié)合被使用為hypervisor驅(qū)動(dòng),或者用bifrost使用為獨(dú)立服務(wù)。默認(rèn)情況下,它會(huì)使用PXE和IPMI去與裸金屬機(jī)器去交互。Ironic也支持使用供應(yīng)商的插件而實(shí)現(xiàn)額外的功能。
Notes:
- 支持范圍內(nèi)省的規(guī)則,該規(guī)則允許每個(gè)節(jié)點(diǎn)子集具有(并保留)規(guī)則,例如不同的硬件交付。
- 支持硬件淘汰工作流程(retirement workflow),以實(shí)現(xiàn)托管云中硬件退役的自動(dòng)化。
- 多租戶(hù)概念和附加策略選項(xiàng)可供非管理員使用。
- Ironic及其遠(yuǎn)程代理之間交互的身份驗(yàn)證得到了補(bǔ)充,從而可以在不受信任的網(wǎng)絡(luò)上進(jìn)行部署。
- UEFI和設(shè)備選擇現(xiàn)在可用于軟件RAID。
Keystone - 身份認(rèn)證服務(wù)
Keystone(OpenStack Identity Service)是 OpenStack 框架中負(fù)責(zé)管理身份驗(yàn)證、服務(wù)訪(fǎng)問(wèn)規(guī)則和服務(wù)令牌功能的組件。用戶(hù)訪(fǎng)問(wèn)資源需要驗(yàn)證用戶(hù)的身份與權(quán)限,服務(wù)執(zhí)行操作也需要進(jìn)行權(quán)限檢測(cè),這些都需要通過(guò) Keystone 來(lái)處理。Keystone 類(lèi)似一個(gè)服務(wù)總線(xiàn), 或者說(shuō)是整個(gè) Openstack 框架的注冊(cè)表,OpenStack 服務(wù)通過(guò) Keystone 來(lái)注冊(cè)其 Endpoint(服務(wù)訪(fǎng)問(wèn)的URL),任何服務(wù)之間的相互調(diào)用,都需要先經(jīng)過(guò) Keystone 的身份驗(yàn)證,獲得目標(biāo)服務(wù)的 Endpoint ,然后再調(diào)用。
Notes:
- 在使用聯(lián)合身份驗(yàn)證方法時(shí),創(chuàng)建應(yīng)用程序憑據(jù)和信任的用戶(hù)體驗(yàn)得到了極大的改進(jìn)。其角色分配來(lái)自映射組成員身份的聯(lián)合用戶(hù)將在其令牌過(guò)期后將這些組成員身份持久化為可配置的TTL,在此期間,其應(yīng)用程序憑據(jù)將保持有效。
- Keystone到Keystone斷言的現(xiàn)在包含了Keystone Identity Provider上用戶(hù)的組成員身份,可以將其映射到Keystone Service Provider上的組成員身份。
- 聯(lián)邦Federated用戶(hù)現(xiàn)在可以被賦予具體的角色分配,而不依賴(lài)于映射API,允許聯(lián)合用戶(hù)直接在keystone中創(chuàng)建并鏈接到他們的 Identity Provider。
- 當(dāng)啟動(dòng)一個(gè)新的keystone部署時(shí),管理員角色默認(rèn)為具有“immutable”選項(xiàng)集,防止它被意外刪除或修改,除非故意刪除“immutable”選項(xiàng)。
- Keystonemiddleware不再支持Identity v2.0 API,該身份在以前的發(fā)行周期中已從keystone中刪除。
Kolla - 容器化部署OpenStack服務(wù)
kolla 的使命是為 openstack 云平臺(tái)提供生產(chǎn)級(jí)別的、開(kāi)箱即用的交付能力。kolla 的基本思想是一切皆容器,將所有服務(wù)基于 Docker 運(yùn)行,并且保證一個(gè)容器只跑一個(gè)服務(wù)(進(jìn)程),做到最小粒度的運(yùn)行 docker。
Notes:
- 所有的images, scripts 和 Ansible playbooks現(xiàn)在都使用Python 3,并且對(duì)Python 2的支持已經(jīng)被刪除。
- 增加了對(duì)CentOS 8主機(jī)和鏡像的支持。
- 增加了對(duì)后端API服務(wù)的TLS加密的初始支持,提供API流量的端到端加密。目前支持Keystone。
- 增加了部署開(kāi)放虛擬網(wǎng)絡(luò)(OVN)的支持,并將其與neutron集成。
- 添加了對(duì)部署Zun CNI(容器網(wǎng)絡(luò)接口)組件的支持,從而允許帶有容器的Docker支持Zun Pods。
- 添加了對(duì)Elasticsearch Curator的支持,以幫助管理集群日志數(shù)據(jù)。
- 添加了將Mellanox網(wǎng)絡(luò)設(shè)備與Neutron一起使用所需的組件。
- 簡(jiǎn)化了外部Ceph集成的配置,可以輕松地從Ceph-Ansible部署的Ceph集群過(guò)渡到在OpenStack中啟用它。
Kuryr - OpenStack容器網(wǎng)絡(luò)
Kubernetes Kuryr是 OpenStack Neutron 的子項(xiàng)目,其主要目標(biāo)是通過(guò)該項(xiàng)目來(lái)整合 OpenStack與Kubernetes 的網(wǎng)絡(luò)。該項(xiàng)目在 Kubernetes 中實(shí)作了原生 Neutron-based 的網(wǎng)絡(luò),因此使用 Kuryr-Kubernetes 可以讓你的 OpenStack VM 與 Kubernetes Pods 能夠選擇在同一個(gè)子網(wǎng)上運(yùn)作,并且能夠使用 Neutron 的 L3 與 Security Group 來(lái)對(duì)網(wǎng)絡(luò)進(jìn)行路由,以及阻擋特定來(lái)源 Port。
Notes:
- 支持IPv6
- DPDK對(duì)嵌套設(shè)置的支持以及其他各種DPDK和SR-IOV的改進(jìn)。
- 與NetworkPolicy支持相關(guān)的多個(gè)修復(fù)程序。
Manila - 文件共享服務(wù)
Manila項(xiàng)目全稱(chēng)是File Share Service,文件共享即服務(wù)。是OpenStack大帳篷模式下的子項(xiàng)目之一,用來(lái)提供云上的文件共享,支持CIFS協(xié)議和NFS協(xié)議。
Notes:
- 共享組已經(jīng)從一個(gè)實(shí)驗(yàn)性的特性發(fā)展到普遍可用。從API版本2.55開(kāi)始,不再需要X-OpenStack-Manila-API-Experimental header來(lái)創(chuàng)建/更新/刪除共享組類(lèi)型、組規(guī)范、組配額和共享組本身。
- 當(dāng)兼容時(shí),可以通過(guò)存儲(chǔ)池中的快照創(chuàng)建共享。這一新特性允許通過(guò)擴(kuò)展以前局限于承載快照的后端的工作負(fù)載來(lái)更好地利用后端資源。
- 引入了新的配額控制機(jī)制,以限制項(xiàng)目及其用戶(hù)可以創(chuàng)建的共享副本的數(shù)量和大小。
- 現(xiàn)在可以使用時(shí)間間隔查詢(xún)異步用戶(hù)消息。
Neutron - 網(wǎng)絡(luò)服務(wù)
Neutron是openstack核心項(xiàng)目之一,提供云計(jì)算環(huán)境下的虛擬網(wǎng)絡(luò)功能。OpenStack網(wǎng)絡(luò)(neutron)管理OpenStack環(huán)境中所有虛擬網(wǎng)絡(luò)基礎(chǔ)設(shè)施(VNI),物理網(wǎng)絡(luò)基礎(chǔ)設(shè)施(PNI)的接入層。
Notes:
這個(gè)OVN驅(qū)動(dòng)器現(xiàn)在被合并到neutron儲(chǔ)存庫(kù)中,是neutron樹(shù)ML2驅(qū)動(dòng)器中的一種。linuxbridge或openvswitch .OVN駕駛者利益超過(guò)openvswitch驅(qū)動(dòng)程序包括例如具有分布式SNAT流量的DVR、分布式DHCP和可以在沒(méi)有網(wǎng)絡(luò)節(jié)點(diǎn)的情況下運(yùn)行的可能性。其他ML2驅(qū)動(dòng)程序仍在樹(shù)上并得到完全支持。當(dāng)前默認(rèn)代理仍然是開(kāi)放開(kāi)關(guān)但我們的計(jì)劃是OVN驅(qū)動(dòng)程序?qū)⑹俏磥?lái)的默認(rèn)選擇。
已添加對(duì)無(wú)狀態(tài)安全組的支持。用戶(hù)現(xiàn)在可以創(chuàng)建安全組設(shè)置為stateless這意味著,CONTROM將不用于該組中的任何規(guī)則。一個(gè)端口只能使用無(wú)國(guó)籍的或stateful安全組。在一些用例中,無(wú)狀態(tài)安全組將允許操作員選擇優(yōu)化的數(shù)據(jù)路徑性能,而有狀態(tài)的安全組對(duì)系統(tǒng)施加額外的處理。
基于角色的訪(fǎng)問(wèn)控制RBAC已添加地址范圍和子網(wǎng)池。地址范圍和子網(wǎng)池通常由操作員定義并暴露給用戶(hù)。此更改允許運(yùn)營(yíng)商在地址范圍和子網(wǎng)池上使用更多粒度訪(fǎng)問(wèn)控制。
Neutron API中增加了對(duì)創(chuàng)建期間標(biāo)記資源的支持。用戶(hù)現(xiàn)在可以直接在POST請(qǐng)求中為資源(如端口)設(shè)置標(biāo)記。這將大大提高kubernetes網(wǎng)絡(luò)操作的性能。例如,Kuryr必須發(fā)送給Neutron的API調(diào)用數(shù)量大大減少。
Nova - 計(jì)算服務(wù)
Nova是OpenStack云中的計(jì)算組織控制器。支持OpenStack云中實(shí)例(instances)生命周期的所有活動(dòng)都由Nova處理。這樣使得Nova成為一個(gè)負(fù)責(zé)管理計(jì)算資源、網(wǎng)絡(luò)、認(rèn)證、所需可擴(kuò)展性的平臺(tái)。
Notes:
- 支持Nova Cell間的冷遷移和大小調(diào)整。
- 支持預(yù)覽鏡像到Nova計(jì)算主機(jī)。
- 支持通過(guò)CyBorg創(chuàng)建具有加速器設(shè)備的實(shí)例。
- 進(jìn)一步支持移動(dòng)服務(wù)器以最小帶寬保證。
- 支持nova-manage placement審核CLI,以查找和清理孤立的資源分配。
Nova API策略正在使用scope_type類(lèi)型引入新的默認(rèn)角色。這些新的變化提高了安全級(jí)別和可管理性。新的策略在處理訪(fǎng)問(wèn)系統(tǒng)和項(xiàng)目級(jí)令牌方面具有更豐富的功能,具有“讀”和“寫(xiě)”的角色。默認(rèn)情況下禁用此特性,并可通過(guò)配置選項(xiàng)啟用。有關(guān)更多詳細(xì)信息,請(qǐng)參閱Policy Concepts文檔。
Octavia - 負(fù)載平衡器服務(wù)
Octavia 是 openstack lbaas的支持的一種后臺(tái)程序,提供為虛擬機(jī)流量的負(fù)載均衡。實(shí)質(zhì)是類(lèi)似于trove,調(diào)用 nova 以及neutron的api生成一臺(tái)安裝好haproxy和keepalived軟件的虛擬機(jī),并連接到目標(biāo)網(wǎng)路。
Notes:
- Octavia現(xiàn)在支持在特定可用性區(qū)域中部署負(fù)載平衡器。這允許將負(fù)載平衡功能部署到邊緣環(huán)境。
- Octavia amphora驅(qū)動(dòng)程序添加了一個(gè)技術(shù)預(yù)覽功能,可以提高控制平面的彈性。如果控制平面主機(jī)在負(fù)載平衡器配置操作期間出現(xiàn)故障,則備用控制器可以恢復(fù)進(jìn)程內(nèi)配置并完成請(qǐng)求。
- 用戶(hù)現(xiàn)在可以指定偵聽(tīng)器和池可接受的TLS密鑰。這允許負(fù)載平衡器強(qiáng)制執(zhí)行安全合規(guī)性要求。
Placement - 安置服務(wù)
一個(gè)資源提供者可以是一個(gè)計(jì)算節(jié)點(diǎn),共享存儲(chǔ)池,或一個(gè)IP分配池。placement服務(wù)跟蹤每個(gè)供應(yīng)商的庫(kù)存和使用情況。例如,在一個(gè)計(jì)算節(jié)點(diǎn)創(chuàng)建一個(gè)實(shí)例的可消費(fèi)資源如計(jì)算節(jié)點(diǎn)的資源提供者的CPU和內(nèi)存,磁盤(pán)從外部共享存儲(chǔ)池資源提供商和IP地址從外部IP資源提供者。
Notes:
- 通過(guò)配置可配置重試計(jì)數(shù),提高了健壯性,以應(yīng)對(duì)常見(jiàn)的高級(jí)別并行寫(xiě)入分配情況,例如繁忙的群集管理程序。
Puppet Openstack - OpenStack Puppet 安裝模塊
用于OpenStack的Puppet模塊為OpenStack云部署帶來(lái)了可擴(kuò)展且可靠的IT自動(dòng)化。
Notes:
- Puppet OpenStack現(xiàn)在可以使用管理員密碼而不是舊版管理員令牌來(lái)引導(dǎo)Keystone。
Swift - 對(duì)象存儲(chǔ)
Swift 不是文件系統(tǒng)或者實(shí)時(shí)的數(shù)據(jù)存儲(chǔ)系統(tǒng),而是對(duì)象存儲(chǔ),用于長(zhǎng)期存儲(chǔ)永久類(lèi)型的靜態(tài)數(shù)據(jù)。這些數(shù)據(jù)可以檢索、調(diào)整和必要時(shí)進(jìn)行更新。Swift最適合虛擬機(jī)鏡像、圖片、郵件和存檔備份這類(lèi)數(shù)據(jù)的存儲(chǔ)。
Notes:
- 為Swift容器和對(duì)象添加了一個(gè)新的系統(tǒng)命名空間。
- 使用新的命名空間添加了一個(gè)新的Swift對(duì)象版本控制API。
- 使用新的API增加了對(duì)S3版本控制的支持。
- 增加了使用的能力SIGUSR1執(zhí)行“無(wú)縫”重裝,WSGI服務(wù)器套接字從未停止接受連接。
- 添加了使用SIGUSR1執(zhí)行“無(wú)縫”重載的功能,其中WSGI服務(wù)器socket從未停止接受連接。
Vitrage - 平臺(tái)問(wèn)題定位分析服務(wù)
Vitrage是一個(gè)OpenStack RCA(Root Cause Analysis)服務(wù),用于組織、分析和擴(kuò)展OpenStack的告警和事件,在真正的問(wèn)題發(fā)生前找到根本原因。
Notes:
- 添加了更簡(jiǎn)潔和友好的Template Version 3語(yǔ)法。
Watcher - 資源優(yōu)化服務(wù)
Watcher提供一個(gè)完整的優(yōu)化循環(huán)鏈:從度量接收器,到優(yōu)化處理器和操作計(jì)劃應(yīng)用程序。Watcher的目標(biāo)在于提供一個(gè)強(qiáng)大的框架,可以實(shí)現(xiàn)廣泛的云優(yōu)化目標(biāo),包括減少數(shù)據(jù)中心運(yùn)營(yíng)成本,通過(guò)智能虛擬機(jī)遷移提高系統(tǒng)性能,提高能源效率等。此外,Watcher可供用戶(hù)定制豐富的資源優(yōu)化目標(biāo)與策略算法。
Notes:
- 添加了新的webhook API和新的審核類(lèi)型EVENT?,F(xiàn)在,Watcher用戶(hù)可以使用EVENT類(lèi)型創(chuàng)建審核,審核將由webhook API觸發(fā)。
- 計(jì)算(Nova)數(shù)據(jù)模型的構(gòu)建將使用決策引擎線(xiàn)程池完成,從而大大減少了構(gòu)建模型所需的總時(shí)間。
Zaqar - 消息服務(wù)
Zaqar是openstack內(nèi)的多租戶(hù)云消息服務(wù)組件,它對(duì)標(biāo)并借鑒了Amazon SQS消息組件的實(shí)現(xiàn)。為在Openstack內(nèi)構(gòu)建可伸縮、可靠和高性能的云應(yīng)用提供了通道。Zaqar服務(wù)的特征是一個(gè)完全的RESTful API,使用生產(chǎn)者/消費(fèi)者,發(fā)布者/訂閱者等模式來(lái)傳輸消息。通過(guò)使用不同的通信模式開(kāi)發(fā)人員可以在他們的SaaS和移動(dòng)應(yīng)用程序上的各種組件之間發(fā)送消息。
Notes:
- 支持使用“ with_count”查詢(xún)隊(duì)列以返回隊(duì)列數(shù)量。幫助用戶(hù)快速獲取他們擁有的隊(duì)列的確切總數(shù)。
- 引入名為T(mén)opic的新資源,這是SNS的概念。用戶(hù)可以將消息發(fā)送到主題,然后訂閱者將根據(jù)不同的協(xié)議(例如,http,電子郵件,短信等)獲取消息。
Zun - 容器服務(wù)
作為提供容器管理服務(wù)的組件,Zun允許用戶(hù)在沒(méi)有管理服務(wù)器或集群參與的情況下快速啟動(dòng)和操作管理容器。它集成了Neutron、Cinder、Keystone等核心OpenStack服務(wù),實(shí)現(xiàn)了容器的快速普及。通過(guò)這種方式,OpenStack的所有原始網(wǎng)絡(luò)、存儲(chǔ)和識(shí)別驗(yàn)證工具都應(yīng)用于容器系統(tǒng),使容器能夠滿(mǎn)足安全性和合規(guī)性要求。Zun計(jì)劃支持多種容器技術(shù),如Docker、Rkt和clear container?,F(xiàn)在,對(duì)Docker技術(shù)的支持已經(jīng)完成。
Notes:
- 從此版本開(kāi)始,Zun添加了與CRI-compatible runtime的支持。 Zun使用CRI runtime來(lái)實(shí)現(xiàn)pod的概念。因此,用戶(hù)可以使用Zun API通過(guò)CRI runtime在Kata容器中創(chuàng)建pods。
使用devstack快速安裝與測(cè)試
DevStack是一系列可擴(kuò)展的腳本,用于基于git master的所有最新版本快速安裝完整的OpenStack環(huán)境。它以交互方式用作開(kāi)發(fā)環(huán)境,并作為OpenStack項(xiàng)目功能測(cè)試的基礎(chǔ)。
安裝Linux
首先準(zhǔn)備一個(gè)干凈且最小化的Linux系統(tǒng)。DevStack嘗試支持Ubuntu的兩個(gè)最新LTS版本,最新的與當(dāng)前的Fedora版本,CentOS/RHEL 7以及Debian和OpenSUSE。
如果您特殊要求,Ubuntu 18.04(Bionic Beaver)將會(huì)是測(cè)試最多的,并且可能會(huì)做得最流暢。
Add Stack User
DevStack應(yīng)該以啟用了sudo的非root用戶(hù)身份運(yùn)行(通常可以正常登錄云鏡像,例如“ ubuntu”或“ cloud-user”)。
如果您不使用云鏡像,則可以創(chuàng)建一個(gè)單獨(dú)的stack用戶(hù)來(lái)運(yùn)行DevStack
- $ sudo useradd -s /bin/bash -d /opt/stack -m stack
由于此用戶(hù)將對(duì)您的系統(tǒng)進(jìn)行更改,因此它應(yīng)該具有sudo特權(quán):
$ echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack$ sudo su - stack
下載DevStack
- $ echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
- $ sudo su - stack
存儲(chǔ)devstack repo包含一個(gè)腳本,該腳本主要用于安裝OpenStack和用于配置文件的模板。
創(chuàng)建local.conf中
local.conf在devstack git repo的根目錄下創(chuàng)建一個(gè)具有四個(gè)密碼的文件。
- [[local|localrc]]
- ADMIN_PASSWORD=secret
- DATABASE_PASSWORD=$ADMIN_PASSWORD
- RABBIT_PASSWORD=$ADMIN_PASSWORD
- SERVICE_PASSWORD=$ADMIN_PASSWORD
這是開(kāi)始使用DevStack所需的最低配置。
開(kāi)始安裝
- $ ./stack.sh
這將花費(fèi)15-20分鐘,這在很大程度上取決于網(wǎng)絡(luò)速度。在此過(guò)程中將安裝許多軟件包。
最后!
現(xiàn)在有了一個(gè)可以正常工作的DevStack!
默認(rèn)devstack就安裝了keystone,glance,nova, placement,cinder,neutron,和horizon。浮動(dòng)IP將可用,測(cè)試賬戶(hù)可以訪(fǎng)問(wèn)云外系統(tǒng)。
- 可以訪(fǎng)問(wèn)Horizon來(lái)體驗(yàn)OpenStack的Web界面,并從那里管理vm,網(wǎng)絡(luò),卷和鏡像。
- 可以在shell中使用 命令行工具來(lái)管理devstack。source openrc openstack
- 可以并運(yùn)行已配置為與devstack一起使用的tempest測(cè)試。cd /opt/stack/tempest
- 可以對(duì)OpenStack進(jìn)行代碼更改并進(jìn)行驗(yàn)證。
當(dāng)然安裝的工具不僅僅是devstack,還包含packstack,kolla等等,希望大家多嘗試。在此依然衷心祝愿OpenStack能夠越走越遠(yuǎn)。