Добавление кластера
Требования
- установленные отдельно два независимых кластера ЗАКРОМА.
Настройка
Отредактировать конфиг на первом кластере и на втором
1sudo vi /opt/zakroma/zakroma-storage/cfg/config.yaml
- Добавить feature cdn
1features: 2 ... 3 cdn: 4 enabled: true
- Добавить подключение cdn
1clients: 2 grpc: 3 ... 4 cdn: 5 host: localhost 6 port: 9099
- Добавить компонент CDN: настроив параметры
1components: 2 ... 3 - type: cdn 4 grpc: 5 port: 9099 6 http: 7 port: 8099 8 clusters: 9 enabled: true 10 this: 11 name: cdn-1 12 kafka: 13 servers: 14 - <CURRENT_HOST>:9094 15 topic: cdn-1 16 dead_letter: "DeadLetterQueue-cdn-1" 17 user: 18 password: 19 others: 20 - name: cdn-2 21 kafka: 22 servers: 23 - <OTHER_HOST>:9094 24 topic: cdn-2 25 consumer_group: cdn-1 26 user: 27 password: 28 http: 29 protocol: "http" 30 host: "<OTHER_HOST>" 31 port: "8099" 32 token: "" 33 download_timeout: "10m"
Переменная | Описание | Значение по умолчанию | Required |
---|---|---|---|
clusters.this.name | Имя текущего кластера. Используется для идентификации и различения данного кластера от других в системе | - | yes |
clusters.this.kafka.topic | Название топика Kafka, используемого в текущем кластере для отправки сообщений о репликации | yes | |
clusters.this.kafka.servers | Адреса серверов Kafka для текущего кластера | yes | |
clusters.this.kafka.dead_letter | Название топика “мертвых писем” используется для хранения сообщений, которые не удалось обработать из основного топика | yes | |
clusters.this.kafka.user | Имя пользователя для аутентификации в Kafka в текущем кластере | "" | |
clusters.this.kafka.password | Пароль для аутентификации в Kafka для текущего кластера | "" | |
- | - - | ||
clusters.others.name | Имя другого кластера, с которым происходит взаимодействие | yes | |
clusters.others.kafka.servers | Адреса серверов Kafka в другом кластере | yes | |
clusters.others.kafka.topic | Название топика Kafka в другом кластере с котором происходит чтение событий репликации | yes | |
clusters.others.kafka.consumer_group | Название группы потребителей (Consumer Group) в Kafka для другого кластера | yes | |
clusters.others.kafka.user | Имя пользователя для аутентификации в Kafka в другом кластере | "" | |
clusters.others.kafka.password | Пароль для аутентификации в Kafka в другом кластере | "" | |
clusters.others.http.protocol | Протокол используемый для связи с другим кластером (HTTP или HTTPS) | yes | |
clusters.others.http.host | Хост (или домен) другого кластера, к которому происходит обращение по HTTP | yes | |
clusters.others.http.token | Токен авторизации для доступа к HTTP API другого кластера. Этот токен используется для аутентификации запросов | "" | |
clusters.others.http.download_timeout | Время ожидания в секундах при скачивании данных по HTTP из другого кластера. Если загрузка данных превышает этот тайм-аут, процесс может быть прерван. | yes |
- Перезагрузить сервис
1sudo service zakroma-storage restart
- Через несколько секунд(чтобы все компоненты успели запуститься) убедиться что сервис запущен
1sudo service zakroma-storage status
Проверка установки
- Admin UI :
- Url -
https://zakroma-admin.*FQDN*
- Username -
zakromaadmin
- Password - Какой вы указали на этапе создания пользователя
zakromaadmin
в keycloak
- Url -
Подключение к S3
- Protocol:
https
- Host:
<workspace_name>.ps.*FQDN*
- Signature version:
V4 sign
где: — <workspace_name> - имя рабочей области, где находятся бакеты, напримерtest
.
Шаги проверки
- Создать хранилище в кластере 1.
- Создать рабочую область в кластере 1 и создать политику доступа.
- Зайти в панель администратора в кластере 2 убедиться что появилась созданная рабочая область и создать политику доступа.
- Выполнить подключение через S3 клиент (например s3Browser) к кластеру 1 и создать бакет.
- Загрузить объект в кластере 1.
- Подключиться к кластеру 2 убедиться что появился объект и так же его попробовать скачать (ссылочный объект).
- ссылочный объект - это объект, который не храниться в текущем кластере, но доступен для скачивания из другого кластера.