利用 Ceph-Ansible 部署 Ceph Cluster

Ceph logo

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 Mascot

在上篇文章介紹了 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

Kolla Mascot

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。每個 […]