Для улучшения работы сайта мы используем файлы cookies. Оставаясь на сайте, вы соглашаетесь с политикой обработки персональных данных.

Подготовка управляющего хоста

Все IP-адреса, доменные имена и учетные записи пользователей в командах ниже указаны в качестве примера. Для корректного выполнения команд необходимо заменить значения этих параметров на актуальные.

Команды выполняются на управляющем хосте.

1. Дополнительные компоненты

  1. Убедитесь, что установлен Python версии 3.9 или выше и venv:

    python3 --version
    Пример вывода:
    Python 3.9.1
  2. Для РЕД ОС:

    1. Если установлен пакет podman-docker, удалите его:

      sudo dnf remove podman-docker

      Если на РЕД ОС установлен пакет podman-docker, он будет конфликтовать с пакетом docker-ce.

    2. Установите пакеты docker-ce и jq с включенным автозапуском и запустите сервис Docker CE:

      sudo dnf install -y docker-ce jq && systemctl enable --now docker

      В подготовленных шаблонах виртуальных машин автозапуск сервиса Docker CE может быть уже включен.

  3. Для Astra Linux и Ubuntu установите пакеты docker.io и jq с включенным автозапуском и запустите сервис Docker:

    sudo apt install -y docker.io jq && systemctl enable --now docker

2. Загрузка образа deploy-manager и настройка окружения

Для доступа к репозиторию zVirt Metrics необходимо получить учетные данные для входа.

  1. Из репозитория zVirt Metrics скачайте архив с расширением tar — архив с дистрибутивом.

  2. (Опционально) Проверьте целостность архива с дистрибутивом.

  3. Распакуйте архив с дистрибутивом:

    tar -xvf metrics-1.1-20250924T134117.tar

    В распакованном архиве будет находиться директория analytics с файлами, необходимыми для установки.

  4. Перейдите в директорию analytics.

  5. (Опционально) Проверьте образ на доступность:

    docker images
    Пример ответа, если образ доступен:
    REPOSITORY       TAG       IMAGE ID       CREATED       SIZE
    deploy-manager   1.8.1     243f5d6cb054   2 weeks ago   1.01GB
  6. Скопируйте примеры заполненных конфигурационных файлов из каталога sample:

    cp -R inventories/sample inventories/box

    Каталог sample копируется, чтобы восстановить исходные данные или свериться с примерами заполнения при необходимости.

    Имя каталога, в который копируются примеры, произвольное: каталог box можно изменить на другой.

  7. Создайте SSH-ключ и скопируйте его на целевой хост:

    1. Создайте SSH-ключ, если он отсутствует:

      ssh-keygen
    2. Скопируйте созданный SSH-ключ на целевой хост. Пользователь для подключения может отличаться от root, указанного в команде:

      ssh-copy-id [id пользователя]

      Команда с примером id пользователя:

      ssh-copy-id astra@10.10.10.6

      Если авторизация по паролю на сервере запрещена, добавьте SSH-ключ вручную в authorized_key:

      1. Выведите содержимое публичного SSH-ключа:

        cat ~/.ssh/id_rsa.pub
      2. Подключитесь на целевой хост с помощью доступных вам вариантов: ssh, vnc, novnc и так далее.

      3. Добавьте содержимое публичного SSH-ключа из первого шага в файл authorized_keys:

        echo 'ssh-rsa AAAAB3NzaC1yc ... ' >> ~/.ssh/authorized_keys
  8. Заполните файл hosts, расположенный в каталоге inventories/box/. Описание настроек находится в комментариях этого файла.

    Вид файла hosts
    [k3s_server]
    target-metrics.sample.box ansible_host=10.10.10.1 (1)
    
    [k3s_agent]
    
    [k3s_lb]
    
    [k3s_lb_vip]
    
    [k3s:children]
    k3s_server
    k3s_agent
    k3s_lb
    
    [all:vars]
    ansible_user=root (2)
    domain_int=metrics.sample.box (3)
    domain_ext=metrics.sample.box (4)
    prefix_int=''
    prefix_ext=''
    1 Доменное имя целевого хоста и его IP-адрес
    2 ansible_user — пользователь, который подключается к серверу с ролью целевого хоста и может получить права sudo без дополнительного ввода пароля; обязательный ключ
    3 domain_int — внутренний домен и, опционально, поддомен организации; обязательный ключ
    4 domain_ext — внешний домен и, опционально, поддомен организации. Если не предполагается использование внешнего доменного имени, должно быть указано то же значение, что и в параметре domain_int; обязательный ключ
  9. Проверьте список DNS-серверов в файле /etc/resolv.conf:

    Шаг обязателен для РЕД ОС 8 и Ubuntu. Для других операционных систем — опционален

    cat /etc/resolv.conf

    При наличии параметра search строго рекомендуется удалить его из /etc/resolv.conf на время установки.

    1. Если в выводе перечислены ваши DNS-серверы, то заполнение списка в config.yml необязательно — установщик сам соберет DNS-серверов из этого файла.

    2. Если в выводе присутствует nameserver 127.0.0.53 (часто на РЕД ОС 8 и Ubuntu), то укажите DNS-серверы в config.yml, как описано ниже.

    3. В файле config.yml, расположенном в каталоге inventories/box/group_vars/k3s/, укажите список DNS-серверов, на которые были внесены A-записи.

      По умолчанию в файле config.yml указано:

      dns_servers:
        - /etc/resolv.conf
      dns serv cfg default

      Вместо /etc/resolv.conf укажите адрес своего DNS-сервера. Например: 10.248.0.1:

      dns serv cfg 1

      Если используется группа DNS-серверов, то укажите все, с сохранением отступов:

      dns serv cfg 2

