Внешние подключения
Данная инструкция описывает подключения к следующим внешним сервисам:
- 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