Установка и обновление платформы по iPXE
Установка дистрибутива может осуществляться на bare-metal среду с помощью сервиса PXE. Для этого достаточно скачать необходимые ресурсы установки (например, с помощью генератора образов) и настроить хосты для загрузки по PXE из сети (обычно это делается путем установки порядка загрузки в BIOS).
Конфигурация стенда
Стенд включает сервер сетевой загрузки, master-ноду и worker-ноду.
Характеристики машин, использованных при составлении инструкции:
- CPU: 2 ядра
- RAM: 3072 МБ
- Диск: 25 ГБ
Требования:
- Все машины должны находиться в одной сети.
- В сети не должно быть других устройств, выполняющих функции DHCP-сервера.
- Сервер сетевой загрузки должен иметь доступ к сети Интернет, иначе необходимо заранее скачать требующиеся образы и разместить их на севере локально.
Настройка сервера сетевой загрузки
Ниже описан процесс настройки сервера сетевой загрузки на базе JeOS.
Скачивание ISO-образа
Загрузите ISO-образ JeOS:
# wget https://nightly.altlinux.org/unstable/x86_64/tested/regular-jeos-systemd-latest-x86_64.iso \
-O /var/lib/libvirt/images/metal-amd64.isoУстановка системы
Добавьте ISO-образ в виртуальную машину net-install-server и выполните установку операционной системы.
Настройка системы
После установки системы войдите в систему под учетной записью root, установите пакет dnsmasq и выполните настройку DHCP командой dnsmasq. Для параметра --interface в приведенном примере изспользуется локальная сеть localnetbr0. Если у сервера сетевой загрузки нет доступа в интернет, скачайте и разместите локально iPXE-script, kernel и initramfs:
# dnsmasq --log-queries --interface=localnetbr0 --listen-address=172.16.2.1 --bind-interface --no-daemon --dhcp-range=172.16.2.2,172.16.2.254 --dhcp-option=option:ntp-server,172.16.2.1 --enable-tftp --tftp-root=/srv/tftp --dhcp-option=option:bootfile-name,talos.ipxeИначе, если доступ в интернет у сервера сетевой загрузки не ограничен, то можно указать просто пути к необходимым ресурсам в сети:
# dnsmasq --log-queries --interface=localnetbr0 --listen-address=172.16.2.1 --bind-interface --no-daemon --dhcp-range=172.16.2.2,172.16.2.254 --dhcp-option=option:ntp-server,172.16.2.1 --dhcp-option=option:bootfile-name,https://factory.altlinux.space/pxe/376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba/<VERSION>/<NAME># cat /srv/tftp/talos.ipxe
#!ipxe
imgfree
kernel https://factory.altlinux.space/image/376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba/v11.0/alt-orchestra-11.0-kernel-amd64 talos.platform=metal console=tty0 init_on_alloc=1 slab_nomerge pti=on consoleblank=0 nvme_core.io_timeout=4294967295 printk.devkmsg=on ima_template=ima-ng ima_appraise=fix ima_hash=sha512 selinux=1
initrd https://factory.altlinux.space/image/376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba/v11.0/alt-orchestra-11.0-initramfs-amd64.xz
bootЛибо по аналогии отредактируйте конфигурационный файл данной службы /etc/dnsmasq.conf и перезапустите службу.
# systemctl enable --now dnsmasqЗагрузка артефактов
Перейдите в учетную запись обычного пользователя (например, admin):
# su - adminЗатем загрузите необходимые артефакты для указанной версии:
$ talos-img --get <VERSION>
Проверка установки
Убедитесь, что артефакты загружены корректно, выполнив команду:
$ talos-img
Начальная загрузка с iPXE
После завершения настройки сервера сетевой загрузки выполните перезагрузку master- и worker-нод. При корректной конфигурации сетевой загрузки система должна запуститься автоматически.


Далее следуйте инструкциям, аналогичным процессу установки с использованием ISO-образа.
Примечание: Для успешного выполнения скриптов необходимо обеспечить доступность master- и worker-нод по сети. В некоторых случаях может потребоваться выполнение этих скриптов с сервера сетевой загрузки.
Конфигурация сетевого интерфейса с помощью netboot-talos
Альтернативой является использование пакета netboot-talos с подготовленным заранее аналогичным командным функционалом. Данный пакет находится на beta-поддержке и доступен только в пакетном репозитории ветки sisyphus.
# apt-get update
# apt-get install -y netboot-talosОпределите сетевой интерфейс, используемый для связи с другими машинами в стенде (в данном примере — ens3). Выполните команду для настройки сетевой загрузки:
# netboot-setup --iface=ens3 --talos