VK Private Cloud logo
Помощь
Обновлена 17 июля 2026 г. в 15:55

Подготовка инсталлятора

Дистрибутив распространяется по приватной ссылке или на физическом носителе.

Дистрибутив состоит из следующих частей:

  • Архивы с:

    • Файлами, необходимыми для запуска изолированного Nexus-сервиса.
    • Ansible playbooks и ролями, необходимыми для инсталлятора.
    • Inventory-генератором под различные ОС.
  • Документация на Платформу.

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

Подготовьте необходимые архивы:

  1. Скачайте архивы, необходимые для установки Платформы, в домашнюю директорию пользователя с настроенным беспарольным SSH-доступом (например, ansible/home/ansible/).

  2. Перейдите на деплой-ноду, переименуйте или удалите репозитории по умолчанию:

    $ ls -1 /etc/yum.repos.d/ | sudo xargs -i mv /etc/yum.repos.d/{} /etc/yum.repos.d/{}.bak$ sudo yum clean all$ cd ~$ lsdocs_box-<RELEASE_NAME>.tar.gzdocs_box-<RELEASE_NAME>.tar.gz.sha1suminvgen_box-<RELEASE_NAME>.tar.gzinvgen_box-<RELEASE_NAME>.tar.gz.sha1sumnexus-box-<RELEASE_NAME>.tarnexus-box-<RELEASE_NAME>.tar.listnexus-box-<RELEASE_NAME>.tar.sha1sumrepos_mcs_distr_box-<RELEASE_NAME>.tar.gzrepos_mcs_distr_box-<RELEASE_NAME>.tar.gz.sha1sum

    Здесь <RELEASE_NAME> — название релиза.

  3. Распакуйте архивы.

    Состав архива дистрибутива:

    • nexus-box-${RELEASE_NAME}.tar — основной архив.
    • nexus-box-${RELEASE_NAME}.tar.list — список архивов и файлов основного архива nexus-box-${RELEASE_NAME}.
    • nexus-box-${RELEASE_NAME}.tar.sha1sum — чек-сумма основного архива.
    • repos_mcs_distr_box-${RELEASE_NAME}.tar.gz — плейбуки для установки и конфигурации облака, а так же ряд вспомогательных инструментов.
    • repos_mcs_distr_box-${RELEASE_NAME}.tar.gz.sha1sum — чек-сумма архива с плейбуками.
    • invgen_${RELEASE_NAME}.tar.gz — Inventory-генератор для первичной настройки inventory.
    • invgen_${RELEASE_NAME}.tar.gz.sha1sum — чек-сумма архива с Inventory-генератором.
    • docs_box-${RELEASE_NAME}.tar.gz — архив с документацией.
    • docs_box-${RELEASE_NAME}.tar.gz.sha1sum — чек-сумма архива с документацией.
  4. Проверьте чек-суммы:

    $ sha1sum docs_box-*.tar.gz;cat docs_box-*.tar.gz.sha1sum; sha1sum invgen_box-*.tar.gz; cat invgen_box-*.tar.gz.sha1sum; sha1sum nexus-box-*.tar; cat nexus-box-*.tar.sha1sum; sha1sum repos_mcs_distr_box-*.tar.gz; cat repos_mcs_distr_box-*.tar.gz.sha1sum32a6e33f9e2dbcb1895e9afd2df4ea022f6b7867  docs_box-<RELEASE_NAME>.tar.gz32a6e33f9e2dbcb1895e9afd2df4ea022f6b7867  docs_box-<RELEASE_NAME>.tar.gz2880b4c1ad685291925d9e994009633e1b60882f  invgen_box-<RELEASE_NAME>.tar.gz2880b4c1ad685291925d9e994009633e1b60882f  invgen_box-<RELEASE_NAME>.tar.gz47e0b706bc3d7ea1bdcb34d7cc6e8349e75f986a  nexus-box-<RELEASE_NAME>.tar47e0b706bc3d7ea1bdcb34d7cc6e8349e75f986a  nexus-box-<RELEASE_NAME>.tar9541f635daf347deedfa9dd8e25f500f2a4d6e1f  repos_mcs_distr_box-<RELEASE_NAME>.tar.gz9541f635daf347deedfa9dd8e25f500f2a4d6e1f  repos_mcs_distr_box-<RELEASE_NAME>.tar.gz

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

Распакуйте архив nexus-box-$RELEASE_NAME.tar:

$ RELEASE_NAME='4.0'$ tar -xf nexus-box-${RELEASE_NAME}.tar$ cd nexus-box-${RELEASE_NAME}

