Test ITTest IT
  • Руководство системного администратора
  • Руководство пользователя
  • Загрузить Test IT Enterprise
  • GitHub
  • Руководство по работе с Личным кабинетом
  • Руководство пользователя
  • Личный кабинет Test IT Cloud
  • GitHub
  • Release notes: Test IT Enterprise
  • Release notes: Test IT Cloud
  • Новое в документации
  • Центр помощи
  • Видеокурс по Test IT
  • Часто задаваемые вопросы
  • Спросите нас в Telegram
      
    
  • Руководство системного администратора
  • Руководство пользователя
  • Загрузить Test IT Enterprise
  • GitHub
  • Руководство по работе с Личным кабинетом
  • Руководство пользователя
  • Личный кабинет Test IT Cloud
  • GitHub
  • Release notes: Test IT Enterprise
  • Release notes: Test IT Cloud
  • Новое в документации
  • Центр помощи
  • Видеокурс по Test IT
  • Часто задаваемые вопросы
  • Спросите нас в Telegram
  • Установка

    • Установка в Docker Compose
      • Описание .env-файла
    • Установка в Kubernetes
      • Значения, используемые в файле "values"
  • Настройка внешних подключений и повышение их безопасности

    • О настройке внешних подключений
    • Настройка внешних подключений в Docker Compose

      • Подключение RabbitMQ в Docker Compose
        • Настройка безопасного соединения
      • Подключение стека Elasticsearch, Logstash и Kibana (ELK) в Docker Compose
      • Подключение MinIO в Docker Compose
      • Подключение Redis в Docker Compose
      • Подключение InfluxDB в Docker Compose
      • Подключение PostgreSQL в Docker Compose
    • Настройка внешних подключений в Kubernetes

      • Подключение RabbitMQ в Kubernetes
      • Подключение MinIO в Kubernetes
      • Подключение Redis в Kubernetes
      • Подключение InfluxDB в Kubernetes
      • Подключение PostgreSQL в Kubernetes
    • Описание микросервисов Test IT
  • Настройка внешних ссылок для перехода из Test IT
  • Перезапуск системы

    • Перезапуск системы в Docker Compose
    • Перезапуск системы в Kubernetes
  • Работа с компонентами Kubernetes

    • Изменение выделенных ресурсов в Kubernetes
    • Замена рабочего узла (ноды) в Kubernetes
    • Настройка SSL для внутренних подключений в Kubernetes
    • Добавление самоподписанных сертификатов в контейнеры (Kubernetes)
    • Переход на новый кластер Kubernetes
    • Перезапуск подов и остановка компонентов Test IT в Kubernetes
    • Переопределение переменных и настроек приложений в Kubernetes
  • Обновление

    • Обновление в Docker Compose

      • Обновление Test IT в Docker Compose
      • Структура файла docker-compose.yml в версии 4.5
    • Обновление в Kubernetes

      • Обновление в Test IT в Kubernetes
      • Обновление старых версий Test IT в Kubernetes
  • Переход из Docker в Kubernetes

    • Переход из Docker в Kubernetes: Test IT 5.3 и более поздние версии
    • Переход из Docker в Kubernetes: Test IT 5.2 и более ранние версии
  • Проверка лицензии

    • Проверка лицензии в Docker Compose
    • Проверка лицензии в Kubernetes
  • Резервное копирование

    • Резервное копирование в Docker Compose
    • Резервное копирование в Kubernetes: Test IT 5.3 и более поздние версии
    • Резервное копирование в Kubernetes: Test IT 5.2 и более ранние версии
  • Логирование пользовательских действий (Docker Compose)
  • Настройка HTTPS

    • Настройка HTTPS в Docker Compose
    • Настройка HTTPS в Kubernetes
  • Добавление самоподписанных сертификатов в контейнеры (Docker Compose)
  • Удаление системы

    • Удаление Test IT в Docker Compose
    • Удаление Test IT в Kubernetes

Подключение RabbitMQ в Docker Compose

