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

Подготовка окружения

Подготовка сетевого ландшафта

Перед установкой Платформы необходимо создать сети с IP-адресами согласно паспорту проекта (таблица1).

Таблица 1 — Требования к сетевому ландшафту

Название

Доступ из корп. сети

Доступ в корп. сеть

MTU

Мин. пропускная способность

Management

Администраторам

DNS, NTP, LDAP/AD

1500

10 Гбит/с

Private API Loopbacks

Нет

Нет

1500

10 Гбит/с

Public API Transport (Portal)

Пользователям, Администраторам

Нет

1500

10 Гбит/с

Public API Loopbacks

Пользователям, Администраторам

Нет

1500

10 Гбит/с

K8s Internal Pods

Нет

Нет

1450

K8s Internal Servicess

Нет

Нет

1450

Cloud External

Пользователям, Администраторам

DNS, NTP, Public API Loopbacks, доверенные внутренние ресурсы. Опционально. Например, прокси-серверы, серверы S3, корпоративные репозитории, API-ресурсы и прочее.

1500

10 Гбит/с

Сeph External

Нет

Нет

9050

10 Гбит/с

Сeph Internal

Нет

Нет

9050

10 Гбит/с

Описание сетей

Management — сеть для внутреннего взаимодействия компонентов Платформы. Подключается на каждом хосте инфраструктуры облака. Используется для работы администраторов и управления через веб-интерфейс и SSH. Служит для подключения к вспомогательным, сетевым сервисам (DNS, NTP, AD/LDAP и прочее), а также как промежуточный узел (next hop) для BGP-анонсов. Конечным пользователям доступ к этой сети не предоставляется.

Private API Loopbacks — сеть для доступа компонентов к API. Указывается три BGP IP. Не маршрутизируется в корпоративную сеть.

Public API Transport — транспортная сеть для Public API Loopbacks. Сеть для взаимодействия проекта Платформы с пользователем. Тут находится точка входа для пользователей (UI и API), через которую он управляет своим проектом. Для организации точки входа пользователей выделяются три BGP IP через сеть Public API Loopbacks.

Public API Loopbacks — сеть для доступа пользователей к порталу самообслуживания и API. Указывается три BGP IP.

K8s Internal Pods/Services — внутренняя сеть Kubernetes. Используется для назначения сетей для подов и сервисов кластера Kubernetes.

Cloud External — сеть для внешних интерфейсов ВМ (корпоративная сеть). Используется для взаимодействия пользователей со своими ВМ и подобными развёрнутыми ресурсами в Платформе. Также используется для резервного копирования БД в хранилище S3. Для этого обеспечивает доступ до S3 из внешней сети, подключённой к маршрутизатору внутренней сети, где размещён инстанс БД. К сети необходим доступ базовым, корпоративным, сетевым ресурсам (DNS, NTP, прокси-серверы, серверы S3, репозитории и прочее).

Сeph External — сеть для доступа к данным СХД/Ceph. Высокопроизводительная сеть для взаимодействия серверов Controllers и Compute с серверами Storage — то есть через данную сеть ВМ в Compute получают доступ к виртуальным дискам на Storage. Именно из-за объёма информации данная сеть вынесена в отдельную, в ней добавлена скорость и увеличен MTU.

Сeph Internal — кластерная сеть Ceph. Используется для синхронизации распределенных данных кластера Ceph между собой. Имеет высокие требования к стабильности и времени отклика, поэтому для обеспечения большей надёжности вынесена в отдельную сеть.

Сетевая составляющая каждой роли

  • Deploy:

    • Management.
  • Controlplane:

    • Management.
    • Management (дополнительная).
    • Private API Loopbacks.
    • Public API Transport (Portal).
    • Public API Loopbacks.
    • Kubernetes Internal Pods
    • Kubernetes Internal Services
    • Cloud External.
    • Ceph External.
  • Network:

    • Management.
    • Cloud External.
  • Compute:

    • Management.
    • Cloud External.
    • Ceph External.
  • Compute High IOPS:

    • Management.
    • Cloud External.
    • Ceph External.
  • Ceph:

    • Management.
    • Ceph External.
    • Ceph Internal.
  • Route Server (RS):

    • Management.
  • Logging/Monitoring:

    • Management.

