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

Установка Task Manager

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

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

Внимание!

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

Предусловия

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

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

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

Выполните установку Task Manager одним из способов:

Установка из RPM-пакета

  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> # путь к секрету в HarhiCorp/SecMan
    # vault_key: <key> # ключ внутри json-секрета
    cert:
    local_path: tls/cert.crt
    # vault_path: <path> # путь к секрету в HarhiCorp/SecMan
    # vault_key: <key> # ключ внутри json-секрета
    key:
    local_path: tls/cert.key
    # vault_path: <path> # путь к секрету в HarhiCorp/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> # путь к секрету в HarhiCorp/SecMan
    # vault_key: <key> # ключ внутри json-секрета
    cert:
    local_path: tls/cert.crt
    # vault_path: <path> # путь к секрету в HarhiCorp/SecMan
    # vault_key: <key> # ключ внутри json-секрета
    key:
    local_path: tls/cert.key
    # vault_path: <path> # путь к секрету в HarhiCorp/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> # путь к секрету в HarhiCorp/SecMan
    # vault_key: <key> # ключ внутри json-секрета
    cert:
    local_path: tls/cert.crt
    # vault_path: <path> # путь к секрету в HarhiCorp/SecMan
    # vault_key: <key> # ключ внутри json-секрета
    key:
    local_path: tls/cert.key
    # vault_path: <path> # путь к секрету в HarhiCorp/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> # путь к секрету в HarhiCorp/SecMan
    # vault_key: <key> # ключ внутри json-секрета
    cert:
    local_path: tls/cert.crt
    # vault_path: <path> # путь к секрету в HarhiCorp/SecMan
    # vault_key: <key> # ключ внутри json-секрета
    key:
    local_path: tls/cert.key
    # vault_path: <path> # путь к секрету в HarhiCorp/SecMan
    # vault_key: <key> # ключ внутри json-секрета

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

    # --------------------------------------
    # Параметры подключения к HarhiCorp/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> # путь к секрету в HarhiCorp/SecMan
    # vault_key: <key> # ключ внутри json-секрета
    cert:
    local_path: tls/cert.crt
    # vault_path: <path> # путь к секрету в HarhiCorp/SecMan
    # vault_key: <key> # ключ внутри json-секрета
    key:
    local_path: tls/cert.key
    # vault_path: <path> # путь к секрету в HarhiCorp/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 (и по умолчанию) – `UTС`.
    compress_backups: false # параметр определяет необходимость сжатия файлов. Если выбрано true, лог-файлы будут сжаты, если false, лог-файлы будут храниться без сжатия
    примечание

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

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

    sudo systemctl start task-manager.service

Автоматизированная установка с помощью Ansible

Сценарий описан в разделе Автоматизированная установка (с помощью Ansible).

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

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