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
        • Настройка SSL для внешних подключений
    • Описание микросервисов 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

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

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

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

  1. Если система Test IT запущена, остановите все поды с помощью команды.
  2. Подготовьте внешнюю базу данных PostgreSQL для каждого из сервисов (testitdb, authdb, avatarsdb, licensedb, backgrounddb, 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;
    
  3. В файле 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;
    
  4. Примените изменения с помощью команды:
    cd <installation_folder>
    helm -n <namespace> -f testit_unichart/values-override.yaml upgrade --install testit testit_unichart/ --wait --timeout 10m
    

Настройка SSL для внешних подключений

Важно

  1. Убедитесь, что конфигурация-SSL во внешних сервисах настроена на проверку только файла CA.crt.
  2. Если для внешних сервисов используются другие файлы CA.crt, убедитесь, что все они добавлены в связку. Добавьте файл ca-bundle-*.crt в директорию testit_unichart/files/ssl/:
    # Номер файла задан для примера, можно использовать и другое наименование, например ca-bundle-postgres.crt
    # Главное, чтобы нужные путь/название файла указывались в шаге 3 следующей секции
    testit_unichart/files/ssl/ca-bundle-2.crt
    
  3. Прежде чем применять изменения, описанные в данной инструкции, убедитесь, что настроены внешние подключения к соответствующим сервисам.
  1. Создайте SSL-сертификаты, используя доменное имя (CN) вашего сервера Postgres и файл CA.crt:
    • ca.crt
    • server.crt
    • server.key
  2. Перенесите сертификаты в соответствующую папку на вашем сервере Postgres. Например:
    • /var/lib/postgresql/tls/ca.crt
    • /var/lib/postgresql/tls/server.crt
    • /var/lib/postgresql/tls/server.key
  3. При запуске сервера Postgres убедитесь, что расположение сертификатов передано верно:
    postgres -c 'max_connections=300' -c 'shared_buffers=256MB' -c 'ssl=on' \
    -c 'ssl_ca_file=/var/lib/postgresql/tls/ca.crt' \
    -c 'ssl_cert_file=/var/lib/postgresql/tls/server.crt' \
    -c 'ssl_key_file=/var/lib/postgresql/tls/server.key'
    
  4. Добавьте в секцию general.configFile файла values-override.yaml или values-ssl.yaml путь до нового CA.crt:
    # testit_unichart/values-ssl.yaml или testit_unichart/values-override.yaml
    general:
      config:
        APPLICATION__SECURITY__TRUSTEDCERTIFICATELOCATION: "/app/certs"
      volumes:
        ##  Use to enable custom certificates
        ssl-ca-bundle-1:
          fromConfigMap: ssl-ca-bundle-1
          mounts:
            mountPath: /app/certs/ca-bundle-1.crt
            subPath: ca-bundle-1.crt
        # Mount new file
        ssl-ca-bundle-2:
          fromConfigMap: ssl-ca-bundle-2
          mounts:
            mountPath: /app/certs/ca-bundle-2.crt
            subPath: ca-bundle-2.crt
      configFile:
        ##  Use to enable custom certificates
      # Already have been there (hypothetically)
        ssl-ca-bundle-1:
          ca-bundle-1.crt: "files/ssl/ca-bundle-1.crt"
        # New file
        ssl-ca-bundle-2:
          ca-bundle-2.crt: "files/ssl/ca-bundle-2.crt"
    
  5. Примените изменения с помощью команды:
    cd <installation_folder>
    # В зависимости от того, какие файлы (values-override.yaml или values-ssl.yaml) используется, прокидывайте в команду соответствующий файл через флаг -f
    helm -n <namespace> -f testit_unichart/values-override.yaml -f testit_unichart/values-ssl.yaml upgrade --install testit testit_unichart/ --wait --timeout 10m
    
Обновлено:
Назад
Подключение InfluxDB в Kubernetes