Перейти к основному содержимому

Установка Task Manager

Цель выполнения​

Установка Task Manager является опциональной и необходима, если планируется использование централизованного каталога резервных копий.

Внимание!

При установке Task Manager необходимо также обязательно установить:

Предусловия​

Перед началом установки убедитесь, что выполнены следующие условия:

  1. Подготовлено окружение.
  2. Дистрибутив CopyWala распакован в соответствии с инструкцией, приведенной в разделе Установка, шаг Распаковка дистрибутива CopyWala.
  3. Создана и настроена служебная база данных, необходимая для работы Agent Manager, Storage Manager, Task Manager.

Последовательность действий​

  1. Установите пакет task-manager-{component_version}-{OS_version}.x86_64.rpm из директории pbr/owned/dbbr/rpms:

    sudo dnf install {component_name}-{component_version}-{OS_version}.x86_64.rpm

    Пример заполненной команды:

    sudo dnf install task-manager-1.1.0-sberlinux9.x86_64.rpm
  2. Откройте файл конфигурации task-manager.yaml:

    sudo vi /etc/pbr/task-manager.yaml
  3. Заполните конфигурационные параметры.

    Пример заполненных параметров

    # --------------------------------------
    # Настройки для взаимодействия с API Gateway
    # --------------------------------------
    api:
    address: 0.0.0.0:29020 # адрес, на котором запускается сервер Task Manager # обязательно к заполнению
    mtls: false # необходимость проверки сертификатов клиента
    tls: # опционально
    rootca:
    local_path: tls/root.crt # путь к локальному файлу
    # vault_path: <path> # путь к секрету в HashiCorp/SecMan
    # vault_key: <key> # ключ внутри json-секрета
    cert:
    local_path: tls/cert.crt # путь к локальному файлу
    # vault_path: <path> # путь к секрету в HashiCorp/SecMan
    # vault_key: <key> # ключ внутри json-секрета
    key:
    local_path: tls/cert.key # путь к локальному файлу
    # vault_path: <path> # путь к секрету в HashiCorp/SecMan
    # vault_key: <key> # ключ внутри json-секрета

    # --------------------------------------
    # Настройка подключения к БД
    # --------------------------------------
    db:
    host: hostname.local
    port: 5433
    user: {user}
    password: pass
    database: pbr_task_manager
    query_params: search_path=public # параметр позволяет настроить набор значений, специфичных для Pangolin/PostgreSQL, при подключении к базе данных
    vault_database_engine_static_role: role_name # статическая роль, которая выдает фиксированные учетные данные для доступа к базе данных
    max_open_conns: 100
    max_idle_conns: 25
    conn_max_lifetime: 5m
    tls: # опционально
    rootca:
    local_path: tls/root.crt # путь к локальному файлу
    # vault_path: <path> # путь к секрету в HashiCorp/SecMan
    # vault_key: <key> # ключ внутри json-секрета
    cert:
    local_path: tls/cert.crt # путь к локальному файлу
    # vault_path: <path> # путь к секрету в HashiCorp/SecMan
    # vault_key: <key> # ключ внутри json-секрета
    key:
    local_path: tls/cert.key # путь к локальному файлу
    # vault_path: <path> # путь к секрету в HashiCorp/SecMan
    # vault_key: <key> # ключ внутри json-секрета

    # --------------------------------------
    # Настройка подключения к Agent Manager
    # --------------------------------------
    agent_manager:
    http_address: https://<IP-Address>:29010
    tls: # опционально
    rootca:
    local_path: tls/root.crt # путь к локальному файлу
    # vault_path: <path> # путь к секрету в HashiCorp/SecMan
    # vault_key: <key> # ключ внутри json-секрета
    cert:
    local_path: tls/cert.crt # путь к локальному файлу
    # vault_path: <path> # путь к секрету в HashiCorp/SecMan
    # vault_key: <key> # ключ внутри json-секрета
    key:
    local_path: tls/cert.key # путь к локальному файлу
    # vault_path: <path> # путь к секрету в HashiCorp/SecMan
    # vault_key: <key> # ключ внутри json-секрета

    # --------------------------------------
    # Настройка для взаимодействия с OpenID
    # --------------------------------------
    open_id:
    realm_url: https://keycloak.host/realms/realm-name
    tls: # опционально
    rootca:
    local_path: tls/root.crt # путь к локальному файлу
    # vault_path: <path> # путь к секрету в HashiCorp/SecMan
    # vault_key: <key> # ключ внутри json-секрета
    cert:
    local_path: tls/cert.crt # путь к локальному файлу
    # vault_path: <path> # путь к секрету в HashiCorp/SecMan
    # vault_key: <key> # ключ внутри json-секрета
    key:
    local_path: tls/cert.key # путь к локальному файлу
    # vault_path: <path> # путь к секрету в HashiCorp/SecMan
    # vault_key: <key> # ключ внутри json-секрета

    # --------------------------------------
    # Настройка выпуска токенов доступа
    # --------------------------------------
    auth:
    agents_public_key:
    local_path: /etc/pbr/agent-manager/example-key.pem.pub # путь к локальному файлу
    # vault_path: <path> # путь к секрету в HashiCorp/SecMan
    # vault_key: <key> # ключ внутри json-секрета

    # --------------------------------------
    # Параметры подключения к HashiCorp/SecMan
    # --------------------------------------
    vault: # настройки подключения
    server: <vault-url>
    namespace: <namespace>
    path: <mount-path> # путь к точке монтирования хранилища секретов
    kv_version: v2 # версия формата хранилища ключей-значений
    approle:
    role_id: <role-id> # уникальный идентификатор роли
    secret_id: <secret-id> # секретный ключ роли. Либо указывается явно, либо прописывается wrapping_secret_id_file_path
    # auth_method: approle # метод аутентификации
    # wrapping_secret_id_file_path: /var/pbr/cw.wrapped.secret.vlt # путь к файлу для хранения wrapping token
    # wrapping_secret_id_ttl: 8h # время жизни wrapping token (например, 10m - 10 минут, 6h - 6 часов)

    # --------------------------------------
    # Конфигурация TLS
    # --------------------------------------
    tls:
    rootca:
    local_path: tls/root.crt # путь к локальному файлу
    # vault_path: <path> # путь к секрету в HashiCorp/SecMan
    # vault_key: <key> # ключ внутри json-секрета
    cert:
    local_path: tls/cert.crt # путь к локальному файлу
    # vault_path: <path> # путь к секрету в HashiCorp/SecMan
    # vault_key: <key> # ключ внутри json-секрета
    key:
    local_path: tls/cert.key # путь к локальному файлу
    # vault_path: <path> # путь к секрету в HashiCorp/SecMan
    # vault_key: <key> # ключ внутри json-секрета

    # --------------------------------------
    # Настройка ведения журналов приложения
    # --------------------------------------
    log:
    path: /var/log/pbr/task-manager.log # путь к лог-файлу
    max_size: 100 # максимальный размер лог-файла в мегабайтах. По умолчанию `100 МБ`
    max_age: 90 # максимальный возраст лог-файла в днях
    max_backups: 10 # максимальное количество резервных копий лог-файлов, которые будут храниться. Если выбрано 0, то количество файлов не ограничено
    use_local_time: true # параметр определяет, в каком формате будут записываться метки времени в имена файлов при ротации. Если выбрано true, используется локальное системное время, при false (и по умолчанию) – `UTC`.
    compress_backups: false # параметр определяет необходимость сжатия резервных копий лог-файлов. Если выбрано true, лог-файлы будут сжаты, если false, лог-файлы будут храниться без сжатия

    примечание

    С подробной информацией о настройках конфигурации логов можно ознакомиться в разделе «Системный журнал».

  4. Запустите сервис task-manager.service:

    sudo systemctl start task-manager.service