Важно

  • Версия внешнего сервиса должна совпадать с версией, указанной в файле docker-compose.yml.
  • В качестве примера в этой инструкции используется проект с именем testit. Вы можете использовать другое название.
  1. Укажите в файле .env для следующих параметров значения, установленные вами при настройке RabbitMQ (ниже указаны значения по умолчанию):

    RABBITMQ_DEFAULT_USER=testit
    RABBITMQ_DEFAULT_PASS=password
    RABBITMQ_DEFAULT_VHOST=testitrabbit
    RABBITMQ_DEFAULT_HOST=external-server (где external-server — ip-адрес или DNS-имя вашего сервера с RabbitMQ)
    RABBITMQ_DEFAULT_PORT=5672
    RABBITMQ_AUTH_MODE=plain
    RABBITMQ_CLIENT_CERT_PATH=/etc/rabbitmq/ssl/client/testit.pfx
    #RABBITMQ_CLIENT_CERT_PASSPHRASE=
    
  2. В файле docker-compose.yml закомментируйте секцию с сервисом rabbitmq, зависимости от него других контейнеров (все упоминания rabbitmq в блоках depends_on) и rabbit-volume, rabbitmq-configuration-volume, rabbitmq-certificates-volume в списке volumes.

  3. Перезапустите систему Test IT:

    docker compose -f docker-compose.yml --project-name testit up --detach --timeout 120 --remove-orphans
    

Настройка безопасного соединения

  1. Подготовьте файлы сертификатов, используя CN rabbitmq:
  • Корневой файл rabbitmq_ca.pem
  • Сертификат rabbitmq_cert.pem, подписанный с помощью корневого файла rabbitmq_ca.pem
  • Ключ сервера rabbitmq_key.pem, подписанный с помощью корневого файла rabbitmq_ca.pem Названия сертификатов и ключа могут быть любыми.
  1. Задайте разрешения файлов:
  • Для файлов сертификата и ключа для пользователя rabbitmq (100) в контейнере
  • Для файла ключа — ограниченное разрешение. Используйте команды:
chown 100 rabbitmq_key.pem rabbitmq_ca.pem rabbitmq_cert.pem
chgrp 101 rabbitmq_key.pem rabbitmq_ca.pem rabbitmq_cert.pem
chmod 600 rabbitmq_key.pem
  1. Скопируйте файлы rabbitmq_key.pem, rabbitmq_ca.pem и rabbitmq_cert.pem в вольюм с помощью команды:

    server_certs=$(docker inspect testit_rabbitmq-certificates-volume --format '{{ .Mountpoint }}')
    cp -p rabbitmq_key.pem rabbitmq_ca.pem rabbitmq_cert.pem ${server_certs}/
    
  2. Скопируйте файл сертификата CA, с помощью которого были выписаны сертификаты серверов, в вольюм trusted-certificates-volume:

    trusted_certs=$(docker inspect testit_trusted-certificates-volume --format '{{ .Mountpoint }}')
    cp rabbitmq_ca.pem ${trusted_certs}/
    
  3. Создайте файл конфигурации с расширением .conf, например 20-ssl.conf со следующим содержанием:

    listeners.ssl.default            = 5671
    ssl_options.cacertfile           = /etc/certs/rabbitmq_ca.pem
    ssl_options.certfile             = /etc/certs/rabbitmq_cert.pem
    ssl_options.keyfile              = /etc/certs/rabbitmq_key.pem
    ssl_options.verify               = verify_none
    ssl_options.fail_if_no_peer_cert = false
    
  4. Скопируйте файл в вольюм с конфигурацией rabbitmq:

    rabbitmq_conf=$(docker inspect testit_rabbitmq-configuration-volume --format '{{ .Mountpoint }}')
    cp 20-ssl.conf ${rabbitmq_conf}/conf.d
    
  5. В файле .env раскомментируйте строку:

    RABBITMQ_SSL_ENABLED=true
    
  6. Измените порт для подключения по ssl на 5671:

    RABBITMQ_DEFAULT_PORT=5671
    
  7. Чтобы изменения вступили в силу, перезапустите запущенные сервисы, а затем примените изменения в файле .env:

    docker compose -f docker-compose.yml --project-name testit restart
    docker compose -f docker-compose.yml --project-name testit up --detach --timeout 120
    
Обновлено:
Далее
Подключение стека Elasticsearch, Logstash и Kibana (ELK) в Docker Compose