Red Hat OpenStack Platform Ocata 技術更新分享 (HAProxy) Distributed ......
Transcript of Red Hat OpenStack Platform Ocata 技術更新分享 (HAProxy) Distributed ......
Joe YuSenior Solution Architect, Red Hat
Red Hat OpenStack Platform Red Hat OpenStack Platform OcataOcata 技術更新分享技術更新分享
2/3 OpenStack 案例,運用於 ProductionTwo Thirds of Deployments are in Production or Full Operational Use
Apr2017
Oct2016
Apr2016
Oct2015Apr
2015Nov2014
46%46% 49%49% 59%59% 65%65% 71%71% 66%66%
Apr2017
Oct2016
Apr2016
Oct2015
Apr2015
Nov2014
100%
75%
50%
0%
25%
Source: OpenStack User Survey, April 2017
採用 OpenStack 的考量
April 2017 n=1183
April 2016 n=1306
Source: User Survey, April 2017
避免鎖定
加速創新
提昇營運效率
節約成本
採用開放平台與 API採用開放平台與 API
達成安全與 / 或隱私目的
吸引頂尖技術人才
其他
Red Hat 的 OpenStack 方案● 名稱: Red Hat OpenStack Platform ( 簡稱: RH OSP)● 最新版本: 11 ( 基於 Ocata , 2017/5/18 推出 )
上游社群OpenStack Foundation
中游社群RDO
(Red Hat 社群 )
下游產品Red Hat OpenStack
Platform
Red Hat 對 OpenStack 社群的貢獻: #1
Commits by company Red Hat commits by project
Source: http://stackalytics.com/?release=ocata&metric=commits&_type=tc:approved-release
2014收購Ceph創始公司
Intank
2008收購KVM創始公司
Qumranet
OSP: 最完整的OpenStack架構堆疊
Red Hat Ceph Storage3+ 年開發與支援
十數家硬體供應商的認證:Cisco, HP, Dell, Lenovo,Supermicro, Quanta 等
KVM Hypervisor7+ 年開發與支援
OpenStack #1 社群貢獻度
最長 5 年生命週期支援
RHEL認證
SUSE認證
MS認證
Red Hat Enterprise Linux● 10 年生命週期支援● 20+ 年的 Linux 核心支援經驗● Security: Common Criteria, EAL, FIPS 認證
硬體
作業系統
虛擬化
OpenStack
虛擬環境作業系統
CF 管理Appliance
軟體定義存儲
2011收購 雲端管理公司ManageIQ
(CloudForms)
1993 Red Hat 開始 Linux技術支援
持續硬體驗證
2011加入 OpenStack Foundation
OSP 與 SDN 的生態支援十多位的認證的 SDN 合作夥伴。 Director 目前可以自動設置 Cisco, Nuage, PLUMgrid 等 SDN ,逐漸拓展更多支援兩種主要模式 :
● Software 為中心 - general-purpose 硬體● Hardware 為中心 - 需要特定硬體
透過 ML2 drivers, core plugins 或 advanced services 拓展 Neutron 應用
最新功能需求 穩定環境需求
建議版本: OSP11 支援版本: OSP10
支援 1 年 支援 5 年
釋出週期:每 6 個月 釋出週期:每 18 個月
不會有 feature backport 有選擇的 feature backport
OSP 生命週期的選擇
u,6
OSP 伺服器角色與功能
生命週期管理節點:● 佈署 OSP/Ceph 節點● 更新管理 OSP 系統
OSP 控制節點:
● 提管理、使用界面
● 運行控制與訊息服務
● 3 節點組高可用架構
OSP 運算節點:
● 運行虛擬機環境
● 依據虛擬機器資源 需求決定節點數量
OSP-Ceph 存儲節點:
● 提供高可用存儲服務
● 需 3 份資料副本
● 至少 3 個節點
OSP 控制與運算 : 功能
提供企業支援於以下 OpenStack 模組
●管理儀表板: Horizon●認證與授權: Keystone● 運算服務: Nova●映像檔服務: Glance●磁碟服務: Cinder●網路服務: Neutron●物件存儲: Swift●編制服務( Orchestration ): Heat●資源監察服務: Ceilometer●資料處理服務( Hadoop ): Sahara●裸機佈署服務( Bare-metal ): Ironic●檔案分享即服務: Manila
網路功能支援
提供以下網路功能企業支援
●SR-IOV networking●IPv6 tenant networking (SLAAC, DHCPv6)●L3 HA (VRRP)●LBaaS (HAProxy)●Distributed Virtual Routing (DVR)●DPDK 技術整合
高可用架構支援
●控制節點高可用性:
● 提供控制服務的高可用性,以 3 台的主機組成叢集,避免單點錯誤
●運算節點高可用性:
● 提供主機的高可用性,當主機發生異常被隔離時,上面運作的虛擬機器可以透過 Pacemaker Remote 叢集機制,自動移轉至其他可用的主機上繼續運行,保護服務不中斷
第三方認證與週邊整合
●提供主要供應商之 X86 伺服器硬體認證
●提供第三方的 openstack解決方案認證
https://access.redhat.com/ecosystem/search/#/ecosystem/Red%20Hat%20Enterprise%20Linux%20OpenStack%20Platform?category=all
OSP 存儲 : Ceph是第一選擇● OSP 與 Ceph結合
● OpenStack User Survey 中, OpenStack 的第一選擇● 滿足雲端後端存儲需求,提供橫向拓展、資料高可用能力● Red Hat
● 於 2014 年完成對 Ceph 創始公司 Intank 的收購● 提供優惠:針對 OSP首購客戶送 64TB Ceph 授權● 技術整合: OSP/Ceph 控制服務整合於同一節點,集中透過
OSP Director 佈署
OSP 與其他存儲硬體供應商的認證
RHOSP除了 Ceph 以外,也與多家存儲供應商,如 EMC, NetApp, , HP,Dell, HDS, Fujitsu 等進行認證,提供更多樣的選擇
https://access.redhat.com/ecosystem/search/#/category/Software?sort=sortTitle%20asc&query=cinder&ecosystem=Red%20Hat%20OpenStack%20Platform
使用 OpenStack UnderCloud內的 Heat 服務,結合 Ironic 服務,完成佈署、更新、規模擴增 / 縮減的任務
Heat請求 Ironic ,透過 IPMI電源管理與 PXE部署, Bootstrap OverCloud 不同的服務角色( controller, compute, storage )
UnderCloud 的 Nova 與 Neutron 持續追蹤 OverCloud 服務細節,事後管理更新、升級拓展等維運工作
自動生成 overcloudrc 檔案,包含 overcloud 的認證資訊,方便管理人員進行管理
Director 生命週期管理
現在也支援預先安裝作業系統:Red Hat Enterprise Linux ,事後再讓 Director 佈署角色服務工作的方式 (無須電源控制 )
OSP 佈署角色
預設 5 種不同角色可供佈署:
● Controller● Compute● BlockStorage (cinder)● CephStorage (OSD)● ObjectStorage (Swift)
OSP 控制節點 HA :客製角色
Galera
RabbitMQ
HA Proxy
Cinder-vol
Redis
...
MyController MyDatabase MyMessage
HA ( pacemaker) 管理服務現在也能以客製角色獨立出來
仍然維持單一、主要的叢集,持續提供高可用保護
彈性架構以因應安全、負載、規模或其他需求
組合升級Outputs:...upgrade_tasks: - name: Check pacemaker cluster running before upgrade tags: step0,validation pacemaker_cluster: state=online check_and_fail=true async: 30 poll: 4 - name: Stop pacemaker cluster tags: step2 pacemaker_cluster: state=offline - name: Start pacemaker cluster tags: step4 pacemaker_cluster: state=online - name: Check pacemaker resource tags: step4 pacemaker_is_active: resource: "{{ item }}" max_wait: 500 with_items: {get_param: PacemakerResources} - name: Check pacemaker haproxy resource tags: step4 pacemaker_is_active: resource: haproxy max_wait: 500 when: {get_param: EnableLoadBalancer}
每個服務 Heat template現在包括“ upgrade_tasks” 參數於“ outputs”區中。
其內容為 Ansible formatted code 用以處理所有升級的程序
每個 Ansible task 會收到 tag value 讓 heat 一步步按照順序執行並完成工作
Tags 定義每項任務的執行順序,以確保不同服務間的升級程序可控
Director
puppet/services/service.yaml
組合升級
透過“ disable_upgrade_deployment: True” 選項,可以設定角色不執行升級程序
Compute 與 ObjectStroage預設啟用了此一選項
Roles
Compute
ObjectStorage
BlockStorage
Controller
CephStorage
Etc
Tag
puppet//service.yaml
major_upgrade_steps.j2.yaml
disable_upgrade_deployment: True
Director部署支援 NFV 功能需求
Director 可以在佈署時,直接設定啟用 NFV所需的功能 : NUMA/CPU pinning, Hugepages, IRQ isolation, SR-IOV, OVS+DPDK
SR-IOV Deployment (DPDK guest) OVS+DPDK Deployment (DPDK guest)
新的 OVS 與 DPDK 版本支援
DPDK 16.11 社群設計用於長期支援版本 (LTS)Red Hat 透過 Backported 整合 ovs-dpdk (取代 DPDK 16.07). 16.11將用於所有 DPDK 穩定版本的基礎,社群保障至少 2 年的生命週期
supported intelligentadvanced
OVS 2.6 維護現有並確保功能更新,為未來的效能改進、功能增益與 OVN 支持所鋪路
Nova Compute 與 Ceph OSD的超融合架構
除了原本 Control+Ceph Mon 支援外,現在進一步也支援 Compute+Ceph OSD 架構
主要用於滿足以下用例需求:
- NFV 使用情境
- 減少硬體的需求
- 需要效能的調整
Updated Reference architecture
透過客製角色,支援一般或超融合 (+SRIOV) 架構
VLAN-Aware VMs 的支援● OpenStack instance 有多個 VLAN 需求,現在之需要一張虛擬網卡,此技術通常佑稱為 Neutron TrunkPort● Neutron TrunkPort是一般 Port 的 Subport ,每一個 Subport 可承載一個唯一的 VLAN ,讓父級的 port 變成 trunk 模式,支援 Instance 使用一張虛擬網卡支援多個不同的 VLAN
● 應用情境從單純的簡化維運工作到NFV 網路環境隔離需求都有可能
整合容器技術:OpenShift Container Platform as a workload
Red Hat 目前不支援 OpenStack API 上加值有限Conatiner 管理的社群計畫,例如 Magnum, Murano
相對的, Red Hat 透過完整的 Reference Architecture 說明,如何於 OpenStack 上,安裝設置 OpenShift Container Platform as a guest:
● Kubernetes 整合 OpenStack Networking 與 Storage●自動部署 kubernetes nodes : 透過 OpenStack cloud
provider plug-in (kubelet --cloud-provider=openstack )