OpenStack
OpenStack is a global collaboration of developers and cloud computing technologists producing the ubiquitous open source cloud computing platform for public and private clouds. The project aims to deliver solutions for all types of clouds by being simple to implement, massively scalable, and feature rich. The technology consists of a series of interrelated projects delivering various components for a cloud infrastructure solution
構成要素
Compute (Nova)
novaAUR[リンク切れ: アーカイブ: aur-mirror] は AUR に存在します
ネットワーク (Neutron)
neutron-serverAUR[リンク切れ: package not found] is available in the AUR.
Image Service (Glance)
glanceAUR[リンク切れ: アーカイブ: aur-mirror] is available in the AUR.
ブロックストレージ (Cinder)
cinder-icehouseAUR is available in the AUR.
オブジェクトストレージ (Swift)
Swift is not available in Arch, yet.
Identity (Keystone)
keystoneAUR[リンク切れ: アーカイブ: aur-mirror] is available in the AUR.
ダッシュボード (Horizon)
horizon-debAUR[リンク切れ: アーカイブ: aur-mirror] is available in the AUR.
Telemetry (Ceilometer)
Orchestration (Heat)
heat-engineAUR[リンク切れ: package not found] is available in the AUR.
Deploy OpenStack
Images
Available images
Official Openstack images are available from most popular distributions of GNU/Linux.
Images for Arch are work in progress. http://linuximages.de/openstack/arch/ has experimental images for download.
Creating images yourself
OpenStack images need to meet certain requirements. An image can be prepared manually or with help from a tool.
For a tool, image-bootstrap with the --openstack
parameter may be of help. As of 2015-06-24, resulting images are still in experimental stage.
For manual creation, the essential steps are:
- Partitioning a disk with a single ext3/4 partition.
- Installing a base system (e.g. using
pacstrap
of arch-install-scripts) to it - Installing a boot loader (e.g. GRUB or extlinux)
- Installing and configuring cloud-init
- Adding an unpriviliged user able to run sudo without a password
- Configuring
eth0
for DHCP- Configuring udev to name network interfaces
eth*
- Configuring systemd-networkd to use DHCP on
eth0
- Configuring udev to name network interfaces
- Installing SSH server
- Adjusting initramfs creation and regenerating initramfs images
- Disabling the
autodetect
hook (since autodetection works differently from a chroot) - Either activating hook
growfs
from mkinitcpio-growrootfsAUR or installinggrowpart
from cloud-utilsAUR[リンク切れ: アーカイブ: aur-mirror] and have cloud-init do resizing by itself
- Disabling the
- Making services start automatically (e.g. using
systemctl enable ...
) - Deleting generated keys (i.e. those of the SSH server and pacman); optionally generating new ones during first boot
- Delete machine IDs (
/etc/machine-id
and/var/lib/dbus/machine-id
) so that two systems are not mistaken for the same thing