VK Dev Platform logo
Помощь
Обновлена 17 июля 2026 г. в 15:36

Распаковка архива

Предусловия

Перед распаковкой архива должны быть выполнены следующие условия:

  • Подготовлено рабочее место с установленными Helm и Docker.

  • Созданы репозитории в Nexus для загрузки артефактов из дистрибутива VK Dev Platform:

    • dev-platform с типом docker hosted;
    • raw-internal с типом raw hosted;
    • redos с типом yum hosted.
  • Развернут кластер Kubernetes для установки VK Dev Platform. К кластеру настроен доступ с рабочего места.

  • В кластере Kubernetes установлен NGINX Ingress Controller.

  • На всех узлах кластера Kubernetes и на виртуальных машинах для развертывания кластеров Gitaly и Praefect настроена синхронизация времени по протоколу NTP.

  • При установке в Managed Kubernetes кластер в VK Cloud или VK Private Cloud выполнены следующие условия:

    • В кластере отключена установка Limit Ranges на пространства имен, или настроены значения Limit Ranges, достаточные для работы компонентов VK Dev Platform в выбранном сайзинге.
    • В кластере настроены политики OPA Gatekeeper, которые не ограничивают работу компонентов продукта, или OPA Gatekeeper деинсталлирован.
  • Настроены DNS-записи для всех эндпоинтов VK Dev Platform. Допускается использование wildcard DNS-записей.

    Полный список эндпоинтов — в документе Руководство администратора VK Dev Platform в разделе Основные архитектурные решенияFQDN.

  • Подготовлены SSL-сертификаты для всех эндпоинтов VK Dev Platform.

    Рекомендуется использовать wildcard-сертификат. Также поддерживается использование доменного сертификата, у которого в поле SAN перечислены все эндпоинты VK Dev Platform, или отдельных сертификатов для каждого эндпоинта.

    Если используется приватная PKI-инфраструктура, дополнительно подготовьте цепочку CA-сертификатов, с помощью которых были подписаны конечные сертификаты.

    Все сертификаты должны быть в формате PEM.

  • При поставке VK Dev Platform в интеграции с VK Cloud или VK Private Cloud: при установке VK Private Cloud в Inventory должен быть добавлен CIDR подсети для пода кластера Kubernetes, в котором будет развертываться VK Dev Platform (подробнее — в документе Руководство по установке VK Private Cloud в разделе Подготовка параметров для инсталляции).

    Значение задается в параметре keystone_ip_limiter_admin_ip_list_additional. Пример: 10.100.0.0/16.

Распаковка архива и загрузка артефактов в Nexus

  1. Скачайте архив для установки VK Dev Platform.

  2. Проверьте целостность содержимого архива командой:

    # unzip -t [<ИМЯ_АРХИВА>]
  3. Распакуйте архив.

    Список артефактов собран в файлах:

    • src/release-<ВЕРСИЯ_РЕЛИЗА>-full.csv — список Helm-чартов и Docker-образов, включая промежуточные версии, которые нужны при обновлении.
    • src/release-<ВЕРСИЯ_РЕЛИЗА>-pkgs.csv — список RPM и бинарных пакетов.
  4. Подготовьте релизные артефакты с помощью утилиты stalker.sh.

    Эта утилита загружает в хранилище Helm-чарты, Docker-образы, RPM и другие бинарные пакеты, а затем собирает дистрибутив VK Dev Platform. Команда для запуска утилиты в общем виде:

    ./src/stalker.sh src/release-<ВЕРСИЯ_РЕЛИЗА>-<ТИП_ФАЙЛА>.csv <КОМАНДА> <ТИП_АРТЕФАКТА>

    Здесь:

    • <ТИП_ФАЙЛА> — принимает значения full или pkgs.
    • <ВЕРСИЯ_РЕЛИЗА> — версия релиза VK Dev Platform. Пример: 26.2.0.
    • <КОМАНДА> — принимает значения pull или push.
    • <ТИП_АРТЕФАКТА> — принимает значения image, helm или package.

    Чтобы собрать Docker-образы, выполните:

    ./src/stalker.sh src/release-<ВЕРСИЯ_РЕЛИЗА>-full.csv pull image

    Чтобы собрать Helm-чарты, выполните:

    ./src/stalker.sh src/release-<ВЕРСИЯ_РЕЛИЗА>-full.csv pull helm

    Чтобы собрать RPM и бинарные пакеты, выполните:

    ./src/stalker.sh src/release-<ВЕРСИЯ_РЕЛИЗА>-pkgs.csv pull package
  5. Загрузите артефакты в Nexus с помощью утилиты stalker.sh.

    Чтобы загрузить Docker-образы, выполните:

    # export STALKER_DST_REGISTRY="<ИМЯ_ХОСТА_NEXUS>" && \export STALKER_DST_USER="<ИМЯ_ПОЛЬЗОВАТЕЛЯ>" && \export STALKER_DST_PASSWORD="<ПАРОЛЬ_ПОЛЬЗОВАТЕЛЯ>" && \./src/stalker.sh src/release-<ВЕРСИЯ_РЕЛИЗА>-full.csv push image

    Чтобы загрузить Helm-чарты, выполните:

    # export STALKER_DST_REGISTRY="<ИМЯ_ХОСТА_NEXUS>" && \export STALKER_DST_USER="<ИМЯ_ПОЛЬЗОВАТЕЛЯ>" && \export STALKER_DST_PASSWORD="<ПАРОЛЬ_ПОЛЬЗОВАТЕЛЯ>" && \./src/stalker.sh src/release-<ВЕРСИЯ_РЕЛИЗА>-full.csv push helm

    Чтобы загрузить RPM и бинарные пакеты, выполните:

    # export STALKER_DST_REGISTRY="<ИМЯ_ХОСТА_NEXUS>" && \export STALKER_DST_USER="<ИМЯ_ПОЛЬЗОВАТЕЛЯ>" && \export STALKER_DST_PASSWORD="<ПАРОЛЬ_ПОЛЬЗОВАТЕЛЯ>" && \./src/stalker.sh src/release-<ВЕРСИЯ_РЕЛИЗА>-pkgs.csv push package

    Здесь:

    • <ИМЯ_ХОСТА_NEXUS> — имя хоста Nexus. Пример: nexus.example.com.
    • <ИМЯ_ПОЛЬЗОВАТЕЛЯ> — имя пользователя репозитория. Используется, если нужна аутентификация.
    • <ПАРОЛЬ_ПОЛЬЗОВАТЕЛЯ> — путь до репозитория. Используется, если нужна аутентификация.

    Дополнительные опции, которые можно использовать при выполнении команд:

    export STALKER_DST_REGISTRY_PROTO="http"  # использование HTTP вместо HTTPSexport STALKER_DST_REGISTRY_PORT="8080"   # использование нестандартного порта Nexusexport CURL_INSECURE="true"               # отключение проверки TLS-сертификатовexport CURL_RESOLVE="true"                # использование опции --resolve утилиты curlexport HELM_INSECURE="true"               # отключение проверки TLS-сертификатов для Helm export HELM_PLAIN_HTTP="true"             # использование HTTP вместо HTTPS для Helmexport STALKER_DEBUG="true"               # использование режима отладки