Сетевые доступы

Обеспечьте доступ из сети Management до следующих сервисов:

  • DNS.
  • AD/LDAP.
  • NTP.
  • SMTP.

Обеспечьте доступ из сети Cloud External в сеть Public API Loopbacks по следующим портам:

  • 80.
  • 443.
  • 5010

Для использования корпоративного BGP-оборудования откройте порт 179/TCP от серверов Controller до BGP-коммутаторов и обратно через сеть Management.

Подготовка оборудования

Выполните подготовку оборудования согласно требованиям, описанным в таблице 2.

Таблица 2 — Минимальные требования к оборудованию

Серверная роль

Физический сервер/ВМ

Кол-во серверов

RAM (ГБ)

CPU (кол-во/модель/частота/кол-во ядер)

Storage (кол-во/тип/размер)

Сетевые интерфейсы (кол-во/протокол/скорость)

Deploy

Физический или ВМ

1

8

1×Xeon Gold

2×480ГБ SSD + 2×1ТБ SSD

2×10Гб/с LACP

Controller node

Физический

3

128

2×Xeon Gold

2×480ГБ SSD

4×10Гб/с LACP

Network

Физический

1

32

1×Xeon Gold

2×480ГБ SSD

2×10Гб/с LACP

Compute node

Физический

1

1024

2×Xeon Gold

2×480ГБ SSD

4×10Гб/с LACP

Ceph

Физический

3

128

2×Xeon Silver

2×480ГБ SSD + 2×960ГБ SSD

4×10Гб/с LACP

Route Server (RS)

Физический или ВМ

1

8

1×Xeon Silver

2×480ГБ SSD

2×10Гб/с LACP

Monitoring-Logging

Физический или ВМ

1

128

1×Xeon Gold

2×480ГБ SSD + 2×1ТБ SSD

2×10Гб/с LACP

Compute node High IOPS

Физический

1

128

2×Xeon E5-2620v2

2×480ГБ SSD + 2×Single 960GB NVME

6×10Гб/с LACP

Установка и настройка ОС

Установите РЕД ОС 7.3c на все хосты через IPMI или PXE и настройте сетевые интерфейсы, исходя из списка раздела Сетевая составляющая каждой роли. На каждом хосте должен быть только один основной шлюз из сети Management (кроме хостов Controlplane, в которых основной шлюз из сети Public API Transport (Portal)).

Имена хостов

Имена хостов, на которых производится установка, будут использоваться в качестве DNS-имен этих хостов. Имена должны соответствовать следующим требованиям:

  • Содержат не более 63-х символов.
  • Содержат только строчные буквы, цифры, '-' и '.'.
  • Начинаются с буквы или цифры.
  • Заканчиваются буквой или цифрой.
Пример на первом узле Controlplane
$ hostnamecpn001.private.infra.devmail.ru$ nslookup cpn001Server:  127.0.0.53Address: 127.0.0.53#53Name: cpn001.private.infra.devmail.ruAddress: 10.30.3.11$ nslookup cpn001.private.infra.devmail.ruServer:  127.0.0.53Address: 127.0.0.53#53Name: cpn001.private.infra.devmail.ruAddress: 10.30.3.11

Настройка сети

Сеть настраивается средствами пакета network-scripts для ОС Linux согласно Паспорту проекта.

Рекомендации по разбивке дисков

Необходимо обеспечить отказоустойчивость диска с ОС при помощи RAID1 или LVM mirror учитывая следующие рекомендации:

  • На диске создается 1 раздел с максимально доступным объёмом, монтируется в /.
  • Swap отключен.

Отключение SELinux

Необходимо отключить SELinux на всех серверах. Для этого откройте файл конфигурации SELinux для редактирования и задайте параметру SELINUX значение disabled:

$ sudo vi /etc/selinux/config...SELINUX=disabled...

Перезапустите ОС командой sudo reboot и дождитесь загрузки ОС для продолжения установки.

Отключение firewalld

