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
  • Redis
  • PostgreSQL
  • MinIO
  • InfluxDB

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

Проверьте совместимость версии БД

Перед началом работы убедитесь, что версия внешней базы данных RabbitMQ совпадает с версией, указанной в .Values.rabbitmq.image.tag.

  1. В файле 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"
  1. В файле values-override.yaml отключите контроллер statefulSet для внутренней базы данных RabbitMQ:
rabbitmq:
  enabled: false
  1. Примените изменения с помощью команды:
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.

  1. При настройке конфигурации внешней базы данных Redis убедитесь, что установлен следующий параметр:
appendonly yes
  1. В файле values-override.yaml установите значения переменных среды со строкой подключения внешней базы данных Redis, используя команду:
general:
  config:
    AUTH_CACHE_CONNECTION_STRING: "redis-external" # IP or DNS of outside Redis server
  1. В файле values-override.yaml отключите контроллер statefulSet для внутренней базы данных Redis:
auth-cache:
  enabled: false
  1. Примените изменения с помощью команды:
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.

  1. Подготовьте внешнюю базу данных 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;
  1. В файле values-override.yaml отключите контроллер statefulSet для внутренней базы данных Postgres:
postgres:
  enabled: false
  1. В файле 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;
    
  2. Примените изменения с помощью команды:
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.

  1. Во внешнем сервисе MinIO создайте 2 бакета для minio и avatars.minio (например bucket1 и bucket2).
  2. Создайте ключ доступа (access key) и секретный ключ (secret key) для доступа к каждому из бакетов.
  3. В файле values-override.yaml отключите контроллер statefulSet для внутренней базы данных MinIO:
minio:
  enabled: false
  1. В файле 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"
  1. Примените изменения с помощью команды:
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.

  1. Если система Test IT запущена, остановите все поды с помощью команды.
  2. При настройке внешнего сервера InfluxDB убедитесь, что установлены следующие параметры:
max-series-per-database = 0
max-values-per-tag = 0
  1. В файле values-override.yaml отключите контроллер statefulSet для внутренней базы данных InfluxDB:
influxdb:
  enabled: false
  1. В файле values-override.yaml задайте необходимую переменную для подключения к внешней базе данных InfluxDB:
general:
  config:
    INFLUX_CONNECTION_STRING: "http://influxdb-external:8086" # influxdb-external could be either IP or DNSservice
  1. Примените изменения с помощью команды:
cd <installation_folder>
helm -n <namespace> -f testit_unichart/values-override.yaml upgrade --install testit testit_unichart/ --wait --timeout 10m
Обновлено: