近日,OpenStack 第16個社區版本 Pike發布,包括53個核心功能。
1. OpenStack 計算服務(Nova)
Cells v2 多Cell部署:部署將默認使用單Cell;從這個版本開始,你可以使用 Cells v2 API 創建多Cell 的環境了,盡管它還有一些局限。Cells v1 現在被標記為被棄用了。
重寫 Nova 配額系統,在資源被創建時計數:如果所申請的資源創建失敗,你會得到錯誤;你不需要做任何改動就可以使用該功能。
利用 PCIWeigher 來更高效地利用資源:PCI 設備是一種特殊硬件,因此你需要確保只有真正需要這些設備的負載會運行在帶有 PCI 設備的宿主機上。使用 [filter_scheduler] pci_weight_multiplier 配置項來防止非 PCI 負載被調度到帶有 PCI 設備的節點上。
節點在不能正常工作時會自動從服務列表中移除。
防止虛機占用宿主機上的所有物理CPU,通過使用 reserved_host_cpus 配置項來為 hypervisor 預留部分CPU。
Placement API 現在可以查看各種資源的定性“特征”,以更好地服務請求。
2. OpenStack 網絡服務(Neutron)
Neutron PTL Kevin Benton 告訴我們需要關注以下幾點:
支持從 Ocata 版本無縫升級到 Pike 版本
使用 haproxy 代替 neutron namespace proxy agent,以降低元數據代理服務器(metadata proxy server)上的內存使用
穩定性和性能優化
優化基于 OVS openflow 防火墻的穩定性
開始使用 Python3
優化服務端和 L2 agent 之間的通信方式,來降低 Neutron 服務器端負載
更新 Neutron HTTP API 中的條件比較和交換(Conditional compare-and-swap),為客戶端提供競爭安全(race-safe)方式來更新資源
DHCP 代理支持路由網絡(routed network )的其他段上的子網
QoS 改進
支持 QoS 擴展中的帶寬限制規則,設置帶寬速率限制
OVS 和 Linux Bridge 驅動程序中的雙向帶寬限制 QoS 規則
SR-IOV 的出口帶寬限制規則
增加一個 API,獲取已被加載的驅動所支持的 QoS 規則類型
DVR 改進
支持可用性受限的外部網絡(limited availability external networks )的部分分布式路由
修復 bug,使得可以在 VRRP 場景中使用與未綁定端口相關聯的浮動IP
通過計算節點為不需要網絡地址轉換的數據包快速退出路由
支持配額 API 中的配額使用統計
支持為每個 Neutron 端口設置單獨的 DNS 域
支持為每個網絡設置 MTU
支持為所有標準 Neutron 資源設置用戶自定義 tag
3. OpenStack 塊存儲服務(Cinder)
Cinder PTL Sean McGinnis 請我們關注以下幾點:
添加了 “還原到快照” (revert to snapshot) 功能,允許用戶將卷數據回滾到上一次做快照的時間點。
在某些情況下,我們支持對正在被使用的卷進行擴容。以前僅在卷未掛載到實例時才允許被擴容。現在,通過 Pike Cinder 與使用 libvirt 驅動的 Pike Nova 相配合,我們可以擴展使用中的卷,并將該更改反映到運行著的實例。
我們添加了 backend_default 配置部分。在此之前,如果您有一個配置項,想要應用于所有存儲后端,那么就需要在每個后端的配置部分中添加該配置項。Pike 版本中,這個新的配置部分中的配置項可以被后端配置部分中的配置項的值所覆蓋,或者被默認使用。
添加卷組復制(replication)支持。在此之前,管理員只能配置整個后端來進行復制。現在,通過使用此功能,用戶就能夠根據自己的需求(所有卷作為應用程序的一部分,例如僅限數據庫卷等)定義一卷組(volume group),并將該卷組復制到輔助后端。目前,只有少數 Cinder 驅動程序支持該功能,但是它現在確實是可用了。我們期望在后續版本中有更多的后端支持此功能。
4. OpenStack 鏡像服務(Glance)
通過使用新的 tasks_api_access 策略,來避免將 Tasks API 暴露給終端用戶;這策略能夠讓 Glance 使用普通用戶憑據來管理那些交互式映像導入任務。
5. OpenStack 編排服務(Heat)
Heat PTL Rico Lin 告訴我們,該項目增加了以下新資源,包括:
Neutron Trunk 資源支持(OS :: Neutron :: Trunk)
支持新的 Magnum Cluster 和 Cluster Template 資源(OS :: Magnum :: Cluster 和 OS :: Magnum :: ClusterTemplate)
由 Mistral 工作流管理的自定義資源類型(OS :: Mistral :: ExternalResource)
添加 Zun Container 資源(OS :: Zun :: Container)
他還談到在更新時可以使用 get_reality 功能:“您可以在更新 API 請求中使用 ‘converge’ 標志,此更新操作實際上會從服務(比如 nova 實例、cinder卷)中抽取資源并根據實際情況進行更新。 例如,我創建一個 m1.small 規格的實例,有人使用 nova API 對它進行更新,調整它的規格為 m1.large;使用 `converge` 標志后,Heat 會檢測到該實例的 flavor 已經被更改,并將其改為原有規格 m1.small。”
6. OpenStack Dashboard 服務(Horizon)
就像我們已經可以從 Horizon 中下載 openrc 文件來配置 OpenStack 客戶端一樣,Pike 現在可以為 os-client-config下載 clouds.yaml文件。
在項目的網絡詳細信息表中,創建和刪除網絡中的端口。 (作為運維,您可以使用策略打開和關閉此功能。)
現在可以在添加安全組規則時指定 “any” IP 協議和 “any” 端口號
現在可以看到哪些安全組被應用到了哪些 Neutron 端口
7. OpenStack 身份認證服務(Keystone)
Keystone PTL Lance Bragstad 告訴我們以下是 Pike 版本中已完成的一些重點工作:
注冊默認策略 - 這樣可以使運維更容易維護策略文件,特別是當大部分時候使用默認值時
增強存儲在SQL中的密碼安全性 - SQL 身份后端已被更新,以支持更安全的密碼 hash 機制,這更符合行業標準
8. OpenStack 對象存儲服務(Swift)
Swift PTL John Dickinson 告訴我們,以下這些是 Pike 版本中 Swift 的一些主要新功能:
支持全局分布式糾刪碼,包括:
復制的糾刪碼片段
用于更精確數據放置的復合環(Composite rings)
針對每個策略的配置選項
全局糾刪碼是通過復制對象的糾刪碼片段來實現的。這種 “EC復制” 允許每個獨立區域在跨區域的網絡中斷時也能正常工作,并且允許一個區域故障時使用遠程區域進行恢復。
為了實現全局擦除碼,我們首先必須支持“復合環”。復合環是由兩個或多個“正常”環組成的數據放置環。組件環(component ring)是在不同的區域使用不同的設備獨立構建的。以這種方式構建復合環允許更精確地分散副本或片段(例如,假設您有兩個區域,您可以在每個區域中指定2副本從而總數為4副本,或者可以指定跨這兩個區域使用 10 + 4 糾刪碼)。
我們還添加了基于每個策略覆蓋 proxy 配置選項的功能。例如,這會允許為一些存儲策略設置讀取關聯性。
9. OpenStack 計量服務(Ceilometer)
Telemetry PTL Julien Danjou 告訴我們Pike 中有新增以下內容:
支持 Manila
支持多種 SDN 控制器
10. OpenStack DNS 即服務 (Designate)
支持跨池(pool)調度
11. OpenStack 裸金屬部署項目 (Ironic)
Ironic PTL Dmitry Tantsur 告訴我們 Pike 版本有如下新增功能:
從 Cinder 卷啟動
物理網絡感知
無縫/滾動升級
12. OpenStack 文件服務 (Manila)
為每種共享類型(share type)設置配額,以及為共享組的數目和共享組快照設置配額
增加了支持 IPV4 和 IPv6的文檔和代碼,包括 IPv6 地址校驗,以及檢測一驅動是否支持IPv4 或者 IPv6
13. OpenStack 容器項目 (Magnum)
K8S 集群默認包含了 K8S 面板
包含了一個監控軟件棧,包括 cAdvisor,node-exporter,Prometheus 和 Grafana,但它需要在被顯式啟用后才能使用
允許限制 Magunum trustID 的訪問權限,這樣 Magunum 就不能無限制地訪問OpenStack 的任何服務了
14. OpenStack 應用目錄項目 (Murano)
Murano PTL Felipe Monteiro 告訴我們 Pike 中有以下重要變化:
完成了 Policy 代碼
Murano 環境可以選擇掛接哪個卷或者卷快照
15. OpenStack 大數據即服務 (Sahara)
Sahara PTL Telles Nobrega 告訴我們 Pike 中有以下重要變化:
Pike 版本的一個主要功能是引入了新的鏡像創建和驗證系統。我們仍然需要使用 disk image builder 來制作大部分鏡像,但是Pike 版本引入了 CDH。它允許用戶使用 libguestfs 來創建鏡像,而不再依賴于 DIB。
16. OpenStack 策略即服務 (Congress)
Congress PTL Eric K 告訴我們,Pike 版本聚焦于可使用性,特別是針對剛剛使用的人群。包括:
策略庫(Policy library):一個管理員可以自定義和激活包含了一些有用策略的集成庫,它允許管理員在學會如何撰寫策略之前就能快速從 Congress 獲益。
監控面板:這個監控面板一目了然地總結了環境中所有政策違規情況的數量及其嚴重性,并提供了詳細信息。
17. OpenStack On OpenStack (TripleO)
TripleO PTL Emilien Macchi 告訴我們以下內容:
Pike 版本周期內所做的主要工作是實現了由 TripleO 部署的服務的容器化
我們還支持從 Ansible 任務驅動的 Ocata 版本的裸機部署升級到 Pike 版本的容器化部署
在以前的版本中 TripleO 支持了可組合角色(Composable roles);現在,TripleO 支持了組合式網絡(Composable network),因此運維人員能夠根據所配置的角色來完全控制網絡配置
18. OpenStack 工作流服務(Mistral)
Mistral PTL Renat Akhmerov 提到了以下幾點:
完成了第一個版本的 Actions API(mistral-lib repo)
增強工作流變量發布(publishing workflow variables)功能(不同作用域、更靈活等)
Mistral OpenStack actions 現在可以在不同的區域(region)內運行;Mistral action 現在可以直接在引擎(engine)中運行(不需要通過RPC請求executor服務執行)