In the previous article, we introduced two powerful deployment tools widely used by the community. This article mainly focuses on many open-source projects developed by community members, including OpenStack-Ansible, Kolla-Ansible, and OpenStack-Helm
Table of Contents
OpenStack-Ansible
OpenStack-Ansible, as its name suggests, is a tool that uses Ansible to deploy OpenStack, supporting a wide range of OpenStack components and various plugins
OpenStack-Ansible primarily uses LXC containers + Ansible playbooks to install OpenStack, with some services running inside LXC containers and others not, such as nova-compute
Calico is one of the three most commonly used network plugins today, particularly effective in certain special environments.
OpenStack-Ansible not only deploys OpenStack but also supports Ceph, which is required for OpenStack storage, while other solutions like Kolla-Ansible require separate manual deployment and configuration via config overwrite.
Kolla-Ansible
Kolla-Ansible is the deployment tool selected for this series of articles, similar to OpenStack-Ansible, it uses Ansible playbooks to deploy OpenStack.
The key difference between Kolla-Ansible and OpenStack-Ansible is that Kolla-Ansible directly deploys containers built by the Kolla project, whereas OpenStack-Ansible uses Ansible playbooks to install and configure OpenStack inside LXC containers. This is why Kolla-Ansible is significantly faster than OpenStack-Ansible—once the container images are pulled down, the setup is nearly complete, eliminating the need for repeated installations. The time spent on installing software has already been optimized during the container image build process.
This is also the main reason this series uses Kolla-Ansible: its fast deployment and simple configuration allow a full-scale OpenStack cluster to be quickly and easily set up.
OpenStack-Helm
OpenStack-Helm, literally means deploying OpenStack via Helm charts, and since it's using Helm charts, it also represents deploying OpenStack on Kubernetes, managing each OpenStack component through Kubernetes.
Although there are communities using OpenStack-Helm in production environments, in reality OpenStack-Helm has not yet released a stable version. Those who wish to use it are advised to also understand Kubernetes and OpenStack at the same time.
Running OpenStack on Kubernetes naturally allows leveraging Kubernetes' self-healing and other advantages, but the author considers this also brings higher complexity—system administrators must understand both OpenStack and Kubernetes, as well as Helm. In fact, this adds considerable difficulty.
Summary
The three deployment methods for OpenStack mentioned above are more inclined toward community contributors and developers. Users are more likely to be recommended to use Kolla-Ansible. In the next article, we will begin introducing Kolla-Ansible and how to deploy a single all-in-one and highly available OpenStack cluster using Kolla-Ansible.
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.