[ English | Deutsch | русский | English (United Kingdom) ]
Архитектура службы¶
Введение¶
OpenStack-Ansible (OSA) имеет гибкую модель конфигурации развертывания, которая позволяет развертывать все службы в отдельных контейнерах машин или на назначенных хостах без использования контейнеров, а весь сетевой трафик — либо на одном сетевом интерфейсе, либо на нескольких сетевых интерфейсах.
OpenStack-Ansible имеет гибкую модель конфигурации развертывания, которая позволяет развертывать все службы в отдельных контейнерах машин или на назначенных хостах без использования контейнеров, а весь сетевой трафик — либо на одном сетевом интерфейсе, либо на нескольких сетевых интерфейсах.
В следующих разделах описываются службы, которые развертывает OpenStack-Ansible.
Инфраструктурные услуги¶
OpenStack-Ansible развертывает следующие компоненты инфраструктуры:
MariaDB с Galera
Все службы OpenStack требуют наличия основной базы данных. MariaDB с Galera реализует конфигурацию базы данных с несколькими мастерами, что упрощает ее использование в качестве высокодоступной базы данных с простой моделью отказоустойчивости.
RabbitMQ
Службы OpenStack используют RabbitMQ для Advanced Message Queuing Protocol (AMQP). OpenStack-Ansible развертывает RabbitMQ в кластерной конфигурации со всеми очередями, зеркально отраженными между узлами кластера. Поскольку трафик очереди сообщений Telemetry (ceilometer) довольно большой, для больших сред мы рекомендуем разделить уведомления Telemetry в отдельный кластер RabbitMQ.
Memcached
Службы OpenStack используют Memcached для кэширования в памяти, что ускоряет транзакции. Например, служба идентификации OpenStack (Keystone) использует Memcached для кэширования токенов аутентификации, что гарантирует, что проверка токена не должна завершать транзакцию на диске или в базе данных каждый раз, когда служба запрашивает проверку токена.
Репозиторий
Репозиторий содержит стандартный набор артефактов, которые используются для установки среды. Артефакты включают:
Репозиторий Git, содержащий копию исходного кода, который используется для подготовки пакетов для всех служб OpenStack
Python wheels для всех служб, развернутых в среде
Кэш-прокси apt/yum, который используется для кэширования пакетов дистрибутивов, установленных в среде
Балансировщик нагрузки
Для развертывания требуется по крайней мере один балансировщик нагрузки. OpenStack-Ansible предоставляет развертывание HAProxy, но мы рекомендуем использовать физическое устройство балансировки нагрузки для рабочих окружений.
Контейнер утилит
Если инструмент или объект не требует выделенного контейнера или если нецелесообразно создавать новый контейнер для одного инструмента или объекта, он устанавливается в контейнер утилит. Контейнер утилит также используется, когда инструменты не могут быть установлены непосредственно на хосте. Контейнер утилит подготовлен с соответствующими учетными данными и клиентами для администрирования среды OpenStack. Он настроен на автоматическое использование внутренних точек доступа сервиса.
Контейнер Unbound DNS
Контейнеры, с кэширующей службой Unbound DNS , могут быть дополнительно развернуты для кэширования DNS-поиска и обработки внутреннего разрешения имен DNS. Мы рекомендуем использовать эту службу для крупномасштабных рабочих окружений, поскольку развертывание будет значительно быстрее. Если эта служба не используется, OpenStack-Ansible изменяет записи
/etc/hosts
для всех хостов в среде.
Службы OpenStack¶
OpenStack-Ansible может развертывать множество сервисов. Посмотрите на матрицу зрелости ролей, чтобы узнать статус сервиса, который вы хотите развернуть.