OpenStack
外觀
OpenStack 是由來自全球的開發者及雲計算專家合作開放的一套被廣泛使用的公有/私有雲計算平台。該項目着重於為所有類型的雲創造一套易於實現、高可擴展性且功能豐富的解決方案。該平台由一系列互相關聯的項目組成,為雲基礎設施方案提供各種組件。
組件[編輯 | 編輯原始碼]
- 計算 (Nova) — Nova 是用於提供計算實例(即虛擬機)的 Openstack 項目。
- 網絡 (Neutron) — Neutron 是用於在其它 OpenStack 服務(例如 Nova)管理的接口設備(例如 vNIC)之間提供「網絡即服務」功能的 OpenStack 項目。它實現了 OpenStack 網絡 API。
- 鏡像服務 (Glance) — 鏡像服務 (glance) 項目提供了讓用戶上傳並發現用於讓其它服務使用的數據資產的功能。
- 塊存儲 (Cinder) — Cinder 是用於為 Nova 虛擬機、Ironic 裸金屬、容器等服務提供存儲盤的 OpenStack 服務。
- 鑒權 (Keystone) — Keystone 是通過 OpenStack 身份 API 提供 API 用戶驗證,服務發現及分佈式多租戶授權的 OpenStack 服務。
- 控制面板 (Horizon) — Horizon 是 canonical 對於 OpenStack 面板的實現,它為 Nova、Swift、Keystone 等 OpenStack 服務提供了網頁用戶界面。
部署 OpenStack[編輯 | 編輯原始碼]
鏡像[編輯 | 編輯原始碼]
可用鏡像[編輯 | 編輯原始碼]
Openstack 官方鏡像包含了大部分流行的 GNU/Linux 發行版。
Arch Linux 官方雲鏡像可以在以下連結下載:https://gitlab.archlinux.org/archlinux/arch-boxes
自己創建鏡像[編輯 | 編輯原始碼]
OpenStack 鏡像需要滿足一些要求。可以手動或是使用工具來協助準備鏡像。
若要使用工具,可以考慮將 image-bootstrap 搭配 --openstack
選項使用。
若要手動創建,下面為一系列必須步驟:
- 將一個硬盤分區為單一的 ext3/4 分區。
- 安裝基礎系統到分區中(例如使用 arch-install-scripts包 中的
pacstrap
) - 安裝引導程序(例如 GRUB 或是 extlinux)
- 安裝並配置 cloud-init
- 添加一個可以無密碼運行 sudo 的用戶
- 為
eth0
配置 DHCP- 配置 udev 將網絡接口命名為
eth*
- 配置 systemd-networkd 在
eth0
上使用 DHCP
- 配置 udev 將網絡接口命名為
- 安裝 SSH 伺服器
- 調整 initramfs 配置並重新生成 initramfs 鏡像
- Disabling the
autodetect
hook (since autodetection works differently from a chroot) - Either activating hook
growfs
from mkinitcpio-growrootfsAUR or installinggrowpart
from cloud-utils包 and have cloud-init do resizing by itself
- Disabling the
- 通過 enabling 來使服務自動啟動
- 刪除生成的密鑰(例如 SSH 伺服器及 pacman);可以配置為在系統初次啟動時自動生成密鑰
- 刪除設備ID(
/etc/machine-id
及/var/lib/dbus/machine-id
)以使系統間不會衝突