OpenStack Liberty 版本中53個重要的變化
一個新的秋季,一個新的OpenStack 版本。OpenStack 的第12個版本,Liberty,在10月15日如期交付,而且目前發(fā)行版本已經(jīng)備好了。那么我們期望能從過去六個月時間的開發(fā)中獲得些什么呢?
正如過去幾年一樣,每個版本都有大量的變化和引入新的功能,但是現(xiàn)在,OpenStack 已經(jīng)達到一個新的位置,那就是大部分的必要功能都已經(jīng)齊備了,因此,現(xiàn)在更多的是增量式的變化-只有一些偶然性爆發(fā)的領(lǐng)域是例外,比如容器。
當(dāng)然,這不是說容器就是過去六個月內(nèi)的所有值得期待的東西。除了容器,還有混合云和安全的新的部署模式,以及大多數(shù)項目在可升級性、性能以及穩(wěn)定性上的改進,以及添加新的功能。
10月8號,Rudy McComb 和我會做一場在線研討會,到時會詳細地討論每個項目中的變化。但是,到目前為止,我們已經(jīng)和各個項目的PTL 進行過交談,因此,這里有了一份一些比較重要的改進和新增功能的快速報告。
Nova: NFV 和大規(guī)模部署 (NFV and large scale deployments)
1. NFV:其實,自然地看起來,討論NFV的領(lǐng)域應(yīng)該是網(wǎng)絡(luò),也就是Neutron,但是實際上,許多的工作和Nova相關(guān)。 “OPNFV 致力于在所有開放品臺上為NFV提供參考實現(xiàn)和測試平臺“,Jay Pipes 對Enterprise Networking Planet說,而他是Mirantis 的工程主管。”OpenStack 是一個更大NFV架構(gòu)中的基礎(chǔ)架構(gòu)層(NFVi),它包括虛擬網(wǎng)絡(luò)功能本身,更高層的編排、運營和商務(wù)支持系統(tǒng)“。
2. Cell 管理:Cell提供了將資源進行分組的方法,使得用戶可以部署更大規(guī)模的OpenStack云,這樣,資源的管理會更加容易。現(xiàn)在,管理員可以將已有的資源添加到cell分區(qū)中,然后系統(tǒng)就會知道在哪里找到它們。
Neutron: 更好的管理安全和帶寬,更易向 IPv6 遷移 (Better control over security and bandwidth, easier moves to IPv6)
3. IPv6:既然在北美IPv4 地址已經(jīng)正式地耗盡了,IPv6 已經(jīng)變得更加重要。Neutron 現(xiàn)在提供了 IPv6 前綴代理(prefix delegation),使得對每一個提交(submit)能自動分配多個CIDR,這樣,搭建一個網(wǎng)絡(luò)就更加容易了。
4. QoS:管理員現(xiàn)在可以通過分配 quota, 來不僅僅控制整個項目的帶寬,還可以設(shè)置每個虛機的 QoS。
5. 安全:管理員現(xiàn)在可以使用基于角色的權(quán)限管理(RBAC)來控制對特定網(wǎng)絡(luò)的訪問。
6. LBaaS:現(xiàn)在 LBaaS 的參考實現(xiàn)是基于專業(yè)級別的負載均衡平臺Octavia實現(xiàn)的,而且不再是實驗性的了。
7. IPAM:通過使用第三方的IPAM,可以使用可插拔式的IP地址管理了。
Cinder: 更好的操作控制和增加一些新的功能 (Better control over operations and additional information about capabilities)
8. Quotas:支持對層級項目使用quota
9. 緩存: 經(jīng)常使用的鏡像現(xiàn)在可以被緩存了,因此它們不需要反復(fù)的通過網(wǎng)絡(luò)被獲取,從而提高了大鏡像的性能,使得從鏡像創(chuàng)建卷更快速
10. 易用性:Cinder 客戶端現(xiàn)在可以獲取后端存儲Prvider的能力列表,免得用戶使用不支持的功能。
Glance: 基于鏡像簽名和校驗的更好的安全性 (Better security through image signing and verification)
11. 鏡像驗證:Glance 現(xiàn)在允許用戶使用他們自己的私鑰要對鏡像做簽名,從而確保他們的鏡像中不會被插入惡意代碼。
12. S3 代理:Glance 現(xiàn)在可以通過HTTP 代理來使用S3后端存儲,從而可以在多個網(wǎng)絡(luò)中使用。
Swift: 提高性能和運維能力 (Improved performance and operator capabilities)
13. 性能:增強了在使用低速磁盤時的性能,以及去掉了latency spike 以及在集群管理中限制數(shù)據(jù)移動
14. Ring 運維:運維人員現(xiàn)在可以使用ring-builder-analyzer 工具來快速地測試不同的Ring配置
15. 大規(guī)模上傳:現(xiàn)在用戶可以對爆炸性的歸檔需求(exploding archive)設(shè)置項目級別的元數(shù)據(jù)
16. 糾錯碼:用戶現(xiàn)在應(yīng)該可以信任對糾錯碼的顯著性修補和優(yōu)化了。
Keystone: 對混合云管理更加容易 (Easier hybrid cloud management)
17. 混合云:多云聯(lián)邦(Multi-cloud federation) 需要對 IDP (Identity Providers)更好地管控。Liberty 使得對多個獨立的 IDP 后端使用統(tǒng)一的 Web 登錄(WebSSO)成為了可能。
18. 更好的混合云支持:能夠區(qū)分位于不同云中的但是用戶名相同的用戶
Horizon: 更容易的創(chuàng)建虛機 (Easier instance launching)
19. 創(chuàng)建虛機:Liberty 包含一個新的創(chuàng)建虛機的對話框(你可以通過配置項打開或者關(guān)閉它)
20. 網(wǎng)絡(luò)管理:提供了一個新的網(wǎng)絡(luò)拓撲頁面,使得更容易看到到底發(fā)生了什么
21. 混合云管理:在 Horizon 中控制 特定IDP 的 WebSSO (IDP-specific WebSSO)
Heat: 融合 (Convergence )
22. 融合:Heat已經(jīng)轉(zhuǎn)變?yōu)橐环N開發(fā)者期望的新模式,它會帶來更好的用戶體驗。Liberty 包含了“融合”架構(gòu)的新的實現(xiàn)方式,這種方式是更多地基于工作流和觀察的(based more on workflow and observation)
23. 支持新的資源:Heat 現(xiàn)在可以控制 Keystone 端點(endpoint)和服務(wù),以及Barbican 和Designate 了。
Magnum: 支持新的類型和高可用性 (New support types, and high availability)
24. 支持 Mesos:Magnum 現(xiàn)在能夠支持 Mesos 了。
25. 高可用性:通過使用Magnum 中主節(jié)點的數(shù)目(master count)大于1,用戶就可以使用高可靠的多主Kubernetes集群了。
26. 擴展性:Kubernetes 已經(jīng)被整合到Neutron的負載均衡中。
Kolla: 容器支持和易于部署 (Containers and easy deployment)
27. 多選擇:來自CentOS, Fedora, Oracle Linux, Red Hat Enterprise Linux, and Ubuntu 等多家公司的使用 RDO,RHOS 或者源碼的大概90個容器基礎(chǔ)鏡像組成的Docker 鏡像可以供用戶選擇
28. 部署:可以在裸機上使用Ansible 部署大規(guī)模的基于容器的高可用環(huán)境,包括兩個或者三個控制節(jié)點、最多100個計算節(jié)點、最多10個存儲節(jié)點和一個網(wǎng)絡(luò)節(jié)點。
29. 服務(wù):使用 Ansible + Docker 部署多種服務(wù):HAProxy, Keepalived, MariaDB + Galera, RabbitMQ, memcached, Keystone, Glance, Nova, Neutron (LinuxBridge or OVS), Heat, Cinder (Ceph only) and Swift
30. 配置:提供了一種可選的部署工具,使得運維人員可以修改OpenStack 的配置。
Murano: 更好地控制向OpenStack 云創(chuàng)建和部署應(yīng)用 (More control when creating and deploying applications to an OpenStack cloud)
31. 開發(fā)者的控制:支持應(yīng)用的版本,因此應(yīng)用可以升級了。
32. 用戶的控制性:用戶現(xiàn)在可以選擇使用在OpenStack云環(huán)境的網(wǎng)絡(luò)和要部署的應(yīng)用。
33. 資源控制:如果需要的話,環(huán)境可以被放棄
34. 基礎(chǔ)設(shè)施控制:Murano 現(xiàn)在使用 Glance Artifact Repository 作為它的存儲后端。
35. 編排控制:可以使用 Heat 模板和文件進行部署
Ceilometer: 通過簡化的告警創(chuàng)建和實時告警觸發(fā)能力來更好地控制集群 (Better cluster control through easier alarm creation and real-time alarm triggers)
36. 實時監(jiān)控:現(xiàn)在用戶可以實時地基于發(fā)生的事件來觸發(fā)告警
37. 性能:通過資源元數(shù)據(jù)緩存技術(shù),提高了nova 計量數(shù)據(jù)抓取的性能,以及異步地處理Gnocchi 中的多個量度。
38. 易用性:大多數(shù)的 meter 可以通過一個 ymal 文件而不是 python 代碼創(chuàng)建
39. 和其它系統(tǒng)的整合:Ceilometer 可以將計量數(shù)據(jù)發(fā)送到Gnocchi 時間序列數(shù)據(jù)存儲系統(tǒng),它可以使用Grafana 來觀察性能
Trove: 通過引入新的功能增強了對MariaDB,MongoDB 和 Redis 的支持 (Improved support with new functionality for MariaDB, MongoDB, and Redis)
40. MariaDB:支持MariaDB 自身,而不是依賴MySQL驅(qū)動。
41. 集群:通過整合Percona更好地支持集群
42. Redis:增強 Redis 備份和復(fù)制功能
Sahara: 極大的優(yōu)化易用性 (Drastically enhanced ease of use)
43. 靈活性:通過在數(shù)據(jù)源URL中傳入不同的參數(shù)來重用數(shù)據(jù)源
44. 高效性:在多個租戶之間共享數(shù)據(jù)源,這樣你就不需要復(fù)制多份大的數(shù)據(jù)集了
45. 更強的支持:支持 MapR 5.0.0, 還支持將Manila 作為數(shù)據(jù)源
46. 便捷性:支持同時創(chuàng)建多個集群
Zaqar: 增強靈活性、安全和性能 (Increased flexibility, security, and performance)
47. 靈活性:支持預(yù)簽名的URL,所以可以靈活地將它們提供給未授權(quán)用戶或者服務(wù),而不需要授予它們整個系統(tǒng)的權(quán)限
48. 安全性:使用 RBAC 保護API,這樣用戶可以準確地決定哪些人可以訪問哪些資源
49. 高效性:支持Websocket 傳輸方式,從而可以使用一個通道(channel)進行全雙工通信(full duplex communication)
Barbican: 更好的安全和配額控制 (More control over security and quotas )
50. 安全性:用戶可以循環(huán)(rotate)用于加密項目級別密鑰(key)的主密鑰(Master Key),從而使用新的主密鑰來取代可能已經(jīng)泄露的就密鑰
51. 管理型:你可能需要更多的控制一個項目的密碼(secret)數(shù)量,甚至是一個用戶可以上傳的密碼數(shù)量,而Barbican 現(xiàn)在就包括了這種類型的配額支持。
52. 便捷性:項目管理員現(xiàn)在可以創(chuàng)建特定項目的CA(Certificate Authorities),然后用戶就可以從他們項目的CA上創(chuàng)建自簽名的x.509證書了
Congress: 更寬泛的政策違規(guī)的糾正方法 (Much wider range of corrections available for policy violations)
53. 靈活性:通過手動的響應(yīng)措施,用戶可以編寫政策聲明(policy statement),來確定是否違反了某個政策以及描述哪些API調(diào)用可以用于糾正違規(guī)。Liberty 版本中,政策可以糾正這些模塊的違規(guī):Ceilometer, Cinder, Glance, Heat, Ironic, Keystone, Murano, Neutron, Nova, and Swift。除此以外,Congress 現(xiàn)在提供了一系列的API調(diào)用給政策編寫者來糾正違規(guī)。(Flexibility: With manual reactive enforcement, users write policy statements that both identify a policy violation and dictate which API call should be executed to correct that violation. In Liberty policies can correct violations using API calls for Ceilometer, Cinder, Glance, Heat, Ironic, Keystone, Murano, Neutron, Nova, and Swift. In addition, Congress now provides a list of the API calls that policy writers can use to correct violations.)
以上部分,是這個版本中的(大部分)變化,除此以外,其它的項目也有它們自己的變化,包括:
Community App Catalog: Horizon 插件
- Manila: 更好的調(diào)度和可靠性
- Mistral: API 改進
- Ironic: 額外的驅(qū)動和可操作性改進
- Rally: 能夠?qū)ιa(chǎn)系統(tǒng)做基準測試
- Refstack: 用戶能夠提交測試結(jié)果來幫助確定OpenStack 兼容性的改進方向