Доступно в редакциях: Ultimate/EE
Входит в расширения: Управляемые сервисы обработки данных
Стадия жизненного цикла модуля: Предварительная версия (preview)
У модуля есть требования для установки
Модуль managed-rabbit позволяет пользователям кластера развёртывать брокеры сообщений RabbitMQ в своих неймспейсах
без самостоятельного администрирования RabbitMQ.
Администраторы кластера задают допустимые размеры экземпляров и настройки,
а модуль развёртывает и настраивает каждый экземпляр и отслеживает его состояние.
Пользователь описывает экземпляр объектом Rabbit. Каждый объект Rabbit ссылается на RabbitClass — набор правил уровня кластера, который создаёт администратор. Модуль проверяет объект Rabbit по правилам класса, развёртывает RabbitMQ и сообщает результат в статусе объекта.
Основные возможности
- Развёртывание экземпляра RabbitMQ одним манифестом с нужным количеством CPU, объёмом памяти и диска.
- Готовый Service и Secret со сгенерированными учётными данными для подключения приложений.
- TLS для клиентских подключений с сертификатом от cert-manager или с собственным сертификатом.
- Ограничение доступных пользователям размеров экземпляров и настроек RabbitMQ правилами RabbitClass и выражениями CEL.
- Размещение подов RabbitMQ на выделенных узлах с помощью селекторов узлов, node affinity и tolerations, заданных в классе.
- Отслеживание развёртывания и применения конфигурации по conditions в статусе объекта Rabbit.
Как работает модуль
Модуль обрабатывает объект Rabbit в следующем порядке:
- Пользователь создаёт объект Rabbit в неймспейсе.
- Модуль проверяет запрошенные ресурсы и настройки по правилам RabbitClass, на который ссылается объект. Объект, не прошедший проверку, отклоняется с сообщением об ошибке.
- Модуль создаёт Secret с учётными данными, постоянный том, конфигурацию RabbitMQ и TLS-сертификат, если включён TLS.
- Модуль запускает RabbitMQ и создаёт Service для клиентских подключений.
- Модуль обновляет conditions в статусе объекта Rabbit.
Когда все conditions принимают значение
True, экземпляр готов к подключениям.
Инструкции для пользователей приведены в руководстве пользователя, для администраторов — в руководстве администратора.
Ограничения
У модуля есть следующие ограничения:
| Ограничение | Значение |
|---|---|
| Версия RabbitMQ | 4.3.5 |
| Количество серверов RabbitMQ на один объект Rabbit | 1, без кластеризации и репликации |
| Порты, доступные через Service | AMQP 5672 без TLS или AMQPS 5671 с TLS. Интерфейс управления и метрики через Service недоступны |
| Настройки RabbitMQ, доступные пользователям | maxMessageSize |