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

Переход из Docker в Kubernetes: Test IT 5.3 и более поздние версии

Внимание

  • Перед переходом необходимо обновить Test IT до последней docker-версии, соответствующей выходу сборки Kubernetes.
  • Во время перехода на Kubernetes продукт будет недоступен.
  1. Задайте необходимые значения переменных для проекта:
    # minio_vars
    export TMS_BUCKET_NAME=testit
    export AVATARS_AWS_BUCKET_NAME=avatars
    
    # docker_vars
    export COMPOSE_FILE_PATH=/absolute/path/to/testit/docker-compose.yml
    export COMPOSE_PROJECT_PREFIX=prod
    export COMPOSE_NETWORK_NAME=123123_yoonion_network_local
    
  2. Выполните резервное копирование docker-версии Test IT:
    chmod +x scripts/pre_k8s_backup.sh
    ./scripts/pre_k8s_backup.sh
    
  3. По окончании резервного копирования сохраните путь, по которому расположен архив (он отобразится в сообщении об успешном окончании резервного копирования):
    Backup successful! Archive saved at: '/path/to/testit_docker_to_k8s.tar'
    
  4. Сравните переменные из .env файла (в директории docker-версии продукта) с values.yaml:general в директории testit_unichart :
    # testit_unichart/values.yaml
     frontend:
       enabled: true
       image:
         repository: "docker.testit.ru/tms-frontend/tms-frontend"
         tag: v5.12.0 #<--env.TMS_FRONTEND_CONTAINER_VERSION
       config:
         NGINX_JSON_LOGGING: "true"
         SSL_STRONG_CIPHERS: "false"
     webapi:
       enabled: true
       image:
         repository: "docker.testit.ru/testit/testit"
         tag: v5.10.1  #<--env.TMS_CONTAINER_VERSION
       config:
         USE_PKCE: "true"
         INSECURE_REMOTES: ""
         SYNC_RESULT_LINKS_EVERY_SEC: "120"
         TEST_RESULT_LINK_REQUEST_LIFETIME_SEC: "600"
         THREAD_PER_PROCESSOR: "10"
         SMTP_ENABLE: "false"
         SMTP_FROM: ""
         SMTP_HOST: ""
         SMTP_PORT: ""
         SMTP_LOGIN: ""
         SMTP_DOMAIN: ""
         SMTP_PASSWORD: ""
         SMTP_CONNECTION: ""
         SMTP_AUTHENTICATION: ""
         SMTP_SKIP_CERTIFICATE: "false"
         SMTP_TLS_VERSION: "tls"
         SMTP_LOG_ENABLE: "false"
         PERF_MODULE_ENABLED: "false"
     avatars-api:
       enabled: true
       image:
         repository: "docker.testit.ru/avatars/avatars-api"
         tag: v5.2.8 #<--env.AVATARS_CONTAINER_VERSION
       config:
         AVATARS_AWS_BUCKET_NAME: "avatars"
     auth:
       enabled: true
       image:
         repository: "docker.testit.ru/identity/authwebapi"
         tag: v5.5.0 #<--env.AUTHWEBAPI_CONTAINER_VERSION
       config:
         ASPNETCORE_ACCESS_TOKEN_EXPIRATION_MINUTES: "120"
         ASPNETCORE_REFRESH_TOKEN_EXPIRATION_MINUTES: "88000"
     postgres:
       config:
         POSTGRES_PASSWORD: "F1rstL0g0N!"
         POSTGRES_USER: "postgres"
         POSTGRES_DB: "testitdb"
    general:
      image:
        repository: "docker.testit.ru/testit" # <--env.TMS_DOCKER_REGISTRY/testit
        tag: "v5.10.1"  #<--env.TMS_CONTAINER_VERSION
        pullPolicy: IfNotPresent  # политика скачивания docker-образов (IfNotPresent, Always, Never)
      config: 
        AUTH_CACHE_CONNECTION_STRING: "auth-cache" # должно соответствовать .authCache.name при стандартном запуске
        FRONTEND_URL: "http://localhost"
        RABBITMQ_DEFAULT_USER: "testit"
        RABBITMQ_DEFAULT_PASS: "password"
        RABBITMQ_DEFAULT_VHOST: "testitrabbit"
        RABBITMQ_DEFAULT_HOST: "rabbitmq"
        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"
        AWS_CONNECTION_STRING: "http://minio:9000" # должно соответствовать .minio.name при стандартном запуске
        AWS_ACCESS_KEY: "testitAccessKey"
        AWS_SECRET_KEY: "testitSecretKey"
        INFLUX_CONNECTION_STRING: "http://influxdb:8086" # должно соответствовать .influxdb.name при стандартном запуске
        INFLUX_AUTH_ENABLED: "false"
        INFLUX_USERNAME: "influx"
        INFLUX_PASSWORD: "influxpass"
        TMS_BUCKET_NAME: "testit"
        TESTIT_DB_CONNECTION_STRING: >
         Host=postgres; Port=5432; Database=testitdb; Username=postgres; Password=F1rstL0g0N!; Command Timeout=30; Target Session Attributes=any;
    
        BACKGROUND_DB_CONNECTION_STRING: >
         Host=postgres; Port=5432; Database=backgrounddb; Username=postgres; Password=F1rstL0g0N!; Command Timeout=30; Target Session Attributes=any;
    
        GLOBALSEARCH_DB_CONNECTION_STRING: >
         Host=postgres; Port=5432; Database=globalsearchdb; Username=postgres; Password=F1rstL0g0N!; Command Timeout=30; Target Session Attributes=any;
    
        AUTH_DB_CONNECTION_STRING: >
         Host=postgres; Port=5432; Database=authdb; Username=postgres; Password=F1rstL0g0N!; Command Timeout=30; Target Session Attributes=any;
    
        LICENSE_DB_CONNECTION_STRING: >
         Host=postgres; Port=5432; Database=licensedb; Username=postgres; Password=F1rstL0g0N!; Command Timeout=30; Target Session Attributes=any;
    
        AVATARS_DB_CONNECTION_STRING: >
         Host=postgres; Port=5432; Database=avatarsdb; Username=postgres; Password=F1rstL0g0N!; Command Timeout=30; Target Session Attributes=any;
    
  5. Опционально: При необходимости, внесите изменения в отдельном файле values-override.yaml, раскомментировав только те строки, которые хотите поменять. Например:
    # testit_unichart/values-override.yaml
    # ...
    general:
      config:
        # ...
        # SMTP_LOG_ENABLE:
        # PERF_MODULE_ENABLED:
        POSTGRES_USER: "testituser"
        POSTGRES_PASSWORD: "8wkj9l!0asdk"
        # POSTGRES_DB:
        # POSTGRES_AUTH_DB:
        # POSTGRES_AVATARS_DB:
        # POSTGRES_BACKGROUND_DB:
        # POSTGRES_LICENSE_DB:
        # ...
    # ...
    frontend:
      replicaCount: 3
    #   resources: {}
    # ...
    
  6. Установите Test IT Kubernetes.
  7. Задайте необходимые значения переменных для проекта:
    # Убедитесь, что вводите правильные значения переменных (testit_unichart/values.yaml или testit_unichart/values-override.yaml)
    # minio_vars
    export AWS_CONNECTION_STRING="http://minio:9000"
    export AWS_ACCESS_KEY="testitAccessKey"
    export AWS_SECRET_KEY="testitSecretKey"
    export TESTIT_BUCKET="testit"
    export AVATARS_BUCKET="avatars"
    
    # postgres_vars
    export POSTGRES_USER="postgres"
    export POSTGRES_PASSWORD="F1rstL0g0N!"
    export POSTGRES_HOST="postgres"
    export POSTGRES_PORT="5432"
    
  8. Восстановите данные из резервной копии, используя пространство имен, в котором создали Test IT Kubernetes и путь, который сохранили после успешного выполнения scripts/pre_k8s_backup.sh:
    # Задавать эти переменные не обязательно, скрипт может подтянуть из уже запущенных внутренних postgres и minio
    export NAMESPACE=<my-namespace>
    chmod +x scripts/move_to_k8s.sh
    ./scripts/move_to_k8s.sh $NAMESPACE /path/to/testit_docker_to_k8s.tar
    
    После успешного выполнения скрипта отобразится сообщение:
    Restore process completed successfully! Your Test IT is running on Kubernetes now!
    If you have SSL certificates (trusted-certificates-volume) or any other configurations to apply, you can reference the Test IT docs for guides.
    
Обновлено:
Далее
Переход из Docker в Kubernetes: Test IT 5.2 и более ранние версии