Чтобы удалить исходный архив, выполните команду:

$ rm -rf ~/nexus-box-${RELEASE_NAME}.tar

Состав архива:

  • docker-rpms.tar.gz — архив в rpm-пакетами сервиса Docker для оффлайн-установки.
  • nexus3_3.40.1.tar.gz — Docker-образ Nexus, сохранённый в архиве.
  • volume-nexus.tar.gz — архив с данными для Nexus.
  • run_nexus.sh — скрипт запуска Nexus.

Запуск сервиса Nexus

  1. Установите на деплой-ноду Docker-сервис:

    $ tar xvf docker-rpms.tar.gz$ sudo yum install -y ./docker-ce/*.rpm
  2. Запустите сервис Docker и проверьте его запуск. Статус должен быть active (runnung):

    $ sudo systemctl enable docker$ sudo systemctl restart docker$ sudo systemctl status docker  docker.service - Docker Application Container Engine     Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)     Active: active (running) since Wed 2023-10-18 16:52:23 MSK; 6 days agoTriggeredBy: ● docker.socket       Docs: https://docs.docker.com   Main PID: 33219 (dockerd)      Tasks: 9     Memory: 37.1M        CPU: 1min 41.510s     CGroup: /system.slice/docker.service             └─33219 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

    Чтобы удалить исходный архив Docker и его распаковку, выполните команду:

    $ rm -rf docker-ce docker-rpms.tar.gz
  3. Запустите скрипт run_nexus.sh под sudo с указанием версии и сохранением вывода в файле ~/run_nexus.out:

    $ sudo ./run_nexus.sh ${RELEASE_NAME} | tee ~/run_nexus.out

Проверка Docker, Nexus, Ansible

Проверка Docker

Чтобы проверить работоспособность Docker, выполните команду:

$ sudo docker ps
Пример ожидаемого результата
CONTAINER ID   IMAGE                    COMMAND                   CREATED       STATUS       PORTS     NAMESbf38a127b456   sonatype/nexus3:3.62.0   "sh -c ${SONATYPE_DI…}"   5 hours ago   Up 5 hours             nexus3-box-4.1.1

Проверка Nexus

Чтобы проверить репозитории Nexus:

  1. Проверьте работоспособность портов 8081, 5553 и 6663:

    $ ss -ltn | grep -E "8081|5553|6663"
  2. Проверьте, отвечает ли Nexus на запросы:

    1. Проверьте список репозиториев по порту 8081:

      $ curl -s 127.0.0.1:8081/service/rest/v1/repositories
      Пример ожидаемого результата
      [ {  "name" : "public-mcs-helm",  "format" : "helm",  "type" : "hosted",  "url" : "http://127.0.0.1:8081/repository/public-mcs-helm",  "attributes" : { }}, {  "name" : "magnum-helm",  "format" : "helm",  "type" : "hosted",  "url" : "http://127.0.0.1:8081/repository/magnum-helm",  "attributes" : { }}, {  "name" : "raw-repo",  "format" : "raw",  "type" : "hosted",  "url" : "http://127.0.0.1:8081/repository/raw-repo",  "attributes" : { }}, {  "name" : "magnum-registry",...
    2. Запросите список Docker-образов Nexus по порту 5553:

      $ curl 127.0.0.1:5553/v2/_catalog
      Пример ожидаемого результата
      {"repositories":["beats/filebeat","beats/metricbeat","corpcloud/cni","corpcloud/consul-k8s","corpcloud/coredns","corpcloud/envsubst","corpcloud/k8s-dns-node-cache","corpcloud/kube-controllers","corpcloud/node","corpcloud/pause","corpcloud/pod2daemon-flexvol","iaas/ghosts","iaas/keystone-govcloud","iaas/sdn-proxy-redos","infra/back/api-gateway/admin-govcloud",...

Проверка Ansible

Чтобы проверить работоспособность Ansible, выполните команду:

$ ansible --version
Пример ожидаемого результата
ansible 2.9.27  config file = None  configured module search path = ['/home/redos/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']  ansible python module location = /usr/lib/python3.8/site-packages/ansible  executable location = /usr/bin/ansible  python version = 3.8.2 (default, Apr 14 2023, 00:00:00) [GCC 8.3.1 20191121 (Red Hat 8.3.1-6)]

После успешного запуска сервисов Docker, Nexus и Ansible подготовьте параметры для инсталляции (подробнее — в разделе Подготовка параметров для инсталляции).