Як встановити Felectra у Hetzner
WARNING: Безпечне завантаження наразі не підтримується.
Якщо ваш сервер налаштовано на використання Secure Boot, вам потрібно вимкнути цю функцію в BIOS. Інакше вона заблокує завантаження сервера після встановлення Talos Linux.
# mokutil --sb-state
SecureBoot disabled
Platform is in Setup Mode
Переведіть сервер у режим відновлення
Увійдіть на сервер за допомогою SSH
Перевірте диски:
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
nvme0n1 259:4 0 476.9G 0 disk
nvme1n1 259:0 0 476.9G 0 disk
WARNING: Наступні команди видалять ваші дані!
Очищення дисків
sfdisk /dev/nvme0n1 --delete
sfdisk /dev/nvme1n1 --delete
wipefs -a /dev/nvme0n1
wipefs -a /dev/nvme1n1
Встановити змінну оточення:
DISK=$(lsblk -dn -o NAME,SIZE,TYPE -e 1,7,11,14,15 | sort | sed -n 1p | awk '{print $1}')
echo "DISK=$DISK"
Завантажте ресурс Talos Linux зі сторінки [releases] Felectra (https://github.com/oblik-io/felectra-cozystack/releases) і запишіть його на диск:
cd /tmp
wget https://github.com/oblik-io/felectra-cozystack/releases/latest/download/nocloud-amd64.raw.xz
xz -d -c /tmp/nocloud-amd64.raw.xz | dd of=«/dev/$DISK» bs=4M oflag=sync
Змініть розмір таблиці розділів і підготуйте додатковий розділ для початкових даних хмари:
# змінити розмір gpt-розділу
sgdisk -e «/dev/$DISK»
# Створіть розділ розміром 20MB в кінці диска
end=$(sgdisk -E «/dev/$DISK»)
sgdisk -n7:$(( $end - 40960 )):$end -t7:ef00 «/dev/$DISK»
# Створюємо файлову систему FAT для cloud-init і монтуємо її
PARTITION=$(sfdisk -d «/dev/$DISK» | awk 'END{print $1}' | awk -F/ '{print $NF}')
mkfs.vfat -n CIDATA «/dev/$PARTITION»
mount «/dev/$PARTITION» /mnt
Встановлення змінних оточення:
INTERFACE_NAME=$(udevadm info -q property /sys/class/net/eth0 | grep "ID_NET_NAME_PATH=" | cut -d'=' -f2)
IP_CIDR=$(ip addr show eth0 | grep "inet\b" | awk '{print $2}')
GATEWAY=$(ip route | grep default | awk '{print $3}')
echo "INTERFACE_NAME=$INTERFACE_NAME"
echo "IP_CIDR=$IP_CIDR"
echo "GATEWAY=$GATEWAY"
Запишіть конфігурацію підключення до хмари:
echo 'local-hostname: talos' > /mnt/meta-data
echo '#cloud-config' > /mnt/user-data
cat > /mnt/network-config <<EOT
version: 2
ethernets:
$INTERFACE_NAME:
dhcp4: false
addresses:
- "${IP_CIDR}"
gateway4: "${GATEWAY}"
nameservers:
addresses: [8.8.8.8]
EOT
Відредагуйте файл network-config і вкажіть параметри мережі за допомогою network-config-format-v2.
Приклад конфігурації Cloud-init при використанні Hetzner vSwitch з ідентифікатором VLAN 4000.
echo 'local-hostname: talos' > /mnt/meta-data
echo '#cloud-config' > /mnt/user-data
cat > /mnt/network-config <<EOT
version: 2
ethernets:
$INTERFACE_NAME:
dhcp4: false
addresses:
- "${IP_CIDR}"
gateway4: "${GATEWAY}"
nameservers:
addresses: [8.8.8.8]
vlans:
vlan4000:
id: 4000
link: $INTERFACE_NAME
mtu: 1400
dhcp4: false
addresses:
- "10.3.3.101/24"
routes:
- to: 10.3.0.0/16
via: 10.3.3.1
EOT
Ви можете знайти більш повний приклад за посиланням
Змонтуйте розділ cloud-init, синхронізуйте зміни і перезавантажте сервер
umount /mnt
sync
reboot
Тепер, коли кластер завантажено в режим обслуговування Talos Linux, ви можете використовувати talos-bootstrap або Talm для бутстрапу кластера
Просто дотримуйтесь інструкції Початок роботи, починаючи з розділу Бутстрап кластер, щоб продовжити встановлення.
WARNING: Якщо у вас виникають проблеми із завантаженням Talos Linux на вашому вузлі, це може бути пов'язано з параметрами послідовної консолі у вашій конфігурації GRUB, console=tty1 console=ttyS0. Спробуйте перезавантажитися у завантажувальний режим і видалити ці опції з конфігурації GRUB на третьому розділі вашої системи
$DISK.