Необходимо отключить firewalld, так как он приводит к конфликтам с iptables. Для этого сначала необходимо остановить firewalld, а затем отключить:

$ sudo systemctl disable --now firewalld

Создание учётной записи

Выполните следующие действия (на примере пользователя redos):

  1. Создайте нового пользователя:

    $ sudo useradd redos -c "Ansible User" --create-home
  2. Задайте сложный пароль:

    $ sudo passwd redos
  3. Настройте возможность выполнения команд через sudo без пароля:

    $ sudo bash -c 'echo "redos ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/91-redos-user'$ sudo chmod 400 /etc/sudoers.d/91-redos-user

Произведите указанные шаги на всех нодах Платформы.

Создание учётной записи

  1. Настройте беспарольный доступ для выбранного пользователя с помощью SSH-ключа с деплой-ноды на все серверы Платформы:

    $ sudo -u redos bash$ cd ~$ mkdir ~/.ssh$ ssh-keygen -t rsa -q -N ""$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys$ vi ~/.ssh/configHost *  User redos  StrictHostKeyChecking=no  UserKnownHostsFile=/dev/null  LogLevel=error$ chmod 600 ~/.ssh/config$ ssh-copy-id cpn001$ ssh-copy-id cpn002$ ssh-copy-id ...
  2. Проверьте правильность настройки: с деплой-ноды запросите ID пользователя каждого сервера. Ожидаемый ответ от каждого сервера: uid=0(root) gid=0(root) groups=0(root):

    $ ssh network1 sudo iduid=0(root) gid=0(root) groups=0(root)$ ssh cpn001 sudo iduid=0(root) gid=0(root) groups=0(root)$ ssh cpn002 sudo iduid=0(root) gid=0(root) groups=0(root)...

Региональные настройки

Проверьте региональные настройки на деплой-ноде:

$ echo $LANGen_US.UTF-8

Если ответ отличается от en_US.UTF-8, измените их на необходимые:

$ echo $LANGru_RU.utf-8$ export LANG=en_US.utf-8
[admin]$ echo $LANGen_US.utf-8[admin]$ ssh redos@deploy001[redos@deploy001 ~]$ echo $LANGen_US.utf-8[redos@deploy001 ~]$ ls 1ls: cannot access '1': No such file or directory[redos@deploy001 ~]$ exit[admin]$ export LANG=ru_RU.utf-8[admin]$ echo $LANGru_RU.utf-8[admin]$ ssh redos@deploy001[redos@deploy001 ~]$ echo $LANGru_RU.utf-8[redos@deploy001 ~]$ ls 1ls: невозможно получить доступ к '1': No such file or directory[redos@deploy001 ~]$ exit

Рекомендации для автоматической установки ОС

Для автоматической установки ОС можете использовать следующую конфигурацию Kickstart.

