Добавление кластера

Требования


  • установленные отдельно два независимых кластера ЗАКРОМА.

Настройка


Отредактировать конфиг на первом кластере и на втором

1sudo vi /opt/zakroma/zakroma-storage/cfg/config.yaml
  1. Добавить feature cdn
1features: 2 ... 3 cdn: 4 enabled: true
  1. Добавить подключение cdn
1clients: 2 grpc: 3 ... 4 cdn: 5 host: localhost 6 port: 9099
  1. Добавить компонент 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Хост (или домен) другого кластера, к которому происходит обращение по HTTPyes
clusters.others.http.tokenТокен авторизации для доступа к HTTP API другого кластера. Этот токен используется для аутентификации запросов""
clusters.others.http.download_timeoutВремя ожидания в секундах при скачивании данных по HTTP из другого кластера. Если загрузка данных превышает этот тайм-аут, процесс может быть прерван.yes
  1. Перезагрузить сервис
1sudo service zakroma-storage restart
  1. Через несколько секунд(чтобы все компоненты успели запуститься) убедиться что сервис запущен
1sudo service zakroma-storage status

Проверка установки

  • Admin UI :
    • Url - https://zakroma-admin.*FQDN*
    • Username - zakromaadmin
    • Password - Какой вы указали на этапе создания пользователя zakromaadmin в keycloak

Подключение к S3

  • Protocol: https
  • Host: <workspace_name>.ps.*FQDN*
  • Signature version: V4 sign где: — <workspace_name> - имя рабочей области, где находятся бакеты, например test.

Шаги проверки

  1. Создать хранилище в кластере 1.
  2. Создать рабочую область в кластере 1 и создать политику доступа.
  3. Зайти в панель администратора в кластере 2 убедиться что появилась созданная рабочая область и создать политику доступа.
  4. Выполнить подключение через S3 клиент (например s3Browser) к кластеру 1 и создать бакет.
  5. Загрузить объект в кластере 1.
  6. Подключиться к кластеру 2 убедиться что появился объект и так же его попробовать скачать (ссылочный объект).
  • ссылочный объект - это объект, который не храниться в текущем кластере, но доступен для скачивания из другого кластера.