Deckhouse Virtualization Platform на bare metal

Ваш браузер не поддерживает генерацию Ed25519-ключей (Web Crypto API). Обновите браузер или сгенерируйте пару ключей вручную командой ssh-keygen -t ed25519 и подставьте её вместо <CAPS_SSH_PUBLIC_KEY> и <CAPS_SSH_PRIVATE_KEY>.

Подготовьте узлы кластера: настройте NFS-сервер и worker-узел до установки платформы.

Настройка NFS-сервера

Для настройки NFS выполните следующие действия:

  1. Настройте NFS-сервер для хранения дисков ВМ. Выполните следующие команды на NFS-сервере:

    • ОС на базе Ubuntu
    • Для CentOS, Rocky Linux, ALT Linux, РОСА Сервер, РЕД ОС, МОС ОС
    sudo apt update
    sudo apt install nfs-kernel-server
    sudo mkdir -p <NFS_SHARE>
    sudo chown -R nobody:nogroup <NFS_SHARE>
    echo "<NFS_SHARE> <INTERNAL_NETWORK_CIDRS>(rw,sync,no_subtree_check,no_root_squash)" | sudo tee -a /etc/exports
    sudo exportfs -ra
    sudo systemctl restart nfs-kernel-server
    
    sudo dnf install -y nfs-utils
    sudo mkdir -p <NFS_SHARE>
    sudo chown -R nobody:nobody <NFS_SHARE>
    echo "<NFS_SHARE> <INTERNAL_NETWORK_CIDRS>(rw,sync,no_subtree_check,no_root_squash)" | sudo tee -a /etc/exports
    sudo exportfs -ra
    sudo systemctl enable --now nfs-server
    sudo systemctl restart nfs-server
    
  2. Проверьте доступ к NFS с master-узла. Выполните следующие команды на master-узле:

    • ОС на базе Ubuntu
    • Для CentOS, Rocky Linux, ALT Linux, РОСА Сервер, РЕД ОС, МОС ОС
    sudo apt update
    sudo apt install nfs-common
    sudo mkdir -p /mnt/dvp-nfs-test
    sudo mount -t nfs4 <NFS_HOST>:<NFS_SHARE> /mnt/dvp-nfs-test
    sudo touch /mnt/dvp-nfs-test/probe && echo "OK: монтирование и запись работают"
    sudo rm -f /mnt/dvp-nfs-test/probe
    sudo umount /mnt/dvp-nfs-test
    sudo rmdir /mnt/dvp-nfs-test
    
    sudo dnf install -y nfs-utils
    sudo mkdir -p /mnt/dvp-nfs-test
    sudo mount -t nfs4 <NFS_HOST>:<NFS_SHARE> /mnt/dvp-nfs-test
    sudo touch /mnt/dvp-nfs-test/probe && echo "OK: монтирование и запись работают"
    sudo rm -f /mnt/dvp-nfs-test/probe
    sudo umount /mnt/dvp-nfs-test
    sudo rmdir /mnt/dvp-nfs-test
    

    Строка OK: монтирование и запись работают означает, что узел смонтировал каталог и записал в него от имени root, то есть работает и сеть, и опция no_root_squash. Если строки нет, ориентируйтесь на сообщение об ошибке:

    • mount.nfs4: Connection timed out — NFS-сервер недоступен по сети. Проверьте firewall и что его IP не совпадает с IP master- и worker-узлов.
    • mount.nfs4: access denied by server — узел не попадает в подсеть, указанную в /etc/exports на NFS-сервере.
    • touch: cannot touch ...: Permission denied — каталог экспортирован без опции no_root_squash.

Подготовка worker-узла

В браузере автоматически сгенерировалась пара SSH-ключей для пользователя caps, необходимых для дальнейшей настройки кластера. Сохраните их: они могут понадобиться, если вы захотите добавить дополнительные worker-узлы.

Публичный ключ:

<CAPS_SSH_PUBLIC_KEY>

Приватный ключ:

<CAPS_SSH_PRIVATE_KEY>

При развёртывании тестового окружения на виртуальных машинах (ВМ) включите nested virtualization на гипервизоре для worker-узла. См. требования к установке.

Для дальнейшей настройки создайте пользователя caps, выполнив следующие команды на worker-узле :

  • ОС на базе Ubuntu
  • Для CentOS, Rocky Linux, ALT Linux, РОСА Сервер, РЕД ОС, МОС ОС
export KEY='<CAPS_SSH_PUBLIC_KEY>'
sudo useradd -m -s /bin/bash caps
sudo usermod -aG sudo caps
echo 'caps ALL=(ALL) NOPASSWD: ALL' | sudo EDITOR='tee -a' visudo
sudo mkdir -p /home/caps/.ssh
echo "$KEY" | sudo tee -a /home/caps/.ssh/authorized_keys
sudo chown -R caps:caps /home/caps
sudo chmod 700 /home/caps/.ssh
sudo chmod 600 /home/caps/.ssh/authorized_keys
export KEY='<CAPS_SSH_PUBLIC_KEY>'
sudo useradd -m -s /bin/bash caps
sudo usermod -aG wheel caps
echo 'caps ALL=(ALL) NOPASSWD: ALL' | sudo EDITOR='tee -a' visudo
sudo mkdir -p /home/caps/.ssh
echo "$KEY" | sudo tee -a /home/caps/.ssh/authorized_keys
sudo chown -R caps:caps /home/caps
sudo chmod 700 /home/caps/.ssh
sudo chmod 600 /home/caps/.ssh/authorized_keys

В Astra Linux с Parsec задайте максимальный уровень целостности для caps:

sudo pdpl-user -i 63 caps

Теперь узлы кластера готовы к установке Deckhouse Virtualization Platform.