Настройка внешнего подключения RabbitMQ
Проверьте совместимость версии БД
Перед началом работы убедитесь, что версия внешней базы данных RabbitMQ совпадает с версией, указанной в .Values.rabbitmq.image.tag
.
- Если система Test IT запущена, остановите все поды с помощью команды.
- В файле
values-override.yaml
установите переменные среды в с параметрами внешней базы данных RabbitMQ:general: config: RABBITMQ_DEFAULT_USER: "testit" RABBITMQ_DEFAULT_PASS: "password" RABBITMQ_DEFAULT_VHOST: "testitrabbit" RABBITMQ_DEFAULT_HOST: "external-server" # IP or DNS of outside RabbitMQ server RABBITMQ_DEFAULT_PORT: "5672" RABBITMQ_AUTH_MODE: "plain" RABBITMQ_CLIENT_CERT_PATH: "/etc/rabbitmq/ssl/client/testit.pfx" RABBITMQ_CLIENT_CERT_PASSPHRASE: RABBITMQ_SSL_ENABLED: "false"
- В файле
values-override.yaml
отключите контроллер statefulSet для внутренней базы данных RabbitMQ:rabbitmq: enabled: false
- Примените изменения с помощью команды:
cd ~/testit helm -n <namespace> -f testit_backend/values-override.yaml upgrade testit-backend testit_backend/
Настройка SSL для внешних подключений
Важно
- Убедитесь, что конфигурация-SSL во внешних сервисах настроена на проверку только файла CA.crt.
- Если для внешних сервисов используются другие файлы CA.crt, убедитесь, что все они добавлены в связку. Для этого внесите изменения в файл:
testit_backend/templates/configmaps/ssl/ca-bundle.yaml
- Прежде чем применять изменения, описанные в данной инструкции, убедитесь, что настроены внешние подключения к соответствующим сервисам.
- Создайте SSL-сертификаты, используя доменное имя (CN) вашего сервера RabbitMQ и файл CA.crt:
- rabbitmq_key.pem
- rabbitmq_cert.pem
- rabbitmq_ca.pem
- Перенесите сертификаты в соответствующую папку на вашем сервере RabbitMQ. Например,
/etc/certs
. - Создайте конфигурационный файл
.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
- Перенесите созданный файл в в соответствующую папку на вашем сервере RabbitMQ. Например,
/etc/rabbitmq/conf.d
. - Добавьте файл CA.crt в конфигурационную карту
ca-bundle
:# testit_backend/templates/configmaps/ssl/ca-bundle.yaml {{- if .Values.sslEnabled }} --- apiVersion: v1 kind: ConfigMap metadata: name: "ca-bundle" labels: app: testit content: ssl-ca data: ca.crt: |- -----BEGIN CERTIFICATE----- contents -----END CERTIFICATE----- {{- end }}
- Активируйте SSL для RabbitMQ в файле
values-override.yaml
. Убедитесь, что включен общий флагsslEnabled
:sslEnabled: true rabbitmq: enabled: false sslEnabled: true
- При необходимости в файле
values-override.yaml
задайте значения переменных для SSL в разделеgeneral.sslConfig
.