Добрый день, всех приветствую на этом портале. В этой статье рассмотрим практические вопросы установки гиперконвергентной среды Harvester на bare metal серверы облачного провайдера или в виртуальные серверы для тестирования.
В инструкции по установке рассмотрен линейный процесс с носителем и iso образом. Мы рассмотрим установку внутри виртуальной машины для последующей эксплуатации на bare metal. Установочный образ не всегда распознается провайдером, а запись на флешку или диск занимает значительное время.
Итак, сервер загружен из rescue и доступна консоль.
Скачаем установочный образ:
wget -c
https://releases.rancher.com/harvester/v1.5.1/harvester-v1.5.1-amd64.iso
Запустим загрузку из установочного образа внутри виртуальной машины:
qemu-system-x86_64 -machine pc-q35-5.2 \
-enable-kvm -smp 8 -m 32768 -boot d \
-cdrom ./harvester-v1.5.1-amd64.iso \
-drive file=/dev/sda,format=raw,media=disk,if=virtio \
-vnc :0,password=on -monitor stdio
Где
-m 32768 объем памяти ВМ в мегабайтах
-boot d загрузка из виртуального CDROM
/dev/sda диск, на который будет производиться установка Harvester и с него будет загружен сервер уже без виртуальной машины
Опция -enable-kvm будет доступна только в linux.
Установим пароль для VNC дисплея в qemu monitor:
set_password vnc verycomplexpassword
Для Mac OS при помощи Disk Utility выделите раздел (в примере №4) и команда будет выглядеть так:
sudo qemu-system-x86_64 -machine pc-q35-7.1 \
-smp 8 -m 14000 -boot d \
-cdrom ~/Downloads/harvester-v1.5.1-amd64.iso \
-drive file=/dev/disk4,format=raw,media=disk,if=virtio \
-vnc :0,password=on -monitor stdio
VNC клиент для Mac штатное приложение «Screen Sharing», для IPad RVNC Viewer.
На шаге выбора диска для установки предполагается минимальный объем раздела для системных пакетов и образов контейнеров 150 Гб. В версии 1.5.1 установщик корректно отрабатывал только с размером раздела от 200 Гб. Во время установки выделяется другой раздел для данных виртуальных машин Harvester.

Для контура управления Harvester потребуется выделить еще один IP адрес, который будет использоваться как виртуальный для подключения других узлов кластера.
После установки поменять VIP можно утилитой kubectl.
Под пользователем rancher придется воспользоваться командой sudo su-.
kubectl -n fleet-local patch managedcharts harvester --type=merge --patch='{"spec": {"values": {"service": {"vip": {"ip": "49.12.123.234"}}}}}'
kubectl -n kube-system annotate services ingress-expose
kube-vip.io/loadbalancerIPs=49.12.123.234
--overwrite
Проверить загрузку установленного Harvester
qemu-system-x86_64 -machine pc-q35-5.2 \
-enable-kvm -smp 8 -m 32768 -boot c \
-drive file=/dev/sda,format=raw,media=disk,if=virtio \
-vnc :0,password=on -monitor stdio
Теперь нужно из bare metal среды обновить конфигурацию сети. В данном Enterprise дистрибутиве используется менеджер сети wicked.
Могут пригодиться команды:
ls -l /sys/class/net
lspci
sudo wicked ifstatus all
cat /proc/cmdline
dmesg | grep ifnames
Обновить конфигурацию сети можно, загрузившись из раздела «recovery».

При загрузке из раздела «recovery» используется значение параметра ядра net.ifnames=0, а из раздела по умолчанию «1». Поэтому придется добавить по выбору в запись grub2 загрузки ядра параметр net.ifnames=0 или 1, соответственно.

Перед формированием конфигурации сети удалить файлы предыдущей конфигурации можно командой
sudo rm -rfv /etc/sysconfig/network/ifcfg*
Установить новое наименование сетевого интерфейса в конфигурации Harvester
vi /oem/90_custom.yaml В поиске будет 2 настройки.
Настройки следует повторить на каждом bare metal сервере спроектированного кластера.
Данных действий вместе с официальной инструкцией по установке достаточно для получения работоспособного кластера Harvester.