Описание полей файла config.yml — в разделе Подготовка управляющего хоста.

2.1. Настройки файла config.yml

Вы можете заполнить настройки в файле config.yml вручную или через пользовательский интерфейс.

Чтобы изменить настройки вручную, в каталоге inventories/box/group_vars/k3s/ откройте файл config.yml. Раскомментируйте строки и подставьте нужные значения.

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

Чтобы заполнить поля config.yml через пользовательский интерфейс:

  1. Откройте главное меню с помощью команды:

    manage-tool.sh --ui
  2. В окне Main menu выберите строку с нужными настройками.

  3. Заполните поля с параметрами и нажмите ОК.

    При заполнении полей кавычки удалять не нужно — они необходимы для корректной работы.

Таблица 1. Описание параметров config.yml
Параметр Значение по умолчанию Описание

ntp_host

ntp_port

[ ]

123

IP-адрес и порт NTP-сервера. В config.yml можно указать несколько NTP-серверов списком:

ntp_host:
- 1.1.1.1
- 2.2.2.2
- 3.3.3.3

http_proxy

Если на целевом хосте нет доступа к репозиториям операционной системы, вы можете добавить прокси для доступа к интернету, репозиториям. Например: http://proxy01.example.com:3138

dns_servers

etc/resolv.conf

При значении параметра dns_servers по умолчанию, установщик будет брать значения nameserver из файла /etc/resolv.conf с целевого хоста

Вы можете указать один или несколько DNS-серверов на целевом хосте, на которые были внесены A-записи. Несколько DNS-серверов указываются списком, например:

- 1.1.1.1
- 2.2.2.2

3. Проверка готовности

Убедитесь, что на управляющем хосте в точке монтирования / не менее 355 ГБ доступного пространства:

df -h

Если на целевом хосте используется LVM и выделен отдельный раздел под /var, в нем должно быть выделено не менее 355 ГБ.

Настройка LVM, тонких дисков и аналогичных механизмов расширения дисков выходит за рамки данной инструкции и выполняется пользователем самостоятельно.

4. Проверка целостности дистрибутива

Для проверки целостности дистрибутива:

  1. После загрузки дистрибутива запустите утилиту md5sum с указанием имени дистрибутива:

    md5sum <имя_дистрибутива>.tar
    Пример:
    md5sum metrics-1.1-20250827T192016.tar

    После выполнения проверки будет выдано сообщение с контрольной суммой.

    Пример:
    f458058f29e5f6cbcc0618acb71a88d6  metrics-1.1-20250827T192016.tar
  2. Сравните значение из файла с расширением md5 с полученным в результате проверки значением.

    Проверка считается успешной в случае полного совпадения значений.