Test ITTest IT
  • Руководство пользователя Test IT
  • Работа в Личном кабинете тарифов Базовый и Стандарт
  • Установка и настройка Test IT Про
  • Рецепты Test IT
  • Личный кабинет в тарифах Базовый и Стандарт
  • Загрузить Test IT Про
  • GitHub Test IT
  • Что нового в тарифах Базовый и Стандарт?
  • Что нового в Test IT Про?
  • Что нового в документации?
  • Часто задаваемые вопросы
  • Центр помощи
  • Видеокурс по Test IT
  • Спросите нас в Telegram
  • Официальный сайт Test IT
      
    
  • Руководство пользователя Test IT
  • Работа в Личном кабинете тарифов Базовый и Стандарт
  • Установка и настройка Test IT Про
  • Рецепты Test IT
  • Личный кабинет в тарифах Базовый и Стандарт
  • Загрузить Test IT Про
  • GitHub Test IT
  • Что нового в тарифах Базовый и Стандарт?
  • Что нового в Test IT Про?
  • Что нового в документации?
  • Часто задаваемые вопросы
  • Центр помощи
  • Видеокурс по Test IT
  • Спросите нас в Telegram
  • Официальный сайт Test IT
  • Руководство системного администратора
  • Установка

    • Установка в Docker Compose
      • Описание .env-файла
    • Установка в Kubernetes
      • Значения, используемые в файле "values"
  • Настройка внешних подключений и повышение их безопасности

    • О настройке внешних подключений
    • Настройка внешних подключений в Docker Compose

      • Подключение RabbitMQ в Docker Compose
      • Подключение стека Elasticsearch, Logstash и Kibana (ELK) в Docker Compose
      • Подключение MinIO в Docker Compose
      • Миграция бакетов во внешний MinIO
      • Подключение Redis в Docker Compose
      • Подключение InfluxDB в Docker Compose
      • Подключение PostgreSQL в Docker Compose
    • Настройка внешних подключений в Kubernetes

      • Подключение RabbitMQ в Kubernetes
      • Подключение MinIO в Kubernetes
      • Подключение Redis в Kubernetes
      • Подключение InfluxDB в Kubernetes
      • Подключение PostgreSQL в Kubernetes
      • Подключение хранилища Яндекс S3 в Kubernetes
    • Описание микросервисов Test IT
      • Подключение Gotenberg
  • Настройка почтового SMTP-сервера для уведомлений
  • Настройка внешних ссылок для перехода из 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

Миграция бакетов во внешний MinIO

  1. В .env-файле Test IT внесите изменения, чтобы настроить систему на использование внешнего пустого MinIO.
    • Для сервиса minio установите значения переменных:
      AWS_ACCESS_KEY: (Access key, установленный для bucket1)
      AWS_SECRET_KEY: (Secret Key, установленный для bucket1)
      AWS_CONNECTION_STRING: http://external-server:9000 (где external-server — ip-адрес или DNS-имя вашего сервера с minio)
      FILE_BUCKET_NAME: (в данном примере, bucket1)
      
    • Для сервиса avatars.minio установите следующие значения переменных:
      AVATARS_AWS_ACCESS_KEY: (Access key, установленный для bucket2)
      AVATARS_AWS_SECRET_KEY: (Secret Key, установленный для bucket2)
      AVATARS_AWS_CONNECTION_STRING: http://external-server:9000
      
    • Для сервиса avatars.minio добавьте переменную:
      AVATARS_FILE_BUCKET_NAME: (в данном примере, bucket2)
      
      Платформа Test IT будет самостоятельно создавать бакеты во внешнем сервисе.
    • Пересоздайте контейнеры Test IT:
      docker compose -f docker-compose.yml -p prod down
      docker compose -f docker-compose.yml -p prod up -d
      
  2. Убедитесь, что после пересоздания контейнера во внешнем сервисе были созданы одноименные бакеты.
  3. Войдите в контейнер MinIO:
    docker exec -it prod-minio-1 sh
    
  4. Скачайте в контейнер mc client:
    curl https://dl.min.io/client/mc/release/linux-amd64/mc \
        --create-dirs \
        -o $HOME/minio-binaries/mc
    
    chmod +x $HOME/minio-binaries/mc
    export PATH=$PATH:$HOME/minio-binaries/
    
    Чтобы проверить, что mc client установлена успешно, используйте команду:
    mc --help
    
  5. Создайте алиас (короткое имя) для внешнего сервиса:
    bash +o history
    mc alias set ALIAS HOSTNAME ACCESS_KEY SECRET_KEY
    
    Замените значения:
    • ALIAS — придумайте алиас (короткое имя)
    • HOSTNAME — адрес внешнего MinIO с http и портом
    • ACCESS_KEY SECRET_KEY — ключи, которые которые задаются при создании MinIO Пример готовой команды:
    mc alias set external_minio http://external-server:9000 Sh0c6sJ29Nkyr9zOsNwNp9UsNoFajIdPDZUUx
    
  6. Проверьте созданный алиас с помощью команды:
    mc admin info external_minio
    
    Если алиас создан успешно, отобразится ответ вида:
    ● 192.168.88.113:9000
    Uptime: 50 minutes
    Version: 2023-05-04T21:44:30Z
    Network: 1/1 OK
    Drives: 1/1 OK
    Pool: 1
    ┌──────┬───────────────────────┬─────────────────────┬──────────────┐
    │ Pool │ Drives Usage          │ Erasure stripe size │ Erasure sets │
    │ 1st  │ 53.5% (total: 45 GiB) │ 1                   │   1          │
    └──────┴───────────────────────┴─────────────────────┴──────────────┘
    0 B Used, 1 Bucket, 0 Objects
    1 drive online, 0 drives offline, EC:0
    
  7. Создайте алиас для внутреннего MinIO, заменив имя алиаса и адрес сервиса, оставив ключи без изменений:
    mc alias set old_minio http://127.0.0.1:9000 woiuFOGgUmz1V TTmDVy9mlAofbbEKqL7ppl2LS
    
  8. Выполните миграцию бакетов с помощью команды:
    mc mirror --preserve old_minio/testit external_minio/testit
    
    Значения: old_minio/testit — алиас старого сервиса и название бакета external_minio — алиас внешнего сервиса, который мы создали ранее. testit — название бакета во внешнем сервисе
    Если настройки произведены верно, отобразится процесс загрузки объектов:
    ...2-b20e-747398450527/xl.meta: 4.23 KiB / 4.23 KiB
    ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
    ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃ 204.24 KiB/s 0s
    
  9. Повторите Шаг 8 для бакета avatars.
  10. Сопоставьте количество объектов во внешнем и внутреннем сервисах:
    mc ls --recursive external_minio/testit | wc -l
    
    mc ls --recursive old_minio/testit | wc -l
    
    Количество объектов должно совпадать.
  11. Опционально/рекомендуется: Отключите внутренний S3, поскольку теперь используется внешний. Для этого в файле docker-compose.yml закомментируйте:
    • Секцию с сервисом minio
    • Зависимости других контейнеров от сервиса minio (все упоминания сервиса в блоках depends_on)
    • Вольюмы (тома) minio-exportvolume и minio-data-volume в списке volumes
Обновлено:
Назад
Подключение MinIO в Docker Compose
Далее
Подключение Redis в Docker Compose