VK Data Platform logo
Помощь
Обновлена 21 августа 2026 г. в 15:32

Предусловия

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

Инфраструктура

  • Развернут инсталляционный сервер на РЕД ОС версии 7.3с.

    • Конфигурация: 4 CPU, 8 ГБ RAM.
    • Свободное место: 450 гибибайт.
  • Развернут и настроен кластер Kubernetes на виртуальных машинах внутри VK Private Cloud. Для повышения отказоустойчивости кластер развернут в мультизональной конфигурации. Для развертывания кластера Kubernetes использовался дистрибутив Base Infra. Подробнее — в разделе Развертывание кластера Kubernetes из дистрибутива Base Infra.

    • Управляющий слой (control plane) состоит из трех узлов.
    • Минимальный размер одного узла кластера Kubernetes — 32 CPU, 64 ГБ ОЗУ.
    • На узлах подключены 2 диска: основной объемом не менее 250 гибибайт и дополнительный неразмеченный диск объемом не менее 200 гибибайт, используемый для создания группы томов LVM.
    • Подготовлен список IP-адресов узлов кластера Kubernetes.
  • Если работы выполняются на стендах CorpCloud, необходимо удалить суффикс novalocal в имени сервера и из файла /etc/resolv.conf.

  • Создан бакет для резервных копий управляющего узла. Бакет должен быть пустым.

Сеть

  • На приватном стенде создан балансировщик нагрузки с внешним адресом, который перенаправляет трафик на узлы кластера Kubernetes на порт 31111. Запишите внешний IP-адрес балансировщика — он потребуется при настройке переменных окружения.

  • На инсталляционном сервере настроено прямое и обратное разрешение DNS-имен (FQDN) всех узлов кластера Kubernetes.

  • Созданы DNS-записи для Nexus внутри VK Private Cloud:

    • dp-repo.<ДОМЕН> — веб-интерфейс Nexus;
    • dp-repo-cp.<ДОМЕН> — реестр Docker с образами компонентов управляющего узла;
    • dp-repo-dp.<ДОМЕН> — реестр Docker с образами компонентов слоя данных (data plane).

    Здесь <ДОМЕН> — доменное имя заказчика VK Data Platform.

    Домены должны указывать на IP-адрес деплой-ноды внутри VK Private Cloud.

  • Со всех узлов кластера Kubernetes настроено разрешение DNS-имен, созданных для Nexus, из предыдущего пункта.

  • Создана DNS-запись для модуля мультиплексора (MVM) VK Data Platform: data-multiplexer-api.<ДОМЕН>.

    Здесь <ДОМЕН> указывает на плавающий IP-адрес (VIP) HAProxy на управляющем узле.

    Дополнительные требования:

    • Если HAProxy настроен с ACL по доменному имени, DNS-запись должна использовать тот же домен, что и ACL.

    • Если HAProxy имеет несколько VIP (HA-конфигурация), DNS-запись может указывать на любой из них.

    • (Опционально) Для распределения нагрузки между VIP настройте DNS в режиме round-robin.

    • Плавающий IP-адрес HAProxy должен быть доступен из подов Kubernetes по TCP 443. Проверьте доступность с любого узла кластера:

      $ timeout 5 bash -c "echo > /dev/tcp/<VIP>/443" && echo OPEN || echo TIMEOUT

      Здесь <VIP> — плавающий IP-адрес HAProxy.

    • Домен data-multiplexer-api используется в нескольких местах при установке VK Data Platform. Для корректной работы MVM значения в этих местах должны соответствовать друг другу:

      Несоответствие любого из этих значений приведет к ошибке i/o timeout в подах data-platformer.

  • Создана DNS-запись для репозитория VK Data Platform: dp-repo.<АДРЕС_ЛК>.

    Здесь <АДРЕС_ЛК> — адрес Личного кабинета VK Data Platform.

  • Получены эндпоинты сервисов у администратора VK Private Cloud:

    • laas_public_endpoint_domain — эндпоинт LogaaS VK Private Cloud (Cloud Logging);
    • maas_public_endpoint_domain — эндпоинт MonaaS VK Private Cloud (Cloud Monitoring);
    • openstack_public_url — URL-адрес OpenStack VK Private Cloud.
  • Разрешено прохождение трафика для плавающих адресов через сетевой интерфейс сервера и на сетевом оборудовании (коммутаторе или роутере), даже если эти IP-адреса не назначены интерфейсу статически.

  • На инсталляционном сервере добавлены порты 443, 8081, 8082, 5553, 5554, 6664 в список разрешенных портов в файерволе. Доступ разрешен с узлов Kubernetes внутри VK Private Cloud. В случае работы в CorpCloud — демон firewalld на всех узлах остановлен, разрешенные в CorpCloud порты добавлены.

  • На узлах Kubernetes внутри VK Private Cloud добавлены порты 30080 и 30443 в список разрешенных портов в файерволе. В случае работы в VK Private Cloud — демон firewalld на всех узлах остановлен, разрешенные в VK Private Cloud порты добавлены.

  • Порты с IP-адресами 198.18.18.32 и 198.18.18.33 для Route Reflector свободны. Для проверки подключитесь к управляющему узлу и выполните:

    $ ssh <ЛОГИН>@<IP_ДЕПЛОЙ_НОДЫ>$ ssh <УЗЕЛ>$ sudo su# source /root/openrc.sh# openstack port list --fixed-ip ip-address=198.18.18.32# openstack port list --fixed-ip ip-address=198.18.18.33

    Здесь:

    • <ЛОГИН> — логин пользователя Linux на деплой-ноде. Пример: deployer.
    • <IP_ДЕПЛОЙ_НОДЫ> — внешний IP-адрес деплой-ноды. Пример: 100.70.18.42.
    • <УЗЕЛ> — имя управляющего узла. Пример: dc2cpn001.

    Если порты заняты (например при переустановке), удалите виртуальные машины и порты:

    1. Получите идентификаторы виртуальных машин:

      # openstack server list --project <ID_ПРОЕКТА>

      Здесь <ID_ПРОЕКТА> — идентификатор проекта OpenStack, в котором развернут кластер Kubernetes.

    2. Удалите виртуальные машины:

      # openstack server delete <ID_ВМ_1> <ID_ВМ_2>

      Здесь <ID_ВМ_1>, <ID_ВМ_2> — идентификаторы виртуальных машин Route Reflector.

    3. Получите идентификаторы портов и удалите их:

      # openstack port list --fixed-ip ip-address=198.18.18.32# openstack port list --fixed-ip ip-address=198.18.18.33# openstack port delete <ID_ПОРТА_1> <ID_ПОРТА_2>

      Здесь <ID_ПОРТА_1>, <ID_ПОРТА_2> — идентификаторы портов с адресами 198.18.18.32 и 198.18.18.33 соответственно.

