Установка Agent Manager
Цель выполнения
Установка Agent Manager является опциональной и необходима, если планируется использование централизованного каталога резервных копий.
При установке Agent Manager необходимо также обязательно установить:
Предусловия
Перед началом установки убедитесь, что выполнены следующие условия:
- Подготовлено окружение.
- Дистрибутив CopyWala распакован в соответствии с инструкцией, приведенной в разделе Установка, шаг Распаковка дистрибутива CopyWala.
Последовательность действий
Выполните установку Agent Manager одним из способов:
Установка из RPM-пакета
-
Установите пакет
agent-manager-{component_name}-{component_version}-{OS_version}.x86_64.rpmиз директорииpbr/owned/dbbr/rpms:- SberLinux, РЕД ОС, CentOS
- Astra Linux
- Альт СП
sudo dnf install {component_name}-{component_version}-{OS_version}.x86_64.rpmsudo apt install {component_name}-{component_version}-{OS_version}.x86_64.debsudo apt-get install {component_name}-{component_version}-{OS_version}.x86_64.rpmПример заполненной команды:
sudo dnf install agent-manager-1.1.0-sberlinux9.x86_64.rpm -
Откройте файл конфигурации
agent-manager.yaml:sudo vi /etc/pbr/agent-manager.yaml -
Заполните конфигурационные параметры.
Пример заполненных параметров
# --------------------------------------
# Настройки для взаимодействия с API Gateway
# --------------------------------------
api:
address: 0.0.0.0:29010 # адрес, на котором запускается сервер Agent 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-секрета
# --------------------------------------
# Настройки подключения по TCP к Agent Manager
# --------------------------------------
ws:
address: 0.0.0.0:29015
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_agent_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-секрета
# --------------------------------------
# Настройка для взаимодействия с OpenID
# --------------------------------------
open_id:
realm_url: https://keycloak.host/realms/realm-name # URL-адрес Keycloak realm
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:
public_key:
local_path: /etc/pbr/agent-manager/example-key.pem.pub # путь к локальному файлу
# vault_path: <path> # путь к секрету в HarhiCorp/SecMan
# vault_key: <key> # ключ внутри json-секрета
private_key:
local_path: /etc/pbr/agent-manager/example-key.pem # путь к локальному файлу
# vault_path: <path> # путь к секрету в HarhiCorp/SecMan
# vault_key: <key> # ключ внутри json-секрета
access_token_life_time: 15m # время жизни JWT-токена доступа
refresh_token_life_time: 72h # время жизни JWT-токена для обновления пары токенов
registration_token_life_time: 24h # время жизни JWT-токена для регистрации агентского приложения
# --------------------------------------
# Параметры подключения к 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/agent-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, лог-файлы будут храниться без сжатияпримечаниеС подробной информацией о настройках конфигурации логов можно ознакомиться в разделе «Системный журнал».
-
Запустите сервис
agent-manager.service:sudo systemctl start agent-manager.service
Автоматизированная установка с помощью Ansible
Сценарий описан в разделе Автоматизированная установка (с помощью Ansible).
Проверка результата
Для проверки установки и работоспособности Copywala обратитесь к разделу Чек-лист проверки корректности работы.