編者按:昨日,OpenStack迎來了十週年Ussuri版本的發佈!Ussuri進行了許多改進優化,並提供了許多新功能,爲OpenStack基礎架構這些功能能夠加強基礎架構和租戶空間中的OpenStack。其中包括圍繞OVN的穩定工做以及對Cyborg項目與Nova的合做加深。此外,這一版本全部服務都將轉向Python3的懷抱,而且在Train版本的基礎上進行了多項更新。值此Ussuri版本發佈之際,九州雲特別推出新特性詳解系列文章,敬請關注!python
完成了Nova Cyborg Interaction功能,使二者在某些方面進行緊密的聯繫,用於啓動和管理具備GPU等加速器的實例。linux
Nova API策略引入了具備scope_type功能的新默認角色web
Ironic及其遠程代理之間的交互身份驗證獲得了補充sql
Kolla 添加了對後端API服務的TLS加密的初始支持後端
各服務功能趨於飽和,轉向質量和使用層面的優化:安全
Glance 優化了對Multiple Strores的操做,單次操做,後臺同步;服務器
Keystone對建立應用程序憑據和信任關係的用戶體驗進行了極大改善;網絡
各個項目對錯誤修復、舊功能棄用、不推薦功能清理等工做都進行了有效的推動。架構
固然這裏只是列舉了一些新版本的特性,從中能夠看出OpenStack以愈發穩定、優越的姿態持續前進。下面將列舉各項目在Ussuri版本的特性:併發
Cinder - 塊存儲服務
實現服務和庫,以經過抽象和自動化在其餘塊存儲設備之上提供對塊存儲資源的按需自助服務訪問。
Notes:
爲volume-type設置最大和最小的Size;
使用時間比較運算符過濾卷列表的能力;
將捲上載到Image Service時,支持Glance multistore和鏡像數據託管;
添加了一些新的後端驅動程序,而且許多當前的驅動程序都增長了對更多功能的支持。
Cyborg - 加速器生命週期管理
爲加速器提供通常管理框架(FPGA,GPU,SoC, NVMe SSD,DPDK/SPDK,eBPF/XDP …)
Notes:
隨着Nova-Cyborg集成的完成,用戶如今可使用由Cyborg管理的加速器啓動實例;
實現了新的API,用以列出由Cyborg管理的設備,能夠查看和管理加速器的列表;
Cyborg經過在v2 API中採用microversions的模式,旨在未來版本中提供向後兼容的辦法;
Cyborg客戶端如今基於OpenStack SDK,並支持大多數Version 2 API;
經過增長更多的單元/功能測試並減小技術負擔來提升整體質量。
Glance - 鏡像服務
提供服務和相關的庫來存儲、瀏覽、共享、分發和管理可引導磁盤鏡像,與初始化計算資源緊密相關的其餘數據以及元數據定義。
Notes:
加強了Multiple Stores功能,用戶如今能夠向多個Stores導入單個鏡像,在多個Stores中複製現有的imgae,並從單個Store中刪除鏡像;
新導入了插件以解壓鏡像;
再次爲glance-store引入了S3 driver。
Horizon - 儀表盤
爲全部OpenStack服務提供可擴展的,基於Web的統一用戶界面。
Notes:
該版本主要從維護角度着眼於錯誤修復和改進,包括對舊功能的棄用,對不推薦使用的功能的清理,對集成測試覆蓋率的改進,在單元測試中向模擬用法的遷移等;
Horizon和全部Horizon插件如今都支持Django 2.2,這是Django惟一受支持的LTS。Django是一個地平線依賴的框架。請注意,再也不支持python 2.7,咱們已經進入python3時代;
實現了Keystone支持中的幾個功能缺陷:一個容許用戶更改過時密碼的功能,包括首次登陸,用戶面板中的密碼鎖定選項以及對應用程序憑據的訪問規則的支持。
Ironic - 裸金屬服務
產生可以管理和配置物理機的OpenStack服務和關聯的庫,並以安全意識和容錯的方式進行。
Notes:
支持範圍內省的規則,該規則容許每一個節點子集具備(並保留)規則,例如不一樣的硬件交付;
支持硬件退役工做流程,以實現託管雲中硬件退役的自動化;
非管理員使用Ironic可使用多租戶概念和其餘策略選項;
Ironic及其遠程代理之間的交互身份驗證獲得了補充,從而能夠在不受信任的網絡上進行部署;
UEFI和設備選擇如今可用於軟件RAID;
Keystone - 身份校驗服務
爲了促進API客戶端身份驗證,服務發現,分佈式多租戶受權和審覈。
Notes:
使用聯合身份驗證方法時,用於建立應用程序憑據和信任關係的用戶體驗已獲得極大改善。角色分配來自映射的組成員身份的聯盟用戶將在令牌過時後將這些組成員身份保留爲可配置的TTL,在此期間其應用程序憑證將保持有效;
如今,能夠經過在Keystone中直接建立聯盟用戶並將其連接到其身份提供者,而無需依賴於映射API,就能夠爲聯盟用戶指定具體的角色分配;
當引導新的Keystone部署時,管理員角色如今默認設置爲「 immutable」選項,這能夠防止意外刪除或修改它,除非有意刪除了「 immutable」選項;
Keystonemiddleware再也不支持Identity v2.0 API,該身份在先前的發行週期中已從keystone中刪除;
恢復資源驅動程序的可配置性,所以,若是內置sql驅動程序不知足業務要求,如今能夠建立自定義資源驅動程序;
Kolla - OpenStack的容器化部署
提供用於生產OpenStack雲的生產就緒容器和部署工具。
Notes:
如今,全部鏡像,腳本和Ansible劇本都使用Python 3,而且對Python 2的支持也已刪除;
添加了對CentOS 8主機和鏡像的支持;
添加了對後端API服務的TLS加密的初始支持,從而提供了API流量的端到端加密。目前支持Keystone;
增長了對開放虛擬網絡(OVN)部署以及與Neutron集成的支持;
增長了對部署Zun CNI(容器網絡接口)組件的支持,從而使帶有容器的Docker能夠支持Zun capsules(pods);
添加了對Elasticsearch Curator的支持,以幫助管理集羣日誌數據;
添加了將Mellanox網絡設備與Neutron一塊兒使用所必需的組件;
簡化了外部Ceph集成的配置,能夠輕鬆地從Ceph-Ansible部署的Ceph集羣過渡到在OpenStack中啓用它;
Kuryr - OpenStack與容器網絡之間的橋樑
容器框架網絡模型與OpenStack網絡抽象之間的橋樑。
Notes:
支持IPv6;
DPDK支持嵌套設置以及其餘各類與DPDK和SR-IOV相關功能的改進;
與NetworkPolicy支持相關的多個修復程序;
Manila - 共享文件系統服務
爲多租戶雲環境中的共享文件系統的管理提供一套服務,相似於OpenStack經過Cinder項目提供基於塊的存儲管理的方式。
Notes:
共享組已從試驗性功能逐漸發展成熟。從API版本2.55開始,再也不須要X-OpenStack-Manila-API-Experimental標頭來建立/更新/刪除共享組類型,組規範,組配額和共享組自己;
兼容時,能夠從跨存儲池的快照建立共享。這項新功能能夠經過分散先前侷限於託管快照的後端的工做負載來更好地利用後端資源;
引入了新的配額控制機制,以限制項目及其用戶可建立的共享副本的數量和大小;
如今能夠按時間間隔查詢異步用戶消息;
Neutron - 網絡服務
實施服務和相關的庫,以提供按需,可伸縮且與技術無關的網絡抽象。
Notes:
OVN驅動程序如今已合併到Neutron存儲庫中,而且是核心 Neutron ML2 drivers之一,例如linuxbridge或openvswitch。與openvswitch驅動程序相比,OVN驅動程序的優勢包括具備分佈式SNAT流量的DVR,分佈式DHCP以及無需網絡節點便可運行的可能性。固然其餘ML2驅動程序仍然受到徹底支持。當前默認代理仍是openvswitch,但計劃是使用OVN驅動程序成爲未來的默認選擇;
添加了對無狀態安全組的支持。用戶如今能夠將安全組集建立爲無狀態,這意味着conntrack將不會用於該組中的任何規則。一個端口只能使用無狀態或有狀態安全組。在某些用例中,無狀態安全組將容許操做員選擇優化的數據路徑性能,而有狀態安全組會在系統上施加額外的處理;
已添加用於地址範圍和子網池的基於角色的訪問控制(RBAC)。地址範圍和子一般由運營商定義並向用戶公開。此更改使操做員能夠在地址範圍和子網池上使用更精細的訪問控制;
Neutron API中添加了對建立過程當中標記資源的支持。用戶如今能夠設置資源標籤,例如直接在POST請求中移植端口。這將大大提升kubernetes網絡操做的性能。API調用的數量,例如Kuryr已發送給Neutron的郵件大大減小
Nova - 計算服務
實施服務和相關的庫以提供對可計算資源(包括裸機,虛擬機和容器)的大規模可擴展的按需自助訪問。
Notes:
Nova再也不支持Python 2,Python 3.6和3.7則受支持;
支持在Nova cells間進行冷遷移和從新調整虛擬機大小;
支持precaching glance image到計算節點;
支持在建立虛擬機時經過Cyborg來附加加速設備;
進一步支持QOS最小的帶寬功能(拓展瞭如下操做evacuate、live migrate、unshelve);
支持nova-manage placement auditCLI,以查找和清理孤立的資源分配;
Nova API策略引入了具備scope_type功能的新默認角色。這些新更改提升了安全級別和可管理性。在處理具備「讀取」和「寫入」角色的系統和項目級別令牌的訪問權限方面,新策略更加豐富;
從卷啓動的虛擬機可以使用Rescue操做,容許將穩定的磁盤設備鏈接到救援實例;
計算節點支持多種虛擬GPU類型;
移除os-consoles和os-networksREST APIs;
移除nova-dhcpbridge、nova-console、nova-xvpvncproxy服務;
Octavia - 負載均衡服務
以技術不可知的方式提供按需擴展的自助服務訪問負載平衡器服務
Notes:
Octavia如今支持在特定可用性區域中部署負載平衡器。這容許將負載平衡功能部署到邊緣環境;
Octavia amphora驅動程序已添加了一項技術預覽功能,能夠改善控制平面的彈性。若是控制平面主機在負載均衡器配置操做期間發生故障,備用控制器能夠恢復進行中的配置並完成請求;
用戶如今能夠指定偵聽器和池可接受的TLS密碼。這容許負載平衡器強制執行安全合規性要求;
Placement - 放置服務
跟蹤雲資源清單和使用狀況,以幫助其餘服務有效地管理和分配其資源
Notes:
經過使分配重試計數可配置,提升了常見的併發分配寫入次數(例如繁忙的羣集管理程序)狀況下的魯棒性;
Puppet Openstack - 用於openstack部署的puppet模塊
用於OpenStack的Puppet模塊爲OpenStack雲部署帶來了可擴展且可靠的IT自動化。
Notes:
Puppet OpenStack如今可使用管理員密碼而不是舊版管理員令牌來引導Keystone;
Swift - 對象存儲服務
提供用於經過簡單的API存儲和檢索大量數據的軟件。專爲擴展而設計,針對整個數據集的耐用性,可用性和併發性進行了優化。
Notes:
爲Swift容器和對象添加了新的系統命名空間;
使用新的名稱空間添加了新的Swift對象版本API;
添加了對使用新API的S3版本控制的支持;
添加了使用SIGUSR1執行「無縫」重載的功能,其中WSGI服務器套接字從不中止接受鏈接;
Vitrage - 根緣由分析服務
爲了組織,分析和可視化OpenStack警報和事件,提供有關問題根本緣由的看法,並在直接發現問題以前推斷出它們的存在。
Notes:
添加了更簡潔和友好的Template Version 3語法;
Watcher - 基礎架構優化服務
Watcher的目標是爲基於多租戶OpenStack的雲提供靈活,可擴展的資源優化服務。
Notes:
添加了新的webhook API和新的審覈類型EVENT。如今,Watcher用戶可使用EVENT類型建立審覈,審覈將由webhook API觸發;
計算(Nova)數據模型的構建將使用決策引擎線程池完成,從而大大減小了構建模型所需的總時間;
Zaqar - 消息服務
以有效,可擴展和高度可用的方式生產提供各類分佈式應用程序模式的OpenStack消息服務,並建立和維護相關的Python庫和文檔。
Notes:
支持使用「 with_count」查詢隊列以返回隊列數量。幫助用戶快速獲取他們擁有的隊列的確切總數;
引入一個名爲Topic的新資源,它是SNS的概念。用戶能夠將消息發送到主題,而後訂閱者將根據不一樣的協議(例如,http,電子郵件,短信等)來獲取消息;
Zun - 容器服務
提供與各類容器技術集成的OpenStack容器服務,用於管理OpenStack上的應用程序容器。
Notes:
今後版本開始,Zun添加了對CRI兼容運行時的支持。Zun使用CRI運行時來實現膠囊(pod)的概念。所以,用戶能夠經過CRI運行時使用Zun API在Kata容器中建立Pod。