在部署 Kolla-Ansible 時,雖然能夠同時部署 Ceph Cluster,但是在一些情況下,維運人員會希望將 Ceph 跟 OpenStack 分開管理,可是又想要利用 Ceph 當儲存的 Backend。這時可不用擔心,Kolla-Ansible 可以運用之前提過的 config override 的功能來使用 External Ceph Cluster。本篇文章將會介紹如何使用 Kolla-Ansible 和其 config override 的功能部署 OpenStack 並使用外部的 Ceph。 事前準備 既然要使用外部的 Ceph Cluster,首相需要部署出一個 Ceph 集群。部署 Ceph 的方法有很多選擇,也可以參考之前介紹過的 Ceph-Ansible 進行部署。 另外我們也需要一些使用 Kolla-Ansible 的基礎跟相關知識,可以參考這篇文章:透過 Kolla-Ansible 跟 Container 部署 OpenStack Ceph 設定 RBD Pool OpenStack Nova, Cinder (Cinder Backup), Glance […]
Ansible
利用 Ceph-Ansible 部署 Ceph Cluster
Ceph 是一個 open source 的分散式儲存系統,能夠同時提供物件、區塊跟檔案系統的儲存,所以被大量使用在 OpenStack 部署中,提供 Swift,、Cinder 跟 Manlia 的 backend。本篇文章將介紹如何透過 Ceph-Ansible 去部署一個 Production Ready, High-availability 的 Ceph Cluster。 基本架構 一個基本的 Ceph Cluster 基本上包含了 3 個 元件:Ceph Monitor, Ceph OSD, Ceph Manager Daemon Ceph Monitor Ceph Monitor 是 Ceph 的核心元件,它負責維護整個集群的狀態映射,包含 monitor、manager、OSD 跟 CRUSH 的狀態,這些資料是維持 Ceph 運作的必要元件。此外,Monitor 也負責進行 daemons 跟 clients 中的認證。一個 High-availability 的 Ceph […]
在 Kolla-Ansible 使用 Custom Config
在上篇文章介紹了 Kolla 跟 Kolla-Ansible 部署 OpenStack 的方法。在設定的部分全部都是在 globals.yml 中設定,其他則交由 Kolla-Ansible 中的 template 處理。不過這樣的方式不免在部署中顯得稍失彈性,無法根據特殊環境做客製化,於是就誕生出了 config override 的方式來進行 custom config 的設定。本篇文章將會介紹如何使用 config override 來更改 Kolla-Ansible 部署 OpenStack 的設定檔。 設定方法 同樣在 globals.yml` 中我們可以找到一行設定 config overrides 檔案的資料夾。預設值是 `/etc/kolla/config ,可以更改為自己想要的資料夾。 # Location of configuration overrides #node_custom_config: "/etc/kolla/config" Kolla-Ansible 會在尋找在 /etc/kolla/config/<< 服務名稱 >>/<< 設定檔 >> 的檔案。設定檔 override 基本上可以 override 整個 OpenStack […]
透過 Kolla-Ansible 跟 Container 部署 OpenStack
OpenStack 早期在部署方面相當複雜也難以維護,但是在近期 DevOps 跟 Container 的概念熱門起來後,OpenStack Community 中也出現了透過 Container 跟 Ansible 部署 OpenStack 的方式。這種方式就是透過 Kolla 跟 Kolla-Ansible 實現。Kolla 提供可 Dockerfile 來 build OpenStack 所需要的 Docker images,Kolla-Ansible 則提供了一個部署這些 Container 所需要的 Ansible playbook。本篇文章將會介紹如何透過這個專案快速部署一個 Production Ready, High-availability 的 OpenStack 環境(目前版本為 Queens) 基本架構 一個 High-availability 的 OpenStack 環境基本上最少需要 4 個 node,3 個 controller node (ceph node) 加上至少一台的 compute node。每個 […]