Сертификаты

Убедитесь, что есть валидные TLS-сертификаты в формате PEM (RFC 7468) для домена репозитория VK Data Platform (dp-repo.<АДРЕС_ЛК>) и для Nexus.

Здесь <АДРЕС_ЛК> — адрес Личного кабинета VK Data Platform.

Программное обеспечение

  • На инсталляционном сервере установлены утилиты:

    • tar, sed, jq, tr, curl, python версии 3.8;
    • kubectl — в директории /usr/local/bin;
    • helm версии 3 — в директории /usr/bin.
  • На первом узле кластера Kubernetes установлена утилита helm версии 3.

  • На всех узлах кластера Kubernetes установлена утилита lvm2.

Артефакты

  • На инсталляционный сервер VK Private Cloud загружены артефакты дистрибутива Base Infra:

    • артефакт дистрибутива Base Infra — repos_mcs_distr_55416-baseinfra-26-1.tar.gz;
    • артефакт хранилища Nexus — nexus-55416-baseinfra-26-1.tar.

    Общий размер архивов — около 30 гибибайт.

    Получен файл calico-crds.yaml у администратора VK Private Cloud.

  • На инсталляционный сервер VK Private Cloud загружены артефакты инсталлятора VK Data Platform:

    • артефакт инсталлятора — data-platform-26.2.1.tar;
    • артефакт хранилища Nexus — volume-nexus-26.2.1.tar.gz;
    • образ виртуальной машины data-multiplexer-vm — redos.0.0.7.qcow2;
    • образ виртуальной машины data-route-reflector — redos.0.0.1.qcow2.

    Общий размер архивов — около 70 гибибайт.

  • На инсталляционный сервер, созданный внутри VK Private Cloud, загружены:

    • артефакт инсталлятора — data-platform-26.2.1.tar;
    • артефакт хранилища Nexus — volume-nexus-26.2.1.tar.gz.

    Общий размер архивов — около 70 гибибайт.

Доступ

  • Получен SSH-доступ к инсталляционному серверу.
  • С инсталляционного сервера есть доступ по SSH ко всем узлам кластера. Между серверами кластера настроен беспарольный доступ по SSH.
  • Для клиентских приложений в Kubernetes по полному доменному имени (FQDN) доступен VK Object Storage (или другое объектное хранилище с S3-совместимым API).
  • Конфигурационный файл для доступа к кластеру Kubernetes находится по пути ~/.kube/config на деплой-ноде внутри VK Private Cloud.
  • Получены данные для подключения к S3-совместимому хранилищу: публичный (Access Key) и приватный (Secret Key) ключи, эндпоинт (с указанием протокола), регион, имя бакета для Nexus.
  • Получены учетные данные для доступа к OpenStack: имя пользователя, пароль, Auth URL, идентификатор проекта, домен пользователя.
Была ли статья полезна?