Настройка TLS-сертификатов для Task Manager​

примечание

Ниже приведены шаги настройки TLS-сертификатов для Copywala VDB. Настройка сертификатов для текущего компонента выполняется аналогичным образом.

Для обеспечения взаимодействия с Vector DB по протоколу HTTPS/mTLS выполните описанные ниже шаги:

  1. Сгенерируйте корневой сертификат (далее – Root CA).

    примечание

    Данный шаг является опциональным, выполните его, если в инфраструктуре отсутствует готовый Root CA. В противном случае следует использовать уже существующий Root CA.

    Важно помнить, что при самостоятельной генерации Root CA, его необходимо использовать для подписи сертификата сервера (Vector DB).

    Пример команды:

    openssl req -subj "/CN=RootCA" -newkey rsa:2048 -nodes \
    -keyout rootCA.key \
    -new -x509 \
    -days 365 \
    -out rootCA.crt

    В результате будут получены:

    • rootCA.key — приватный ключ Root CA;
    • rootCA.crt — самоподписанный корневой сертификат.
  2. Создайте файл openssl.cnf, указав актуальные значения, включая SAN-параметры:

    [ req ]
    default_bits = 2048
    default_md = sha256
    prompt = no
    distinguished_name = req_distinguished_name
    req_extensions = req_ext

    [ req_distinguished_name ]
    C = RU
    ST = Moscow
    L = Moscow
    O = myCompany
    OU = IT Department
    CN = example.com

    [ req_ext ]
    subjectAltName = DNS:<dns_name>, DNS:localhost, IP:<ip>, IP:127.0.0.1

    Замените <dns_name> и <ip> на фактические значения, используемые в инфраструктуре.

  3. Сгенерируйте приватный ключ и CSR (пример команды):

    openssl genpkey -algorithm RSA -out copywala-vdb.key

    openssl req -new \
    -key copywala-vdb.key \
    -out copywala-vdb.csr \
    -config openssl.cnf
  4. Подпишите CSR с использованием Root CA (существующего или сгенерированного):

    openssl x509 -req \
    -in copywala-vdb.csr \
    -CA rootCA.crt \
    -CAkey rootCA.key \
    -CAcreateserial \
    -out copywala-vdb.crt \
    -days 365 \
    -extfile openssl.cnf \
    -extensions req_ext

    В результате будет создан сертификат для Copywala VDB – copywala-vdb.crt.

  5. Для проверки корректности сертификата используйте команду:

    openssl x509 -in copywala-vdb.crt -text -noout

    В результате выполнения команды отображается:

    • Subject и Issuer;
    • срок действия;
    • расширения сертификата (включая SAN);
    • другие параметры X.509.
  6. После генерации и/или получения сертификатов настройте подключение к Vector DB. Для этого в конфигурационном файле copywala-vdb.yaml заполните секцию tls, указав пути к созданным TLS-артефактам.

Проверка результата​

Для проверки установки и работоспособности компонентов CopyWala обратитесь к разделу Чек-лист проверки корректности работы.

к сведению

После завершения установки данного модуля:

  1. При необходимости выполните установку других модулей Platform V CopyWala.
  2. Перейдите к следующему шагу — Настройка интеграции Platform V CopyWala с внешними сервисами.