S3-хранилище
В качестве S3-хранилища в текущей документации рассматривается MinIO, но возможно использование любого другого решения, например, которое уже используется в вашей инфраструктуре. На текущий момент S3-хранилище используется для хранения логов агентов и результатов выполнения задач.
Сервер управления проверяет наличие бакета из конфигурации. Если бакет отсутствует в S3, он будет автоматически создан с заданными параметрами.
Директория для хранения данных MinIO должна:
Монтироваться отдельным разделом, чтобы исключить риск переполнения корневого раздела и отказа системы.
Быть пустой на момент первого запуска сервера MinIO.
MinIO уже установлен
Если у вас уже установлен MinIO (например, при развертывании Хранилища телеметрии), то дополнительные действия не требуются.
Для работы с MinIO:
Перейдите по ссылке формата:
http://ip:9001 # IP-адрес хоста указывается в явном виде # Значения username, password аналогичны указанным в файле конфигурации /opt/storage/box_infra/files/services/secrets/minio.yaml
MinIO не установлен
Если у вас отсутствует MinIO, выполните действия по установке и настройке ниже.
Чтобы установить S3-хранилище MinIO:
Установите необходимые пакеты:
wget https://dl.min.io/server/minio/release/linux-amd64/minio cp minio /usr/local/bin/ chmod +x /usr/local/bin/minio mkdir -p /data/minio/Создайте и заполните конфигурационный файл:
/etc/default/minio.Используйте параметры:
# ROOT_USER: имя пользователя будет использоваться для аутентификации при доступе к серверу MinIO # ROOT_PASSWORD: пароль будет использоваться для аутентификации при доступе к серверу MinIO # MINIO_VOLUMES: путь к каталогу, который будет использоваться MinIO для хранения объектов и данных. # MINIO_OPTS: --console-address ip:9001 указывает, что веб-консоль MinIO будет доступна по тому же IP-адресу на порту 9001. Это позволяет администратору управлять сервером через веб-интерфейс. --address ip:9000 указывает, что сервер MinIO будет слушать на IP-адресе и порту 9000 для API MinIO. # Root user for the server. MINIO_ROOT_USER=admin # Root secret for the server. MINIO_ROOT_PASSWORD=P@ssw0rd # Volume to be used for Minio server. MINIO_VOLUMES="/data/minio/" # Use if you want to run Minio on a custom port. MINIO_OPTS="--address ip_host:9000 --console-address ip_host:9001"Создайте пользователя с необходимыми правами:
useradd -s /sbin/nologin -d /minio minio sudo chmod 755 /usr/local/bin/minio sudo chown minio:minio /usr/local/bin/minio sudo chown minio:minio /etc/default/minio sudo chown minio:minio /data/minio/Создайте системный файл службы:
/etc/systemd/system/minio.service.Примечание: это позволит управлять сервером хранилища MinIO, как и любой другой системной службой.
Используйте параметры:
[Unit] Description=Minio Documentation=https://docs.minio.io Wants=network-online.target After=network-online.target AssertFileIsExecutable=/usr/local/bin/minio [Service] WorkingDirectory=/usr/local/ #User=minio #Group=minio EnvironmentFile=-/etc/default/minio ExecStartPre=/bin/bash -c "if [ -z \"${MINIO_VOLUMES}\" ]; then echo \"Variable MINIO_VOLUMES not set in /etc/default/minio\"; exit 1; fi" ExecStart=/usr/local/bin/minio server --address ip_host:9000 $MINIO_OPTS $MINIO_VOLUMES # Let systemd restart this service always Restart=always # Specifies the maximum file descriptor number that can be opened by this process LimitNOFILE=65536 # Disable timeout logic and wait until process is stopped TimeoutStopSec=infinity SendSIGKILL=no [Install] WantedBy=multi-user.target # Built for ${project.name}-${project.version} (${project.name})Запустите службу MinIO:
systemctl daemon-reload systemctl enable minio.service systemctl start minio.service systemctl status minio.serviceПосле запуска вы можете подключиться к веб-интерфейсу MinIO по ссылке вида:
http://ip:9001 #ip, username, password аналогичны указанным в файле конфигурации /etc/default/minio
При возникновении дополнительных вопросов используйте официальную документацию MinIO (eng).