Установка Data Collection на отдельный сервер

  1. Содержимое дистрибутива из поставки скопировать на сервер Data Collection: из папки images необходимо скопировать файлы data-collection-app.tar.gz, data-collection-db.tar.gz, promtail.tar.gz, сохраняя структуру вложенных элементов.

    Если предполагается установка платформы, используя Yandex Container Registry, копировать папку images дистрибутива не требуется.

  2. На сервере перейти в скопированную папку с дистрибутивом.
  3. Сделать исполняемыми скрипты load_images.sh, load_from_release_dockerhub.sh, выполнив команду:

    sudo chmod +x *.sh
  4.  Установка.
    1. Для локальной установки:

      На сервере Data-Collection перейти в скопированную папку с дистрибутивом и запустить скрипт load_images.sh с правами суперпользователя:

      sudo ./load_images.sh --with-data-collection yes --with-dashboard-server no --with-viqube no
      Установка с указанными параметрами означает, что на данном сервере будут установлены только компоненты Data-Collection.
    2. Для установки из Yandex Container Registry:

      Перед запуском скрипта необходимо авторизоваться в Yandex Container Registry, используя следующую команду:

      docker login \
               --username oauth \
               --password <token> \
               cr.yandex

      где <token> –  токен, полученный из запроса 
      https://oauth.yandex.ru/authorize?response_type=token&client_id=1a6990aa636648e9b2ef855fa7bec2fb

      На сервере Data-Collection перейти в скопированную папку с дистрибутивом и запустить скрипт load_from_release_dockerhub.sh с правами суперпользователя:

      Установка версии 2.22
      sudo ./load_from_release_dockerhub.sh -t 2.22 --with-data-collection yes --with-dashboard-server no --with-viqube no
      Установка версии 2.22.1
      sudo ./load_from_release_dockerhub.sh -t 2.22.1 --with-data-collection yes --with-dashboard-server no --with-viqube no
      Установка с указанными параметрами означает, что на данном сервере будут установлены только компоненты Data-Collection
      • -t 2.22|2.22.1

      здесь -t 2.22|2.22.1 означает, что скрипту необходимо загрузить образы релиза версии 2.22 или 2.22.1

  5. Настроить сервер с Data Collection.
    1. На сервере с основной частью платформы выполнить

      docker swarm join-token worker

      Если команда вернула ошибку, то выполнить команду ниже и повторить предыдущую.

      docker swarm init --force-new-cluster

      Из вывода сохранить строчку вида "docker swarm join --token <TOKEN> <IP>"

    2. На сервере Data Collection выполнить сохранённую команду из предыдущего пункта
  6. Добавить метку для сервера с Data Collection.
    1. На основном сервере выполнить

      docker node ls
    2. В выводе должны быть несколько нод. В строчке со звёздочкой указан ID "мастер" ноды, в других "воркер" ноды, на которые можно установить Data Collection.
    3. Выполнить

      docker node update --label-add data-collection=true <worker_node_id>

      <worker_node_id> - айдишник нужной "воркер" ноды

      Для более подробного вывода по "воркер" нодам, можно воспользоваться:

      docker inspect -f "{{.ID}} {{.Status.Addr}} {{.Spec.Labels}}" $(docker node ls -q)

  7. Создать необходимые папки на сервере Data Collection:

    sudo mkdir -p /docker-volume/data-collection && \
    sudo mkdir -p /docker-volume/data-collection/postgresql && \
    sudo mkdir -p /docker-volume/proxy/proxy.crt
  8. На основном сервере выполнить запуск платформы.

    В параметры запуска run.sh необходимо выставить ключ --remote-dc yes.