Установка Data Collection на отдельный сервер
Содержимое дистрибутива из поставки скопировать на сервер Data Collection: из папки images необходимо скопировать файлы data-collection-app.tar.gz, data-collection-db.tar.gz, promtail.tar.gz, сохраняя структуру вложенных элементов.
Если предполагается установка платформы, используя Yandex Container Registry, копировать папку images дистрибутива не требуется.
- На сервере перейти в скопированную папку с дистрибутивом.
Сделать исполняемыми скрипты load_images.sh, load_from_release_dockerhub.sh, выполнив команду:
sudo chmod +x *.sh
- Установка.
Для локальной установки:
На сервере Data-Collection перейти в скопированную папку с дистрибутивом и запустить скрипт load_images.sh с правами суперпользователя:
sudo ./load_images.sh --with-data-collection yes --with-dashboard-server no --with-viqube no
Установка с указанными параметрами означает, что на данном сервере будут установлены только компоненты Data-Collection.Для установки из 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.22sudo ./load_from_release_dockerhub.sh -t 2.22 --with-data-collection yes --with-dashboard-server no --with-viqube no
Установка версии 2.22.1sudo ./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
- Настроить сервер с Data Collection.
На сервере с основной частью платформы выполнить
docker swarm join-token worker
Если команда вернула ошибку, то выполнить команду ниже и повторить предыдущую.
docker swarm init --force-new-cluster
Из вывода сохранить строчку вида "docker swarm join --token <TOKEN> <IP>"
- На сервере Data Collection выполнить сохранённую команду из предыдущего пункта
- Добавить метку для сервера с Data Collection.
На основном сервере выполнить
docker node ls
- В выводе должны быть несколько нод. В строчке со звёздочкой указан ID "мастер" ноды, в других "воркер" ноды, на которые можно установить Data Collection.
Выполнить
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)
Создать необходимые папки на сервере 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
На основном сервере выполнить запуск платформы.
В параметры запуска run.sh необходимо выставить ключ --remote-dc yes.