Перейти к содержанию

Установка без доступа к интернету

Это руководство описывает процесс установки InfraVision на сервере, не имеющем доступа к интернету. Основное отличие от стандартной установки заключается в необходимости предварительной загрузки всех Docker-образов на машине с доступом к интернету и последующего переноса их на целевой сервер.

Обзор процесса

  1. Подготовка на машине с интернетом:
  2. Загрузка Docker-образов
  3. Сохранение образов в архивы
  4. Загрузка файла проекта

  5. Перенос файлов на целевой сервер

  6. Установка на целевом сервере


Шаг 1. Загрузка Docker-образов

На машине с доступом к интернету скачайте все необходимые образы. Актуальные номера веток сервисов можно посмотреть в файле .env.

Авторизация в Container Registry

docker login registry.infravision.pro

Загрузка образов InfraVision

docker pull registry.infravision.pro/docker/dev/iv-aggregator:main-602
docker pull registry.infravision.pro/docker/dev/iv-server:main-303
docker pull registry.infravision.pro/docker/dev/iv-scanner:main-230
docker pull registry.infravision.pro/docker/dev/iv-snmp:main-143
docker pull registry.infravision.pro/docker/dev/iv-cve:main-74

Загрузка образов инфраструктуры

docker pull quay.io/prometheuscommunity/postgres-exporter
docker pull danielqsj/kafka-exporter
docker pull victoriametrics/vmagent
docker pull victoriametrics/victoria-metrics
docker pull prom/node-exporter
docker pull victoriametrics/vmalert
docker pull valkey/valkey
docker pull nginx
docker pull hashicorp/vault
docker pull prom/alertmanager
docker pull postgres
docker pull provectuslabs/kafka-ui
docker pull apache/kafka
docker pull grafana/grafana

Шаг 2. Сохранение образов в архивы

Создайте директорию для хранения образов и сохраните их в tar-архивы:

mkdir -p images

# Образы InfraVision
docker save -o images/iv-aggregator-main-602.tar registry.infravision.pro/docker/dev/iv-aggregator:main-602
docker save -o images/iv-server-main-303.tar registry.infravision.pro/docker/dev/iv-server:main-303
docker save -o images/iv-scanner-main-230.tar registry.infravision.pro/docker/dev/iv-scanner:main-230
docker save -o images/iv-snmp-main-143.tar registry.infravision.pro/docker/dev/iv-snmp:main-143
docker save -o images/iv-cve-main-74.tar registry.infravision.pro/docker/dev/iv-cve:main-74

# Образы инфраструктуры
docker save -o images/postgres-exporter.tar quay.io/prometheuscommunity/postgres-exporter
docker save -o images/kafka-exporter.tar danielqsj/kafka-exporter
docker save -o images/vmagent.tar victoriametrics/vmagent
docker save -o images/victoria-metrics.tar victoriametrics/victoria-metrics
docker save -o images/node-exporter.tar prom/node-exporter
docker save -o images/vmalert.tar victoriametrics/vmalert
docker save -o images/valkey.tar valkey/valkey
docker save -o images/nginx.tar nginx
docker save -o images/vault.tar hashicorp/vault
docker save -o images/alertmanager.tar prom/alertmanager
docker save -o images/postgres.tar postgres
docker save -o images/kafka-ui.tar provectuslabs/kafka-ui
docker save -o images/kafka.tar apache/kafka
docker save -o images/grafana.tar grafana/grafana

Шаг 3. Загрузка файла проекта

Скачайте архив iv-setup-main.zip.


Шаг 4. Перенос файлов на целевой сервер

Перенесите файлы на целевой сервер любым доступным способом (USB, SCP, сетевой диск):

Перенос файла проекта

scp -r ./iv-setup-main <user>@<ip>:~/iv-setup-main

Перенос образов

Все образы:

scp -r ./images <user>@<ip>:~/images

Или отдельный образ (например, при обновлении):

scp ./images/iv-snmp-main-143.tar <user>@<ip>:~/images/iv-snmp-main-143.tar

Шаг 5. Загрузка образов на целевом сервере

На целевом сервере загрузите все образы:

cd ~/images

# Загрузка образов InfraVision
docker load -i iv-aggregator-main-602.tar
docker load -i iv-server-main-303.tar
docker load -i iv-scanner-main-230.tar
docker load -i iv-snmp-main-143.tar
docker load -i iv-cve-main-74.tar

# Загрузка образов инфраструктуры
docker load -i postgres-exporter.tar
docker load -i kafka-exporter.tar
docker load -i vmagent.tar
docker load -i victoria-metrics.tar
docker load -i node-exporter.tar
docker load -i vmalert.tar
docker load -i valkey.tar
docker load -i nginx.tar
docker load -i vault.tar
docker load -i alertmanager.tar
docker load -i postgres.tar
docker load -i kafka-ui.tar
docker load -i kafka.tar
docker load -i grafana.tar

Совет

Для загрузки всех образов одной командой:

for f in ~/images/*.tar; do docker load -i "$f"; done


Шаг 6. Установка системы

После загрузки образов выполните стандартную процедуру установки:

  1. Перейдите в директорию проекта:
cd ~/iv-setup-main
  1. Настройте переменные окружения в файле .env:
# Измените KAFKA_ADVERTISED_LISTENERS
KAFKA_ADVERTISED_LISTENERS=INTERNAL://kafka:9093,EXTERNAL://<IP_ВАШЕЙ_ВМ>:9094

# Измените KAFKA_HOST
KAFKA_HOST=<IP_ВАШЕЙ_ВМ>
  1. Запустите установку:
chmod +x install.sh
bash install.sh
  1. Введите значения для генерации паролей и сертификатов

  2. Сохраните выведенные учётные данные

  3. Запустите контейнеры:

docker compose up -d
  1. Проверьте статус:
docker ps

Подробнее см. основную инструкцию по установке.


Обновление сервиса при офлайн-установке

Шаг 1. Остановка контейнера

docker container stop <container_name>

Шаг 2. Удаление контейнера

docker container rm <container_name>

Шаг 3. Удаление старого образа

docker rmi <image_id>

Шаг 4. Загрузка нового образа

После переноса нового образа на ВМ загрузите его:

docker load -i <new_image>.tar

Шаг 5. Обновление версии и запуск

В файле .env обновите версию сервиса на новую и запустите контейнер:

docker compose up -d <container_name>

Полезные команды

Просмотр загруженных образов

docker images

Просмотр запущенных контейнеров

docker ps

Просмотр логов контейнера

docker logs -f <container_name>

Перезапуск контейнера

docker restart <container_name>