openstack-helm/doc/source/install/deploy_openstack_backend.rst
Vladimir Kozhukalov 1a885ddd1f Update deployment documentation
Recently we updated our test jobs so that all of them
use the `deploy-env` Ansible role which utilizes the
Kubeadm to deploy the test Kubernetes cluster.

The role works for both multi-node and single-node
environments. Although the deployment of Kubernetes itself
is out of scope of Openstack-Helm, we recommen using this
role to deploy test and development Kubernetes clusters.
So at the moment there is no need to provide
different sets of tools single-node and multi-node test envs.
Now this is a matter of the Ansible inventory file.

Also the deployment procedure of OpenStack on top of Kubernetes
using Helm is the same for multi-node and single-node clusters
because it only relies on the Kubernetes API.

We will be improving the `deploy-env` role even futher and
we will be cleaning up the deployment scripts and the documentation
so to provide a clear experience for the Openstack-Helm users.

Change-Id: I70236c4a2b870b52d2b01f65b1ef9b9518646964
2023-10-23 19:10:30 -05:00

2.4 KiB

Deploy OpenStack backend

OpenStack is a cloud computing platform that consists of a variety of services, and many of these services rely on backend services like RabbitMQ, MariaDB, and Memcached for their proper functioning. These backend services play crucial roles in OpenStack's architecture.

RabbitMQ

RabbitMQ is a message broker that is often used in OpenStack to handle messaging between different components and services. It helps in managing communication and coordination between various parts of the OpenStack infrastructure. Services like Nova (compute), Neutron (networking), and Cinder (block storage) use RabbitMQ to exchange messages and ensure proper orchestration.

MariaDB

Database services like MariaDB are used as the backend database for several OpenStack services. These databases store critical information such as user credentials, service configurations, and data related to instances, networks, and volumes. Services like Keystone (identity), Nova, Glance (image), and Cinder rely on MariaDB for data storage.

Memcached

Memcached is a distributed memory object caching system that is often used in OpenStack to improve performance and reduce database load. OpenStack services cache frequently accessed data in Memcached, which helps in faster data retrieval and reduces the load on the database backend. Services like Keystone and Nova can benefit from Memcached for caching.

Deployment

The following scripts rabbitmq.sh, mariadb.sh, memcached.sh can be used to deploy the backend services.

cd ~/osh/openstack-helm
./tools/deployment/component/common/rabbitmq.sh
./tools/deployment/component/common/mariadb.sh
./tools/deployment/component/common/memcached.sh

Note

These scripts use Helm charts from the openstack-helm-infra repository. We assume this repo is cloned to the ~/osh directory. See this section </install/before_deployment>.