OpenStack 部署方式总结
OpenStack 官网给出了可用的部署工具:OpenStack Deployment Tools ,接下来简要介绍几种自动化部署方式,重点关注单机部署方式,即 All-In-One 。
Software | Description |
---|---|
TRIPLEO | Deploys OpenStack using OpenStack itself |
OPENSTACK-HELM | Deploys OpenStack in containers using Helm |
KOLLA-ANSIBLE | Deploys OpenStack in containers using Ansible |
KAYOBE | Deployment of containerised OpenStack to bare metal |
OPENSTACK-ANSIBLE | Ansible playbooks to deploy OpenStack |
OPENSTACK-CHARMS | Deploys OpenStack in containers using Charms and Juju |
BIFROST | Ansible playbooks using ironic |
OPENSTACK-CHEF | Chef cookbooks to build, operate and consume OpenStack |
LOCI | Lightweight OCI containers |
PUPPET-OPENSTACK | Puppet modules to deploy OpenStack |
RPM-PACKAGING | RPM package specs to deploy OpenStack |
DevStack
DevStack 是一系列可执行脚本,用于快速构建最新版本的 OpenStack 环境。在安装过程中 DevStack 将会对系统进行修改,因此仅推荐在服务器或虚拟机中使用。DevStack 支持 Ubuntu 最新的 2 个长期支持版本,最新/当前的 Fedora 版本,CentOS/RHEL 8 和 OpenSUSE 。
在 CentOS7 上使用 DevStack 部署遇到错误尚未解决,之后改用其他 Linux 或解决了问题再写篇部署流程。
Charms
使用 MAAS 、Juju 、OpenStack Charms 在多台主机上部署 OpenStack 。MAAS 全称 Metal as a Service
裸金属即服务;Juju 是服务编排工具,工作在 Puppet 之上,不支持非 Ubuntu 环境。Ubuntu 服务器、OpenStack、用于裸机配置的 MAAS 、用于服务编排的 Juju、以及用于系统管理和监控的 Landscape 一起组成 Ubuntu 云套件。
Ansible
Ansible 是一个自动化工具,可以用于配置系统、部署软件和编排任务,例如持续部署或零停机滚动更新。使用 Ansible 进行自动化部署,支持多机部署和单机部署,最新的多机部署支持 Ubuntu 最新的 2 个长期支持版本,Debian 10 和 CentOS/RHEL 8 ,单机部署方式参见 All-In-One quickstart Guide 。
Kolla-Ansible
使用 Docker 容器和 Ansible 剧本在裸金属或虚拟机上部署 OpenStack ,将服务部署在不同的容器中。Kolla 项目包含三个仓库:
Deliverable | Repository |
---|---|
kolla | https://opendev.org/openstack/kolla |
kolla-ansible | https://opendev.org/openstack/kolla-ansible |
kayobe | https://opendev.org/openstack/kayobe |
在裸金属服务器或虚拟机上使用 Kolla-Ansible 部署 OpenStack 的具体步骤参见 User Guides - Quick Start 。
TripleO
TripleO 指的是 OpenStack on OpenStack
,即在 OpenStack 上部署 OpenStack ,目的是使用现有 OpenStack 组件的子集在裸金属硬件上部署和管理生产云。使用 TripleO 首先得创建一个面向部署云的操作员的云下(undercloud),包含部署和管理面向租户的云上(overcloud)所需的 OpenStack 组件。TripleO 可以作为一个独立的环境使用,所有的服务都安装在一个虚拟机或裸金属机器上,多机部署和单机部署的方式参见 TripleO Deployment Guide 。
RDO - Packstack
RDO 是一个在 CentOS、Fedora 和 Red Hat Enterprise Linux 上使用和部署 OpenStack 的社区, Packstack 是其提供的部署工具,使用 SSH 和 Puppet 模块进行自动化部署,主要用于概念验证。目前官方给出的文档说明支持在 RHEL 7/CentOS 7 上安装 Train 版本,以及在 RHEL 8/CentOS 8 上安装 Ussuri 版本。