Пример конфигурации для автоматической установки ОС
installurl --url=http://your_provision_server/cblr/links/redos-MUROM-7.3-20230724.0/lang en_US.UTF-8keyboard ustimezone --utc Europe/Moscoweula --agreedskipxtextrebootrootpw XXyour_root_passwordXXfirewall --disabledselinux --disabledauthconfig --enableshadow --passalgo=sha512 --enableldap --enableldapauth --enableldaptls --enablecache --kickstartnetwork --hostname=XXchangemeXX.private.infra.devmail.rubootloader --location=mbrzerombrclearpart --all --initlabelbootloader --location=mbr --driveorder=sda --append="crashkernel=auto panic=10 ixgbe.allow_unsupported_sfp=1 net.ifnames=0 selinux=0 LANG=en_US.UTF-8 processor.max_cstate=0 intel_idle.max_cstate=0 idle=poll"#Disk partitioning informationignoredisk --only-use=sdapart /boot --asprimary --fstype ext4 --size=2048part swap  --asprimary --size=8192part /     --asprimary --fstype ext4 --size=1 --grow%packages# ==== OsProfile "vkpc_redos" packages section@core-ntpchronytcpdumpnmapvim-commonvim-minimalvim-enhancedbind-utilsrsyncwgetdmidecodeNetworkManagergrub2-redos-themedhcp-clientmicrocode_ctl%end%pre# Setting system state to "INSTALLING"wget -O/dev/null --header='Content-Type: application/json' --post-data='{ "state" : "installing" }' http://<IP>/api/v1/discover/kcn002.private.infra.devmail.ru/state || truecurl -so /dev/null -X POST -H 'Content-Type: application/json' -d '{ "state" : "installing" }' http://<IP>/api/v1/discover/kcn002.private.infra.devmail.ru/state || true# Reducing RAID disk loadsysctl -w dev.raid.speed_limit_max=1000%end# ==== OsProfile "vkpc_redos" pre section%pre/sbin/wipefs -af /dev/sd*%end# ==== OsProfile "vkpc_redos" post section%postsed -i -e 's/\(^SELINUX=\).*$/\1disabled/' /etc/selinux/configuseradd -m <USERNAME>echo "<USERNAME> ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/99-<USERNAME>-usermkdir -p /home/<USERNAME>/.sshecho 'ssh-rsa AAAAB3N4n2dZ5fZZooIXo...rRXu2SAUK5t' >> /home/<USERNAME>/.ssh/authorized_keysecho 'ssh-rsa AAAAB3NzaC1yc2EAAAADA...r9DiHmRrn0=' >> /home/<USERNAME>//.ssh/authorized_keyschown -R <USERNAME>. /home/<USERNAME>chmod 600 /home/<USERNAME>/.ssh/authorized_keyssystemctl enable NetworkManagersystemctl disable systemd-fsck-root.service%end

Предстартовая проверка

Для предстартовой проверки:

  1. Проверьте состояние инсталляции:

    • На всех хостах платформы развёрнута ОС с корректно настроенным сетевым доступом:

      • Между хостами.
      • До DNS-серверов.
      • До NTP-серверов.
      • До AD/LDAP-серверов.
      • До SMTP-серверов.
    • Отсутствуют неисправности в оборудовании.

  2. Выполните все пункты из чек-листа, приведенного в таблице 3.

  3. Если какая-либо проверка не будет успешной, исправьте все возникшие ошибки перед продолжением установки Платформы. В противном случае правильная работа инсталлятора и/или Платформы не гарантируется.

Таблица 3 — Чек-лист предстартовой проверки

Требование

№ пункта Техпаспорта

Статус

Комментарий

Проверяющая сторона

Проверку выполнил

Действия для проверки

1

Беспарольный SSH-доступ от деплой-ноды до всех серверов в Management сети предоставлен и протестирован

В случае отсутствия SSH-доступа до любого из серверов Платформы установка завершится с ошибкой

Исполнитель

2

Сетевая связность в сетях Сeph External от Compute-серверов до Ceph-нод предоставлена и протестирована

Исполнитель

3

Сетевая связность между всеми серверами по сети Management предоставлена и протестирована

Исполнитель

4

Сетевая связность от всех серверов до DNS-сервера через сеть Management предоставлена и протестирована

Исполнитель

5

Сетевая связность от Compute-серверов до DNS-сервера через сеть Cloud External предоставлена и протестирована

Исполнитель

6

Сетевая связность от всех серверов до NTP-сервера через сети Management предоставлена и протестирована

Исполнитель

7

Сетевая связность от Compute-серверов до NTP-сервера через сети Cloud External предоставлена и протестирована

Исполнитель

8

Доменные имена занесены в DNS-записи и протестированы

2.5b

Исполнитель

9

SSL сертификаты, RSA ключи и, опционально, CA получены

3.1

Исполнитель

10

Скорость передачи данных между серверами протестирована и соответствует пропускной способности сети

Проверка с помощью утилиты iperf

Исполнитель

11

MTU в различных сетях настроен корректно

Проверка с помощью команды:

$ ping -M do -s <MTU> -c1 <IP>

Исполнитель

12

На дисках серверов отсутствуют ошибки

Исполнитель

13

Доступ серверов к хранилищу S3 (при наличии) предоставлен и протестирован

Исполнитель

14

В чистой установке ОС нет ошибок сервисов, или они не влияют на установку и работу Платформы

Проверка с помощью команды:

$ systemctl list-units --failed

Исполнитель