Внешние подключения
Данная инструкция описывает подключения к следующим внешним сервисам:
- RabbitMQ
 - Redis
 - PostgreSQL
 - MinIO
 - InfluxDB
 
Подключение RabbitMQ в Kubernetes
Проверьте совместимость версии БД
Перед началом работы убедитесь, что версия внешней базы данных RabbitMQ совпадает с версией, указанной в .Values.rabbitmq.image.tag.
- В файле 
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 <installation_folder>
helm -n <namespace> -f testit_unichart/values-override.yaml upgrade --install testit testit_unichart/ --wait --timeout 10m
Redis
Проверьте совместимость версии БД
Перед началом работы убедитесь, что версия внешней базы данных Redis совпадает с версией, указанной в .Values.authCache.image.tag.
- При настройке конфигурации внешней базы данных Redis убедитесь, что установлен следующий параметр:
 
appendonly yes
- В файле 
values-override.yamlустановите значения переменных среды со строкой подключения внешней базы данных Redis, используя команду: 
general:
  config:
    AUTH_CACHE_CONNECTION_STRING: "redis-external" # IP or DNS of outside Redis server
- В файле 
values-override.yamlотключите контроллер statefulSet для внутренней базы данных Redis: 
auth-cache:
  enabled: false
- Примените изменения с помощью команды:
 
cd <installation_folder>
helm -n <namespace> -f testit_unichart/values-override.yaml upgrade --install testit testit_unichart/ --wait --timeout 10m
Настройка внешнего подключения базы данных PostgreSQL
Проверьте совместимость версии БД
Перед началом работы убедитесь, что версия внешней базы данных PostgreSQL совпадает с версией, указанной в .Values.postgresql.image.tag.
- Подготовьте внешнюю базу данных PostgreSQL для каждого из сервисов (testitdb, authdb, avatarsdb, licensedb, globalsearchdb)
 
yum install postgresql-contrib
psql -U postgres
create database testitdb;
create user tester with encrypted password 'tester';
grant all privileges on database testitdb to tester;
\connect testitdb;
CREATE EXTENSION if not exists "uuid-ossp" SCHEMA public;
create database authdb;
grant all privileges on database authdb to tester;
\connect authdb;
CREATE EXTENSION if not exists "uuid-ossp" SCHEMA public;
create database avatarsdb;
grant all privileges on database avatarsdb to tester;
\connect avatarsdb;
CREATE EXTENSION if not exists "uuid-ossp" SCHEMA public;
create database backgrounddb;
grant all privileges on database backgrounddb to tester;
\connect backgrounddb;
CREATE EXTENSION if not exists "uuid-ossp" SCHEMA public;
create database licensedb;
grant all privileges on database licensedb to tester;
\connect licensedb;
CREATE EXTENSION if not exists "uuid-ossp" SCHEMA public;
create database globalsearchdb;
grant all privileges on database globalsearchdb to tester;
\connect globalsearchdb;
CREATE EXTENSION if not exists "uuid-ossp" SCHEMA public;
CREATE EXTENSION if not exists "pg_trgm" SCHEMA public;
- В файле 
values-override.yamlотключите контроллер statefulSet для внутренней базы данных Postgres: 
postgres:
  enabled: false
- В файле 
values-override.yamlзадайте хост, порт, имя пользователя, пароль и корректные имена баз данных. Все строки подключения к БД могут быть найдены поиском строкиHost=postgresпо файлуvalues.yaml# Пример для license-service license-service: config: LICENSE_DB_CONNECTION_STRING: > Host=my-external-postgres-host; Port=5432; Database=licensedb; Username=my-username; Password=my-password; Command Timeout=30; Target Session Attributes=any; - Примените изменения с помощью команды:
 
cd <installation_folder>
helm -n <namespace> -f testit_unichart/values-override.yaml upgrade --install testit testit_unichart/ --wait --timeout 10m
Подключение MinIO в Kubernetes
Проверьте совместимость версии БД
Перед началом работы убедитесь, что версия внешней базы данных MinIO совпадает с версией, указанной в .Values.minio.image.tag.
- Во внешнем сервисе MinIO создайте 2 бакета для minio и avatars.minio (например bucket1 и bucket2).
 - Создайте ключ доступа (access key) и секретный ключ (secret key) для доступа к каждому из бакетов.
 - В файле 
values-override.yamlотключите контроллер statefulSet для внутренней базы данных MinIO: 
minio:
  enabled: false
- В файле 
values-override.yamlзадайте необходимую переменную для подключения к внешней базе данных MinIO: 
avatars-api:
  config:
    AVATARS_AWS_BUCKET_NAME: "bucket2"
general:
  config:
    AWS_CONNECTION_STRING: "http://minio-external:9000" # minio-external could be either IP or DNS
    AWS_ACCESS_KEY: "YourAccessKey"
    AWS_SECRET_KEY: "YourSecretKey"
    TMS_FILE_BUCKET_NAME: "bucket1"
- Примените изменения с помощью команды:
 
cd <installation_folder>
helm -n <namespace> -f testit_unichart/values-override.yaml upgrade --install testit testit_unichart/ --wait --timeout 10m
Настройка внешнего подключения базы данных InfluxDB
Проверьте совместимость версии БД
Перед началом работы убедитесь, что версия внешней базы данных InfluxDB совпадает с версией, указанной в .Values.influxdb.image.tag.
- Если система Test IT запущена, остановите все поды с помощью команды.
 - При настройке внешнего сервера InfluxDB убедитесь, что установлены следующие параметры:
 
max-series-per-database = 0
max-values-per-tag = 0
- В файле 
values-override.yamlотключите контроллер statefulSet для внутренней базы данных InfluxDB: 
influxdb:
  enabled: false
- В файле 
values-override.yamlзадайте необходимую переменную для подключения к внешней базе данных InfluxDB: 
general:
  config:
    INFLUX_CONNECTION_STRING: "http://influxdb-external:8086" # influxdb-external could be either IP or DNSservice
- Примените изменения с помощью команды:
 
cd <installation_folder>
helm -n <namespace> -f testit_unichart/values-override.yaml upgrade --install testit testit_unichart/ --wait --timeout 10m