[ English | Deutsch | русский | English (United Kingdom) | Indonesia ]
Архитектура службы¶
Введение¶
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 может развертывать множество сервисов. Посмотрите на матрицу зрелости ролей, чтобы узнать статус сервиса, который вы хотите развернуть.
