
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
55 lines
2.4 KiB
ReStructuredText
55 lines
2.4 KiB
ReStructuredText
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.
|
|
|
|
.. code-block:: bash
|
|
|
|
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 :doc:`section </install/before_deployment>`.
|
|
|
|
.. _rabbitmq.sh: https://opendev.org/openstack/openstack-helm/src/branch/master/tools/deployment/component/common/rabbitmq.sh
|
|
.. _mariadb.sh: https://opendev.org/openstack/openstack-helm/src/branch/master/tools/deployment/component/common/mariadb.sh
|
|
.. _memcached.sh: https://opendev.org/openstack/openstack-helm/src/branch/master/tools/deployment/component/common/memcached.sh
|
|
.. _openstack-helm-infra: https://opendev.org/openstack/openstack-helm-infra.git
|