目錄
- 目錄
- 概覽
- 安裝需求
- 服務架構
- 網絡架構
- 存儲架構
官方文檔連結
https://docs.openstack.org/project-deploy-guide/openstack-ansible/ocata/overview-osa.html
概覽
ansible 提供一個自動化平台健華系統和應用的部署。ansible通過SSH來管理系統。
ansible使用的是playbooks,用的是YAML語言。
hosts分類
- deployment hosts: 運作ansible playbooks
- target hosts:安裝openstack服務以及設施等元件
安裝的流程
- Prepare deployment host
- Prepare target hosts
- Configure deployment
- Run playbooks
- Verify Openstack operation
安裝需求
Software requirement(這裡隻考慮ubuntu)
- ubuntu(16.04)
- linux kernel version 3.13.0-34-generic 或者更新的核心版本
- 支援SSH,支援公鑰驗證
- 時鐘同步 支援NTP
- python2.7.x
- en_US.UTF-8 as the locale
CPU requirement
- compute host:借助硬體虛拟化擴充的多核處理器
- infrastructure(storage) host:最好性能的多核處理器
Disk requirement
host類型 | 需求 |
---|---|
deployment hosts | 10GB磁盤空間支援openstack-ansilbe倉庫以及額外的必需軟體 |
compute hosts | 依賴于主機上運作的總執行個體個數,compute node至少需要1TB的磁盤空間,并且磁盤提供較低延遲時間、更高IO吞吐量,例如SSD驅動 |
storage hosts | 運作cinder的節點在openstack環境彙總使用最多磁盤空間,和compute hosts一樣,需要較低延遲時間、更高IO吞吐量的磁盤 |
infrastructure (storage) hosts | 包含存儲量服務,例如鏡像服務glance,mariaDB等,這些hosts至少需要100GB的磁盤空間 |
logging hosts | 儲存各個容器的log資訊,至少保留50GB的磁盤空間來儲存log資訊 |
Network recommendations
部署Openstack環境可以隻用一個實體網卡,但是隻适用于一個小的環境。
在生産環境中:
- bonded network interface:提高性能和可靠性
- VLAN offloading:通過增加或者去除vlan 标簽來提高硬體性能
- gigabit or 10 Gigabit Ethernet, 支援更高的網速,并且提高使用塊存儲服務的存儲性能
- jumbo frames(巨型幀), 允許每個包中發送更多的資料以提高網絡性能
服務架構
Openstack是一個靈活部署配置的模型,能夠部署所有的服務到一個單獨的LXC(linux container)中或者直接部署在指定的hosts上。
可以讓安裝者根據特定的需求選擇怎麼更好的部署openstack
基礎設施服務
- mariaDB with Galera:底層資料庫,多主線(multimaster)資料庫配置
- rabbitmq:用于進階消息隊列協定(AMQP).
- memcached:記憶體緩存,加速事務的執行
- repository
- load balance
- utility container
- log aggregation host
- unbound DNS container
Openstack service
- Bare Metal (ironic)
- Block Storage (cinder)
- Compute (nova)
- Container Infrastructure Management (magnum)
- Dashboard (horizon)
- Data Processing (sahara)
- Identity (keystone)
- Image (glance)
- Networking (neutron)
- Object Storage (swift)
- Orchestration (heat)
- Telemetry (aodh, ceilometer, gnocchi)
網絡架構
在openstack-ansible中,在target host上的網絡要自動配置,因為每個user case都是不同的。
openstack-ansible在容器中用網橋來連接配接主機上實體、邏輯網絡接口與虛拟網絡接口。不同類型的target hosts有不同的網橋。
target host 類型 | 網橋 | 描述 | 配置檔案路徑 |
---|---|---|---|
LXC internal | | 必須的。openstack-ansible一般會自動配置它,提供與容器的外部連接配接。此橋不直接連接配接主機上的任何實體或邏輯接口,因為iptables處理連接配接性。它連接配接到每個容器中的eth0 | provider network 目錄下 的openstack_user_config.yml |
Container management | | 必須的。提供了基礎設施和openstack服務之間的管理和通信。該橋連接配接一個實體或者邏輯接口,通常是一個綁定VLAN子接口,它還附加到容器的eth1上 | openstack_user_config.yml |
Storage | | 可選的。它為OpenStack服務和塊儲存設備之間的塊儲存設備提供了隔離通路。橋接在一個實體或邏輯接口上,通常是一個綁定VLAN子接口。它還附加到每個關聯容器中的eth2 | openstack_user_config.yml |
OpenStack Networking tunnel | | 如果環境被配置為允許項目建立虛拟網絡,則需要brl -vxlan橋。它為虛拟(VXLAN)隧道網絡提供了接口。橋接在實體或邏輯接口上,通常是一個綁定1 VLAN子接口。它還附加到每個關聯容器中的eth10。 | openstack_user_config.yml |
OpenStack Networking provider | | 必須的。它為VLAN标記或flat(無VLAN标記)網絡提供基礎設施。橋連接配接到實體或邏輯接口,通常是bond1。它在每個關聯的容器中附加到eth11中VLAN類型網絡。因為它隻管理二層連接配接,是以它沒有被配置設定ip位址。 | openstack_user_config.yml |
存儲架構
-
Block Storage (cinder)
塊存儲(cinder)服務在一個環境中管理儲存設備上的卷。在生産環境中,該裝置通過存儲協定(例如,NFS、iSCSI或Ceph RBD)向存儲網絡(
)和管理網絡(brc-storage
)存儲管理API提供存儲。執行個體通過計算主機上的管理程式通過存儲網絡連接配接到卷。 描述:br-mgmt
- 首先通過指定的
服務利用合适的cinder-driver來建立一個卷,通過使用一個向管理網絡送出的API來建立。cinder-volume
- 緊接着,等卷建立完成後,
服務通過存儲網絡将計算主機管理程式和卷連接配接。nova-compute
- 最後當計算主機管理程式連接配接上卷後,将卷作為本地硬體裝置向執行個體展示。
- 首先通過指定的
-
Object Storage (swift)
對象存儲(swift)服務實作了一個高度可用的、分布式的、最終一緻的object/blob存儲,可以通過HTTP/HTTPS通路。
用戶端通過管理網絡上的負載均衡器(
)通路br-mgmt
服務。swift-proxy
服務通過存儲網絡(swift-proxy
)在對象存儲主機上與帳戶、容器和對象服務進行通信。對象存儲主機之間的複制通過複制網絡(brc-Storage
)完成。brl-repl
-
Image storage (glance)
鏡像服務(glance)可以配置為在glance_store驅動程式支援的各種存儲後端存儲鏡像。
描述:- 當用戶端請求鏡像時,
服務通過存儲網絡(glance-api
)通路儲存設備上的适當存儲,并将其拉入緩存中。當再次請求相同的鏡像時,它将直接從緩存提供給客戶機。brc-storage
- 當一個執行個體被安排在一個計算主機上進行建立時,
服務會從管理網絡(nova-compute
)中請求來自br-mgmt
服務的鏡像。glance -api
- 在檢索鏡像之後,
服務将映像存儲在其自己的鏡像緩存中。當使用同一映像建立另一個執行個體時,将從本地基礎鏡像緩存中檢索鏡像。nova-compute
- 當用戶端請求鏡像時,
-
Ephemeral storage (nova)
當計算服務中的各種類型被配置為提供根或臨時磁盤的執行個體時,nova-compute服務使用它的臨時磁盤存儲位置來管理這些配置設定。
描述:- 計算主機配置為通路儲存設備。計算主機通過使用存儲協定(例如,NFS、iSCSI或Ceph RBD)通過存儲網絡(
)通路存儲空間。brc-storage
-
服務配置管理程式,将已配置設定的執行個體磁盤作為裝置提供給執行個體。nova-compute
- hypervisor将磁盤作為一個裝置呈現給執行個體。
- 計算主機配置為通路儲存設備。計算主機通過使用存儲協定(例如,NFS、iSCSI或Ceph RBD)通過存儲網絡(