Образы ОС
Внимание!
Работа GPU возможна только на узлах с ядром linux 6.1+
Перед началом установки подготовьте образы с желаемой ОС. Мы предлагаем два варианта:
- Использовать подготовленный командой Bootsman образ
- Подготовить образ самим в соответствии с нашими инструкциями
Подготовка образа
Создайте инстанс в облаке или гипервизоре и проведите настройку.
Базовые настройки
Выключите SWAP и включите компоненты ядра
swapoff -a && sed -ri '/\sswap\s/s/^#?/#/' /etc/fstab
modprobe overlay && modprobe br_netfilter
mkdir /etc/containerd
cat <<EOF > /etc/sysctl.d/sysctl.conf
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables=1
net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1
net.ipv6.conf.all.disable_ipv6=0
net.ipv4.tcp_congestion_control=bbr
vm.overcommit_memory=1
kernel.panic=10
kernel.panic_on_oops=1
fs.inotify.max_user_instances=8192
fs.inotify.max_user_watches=524288
EOF
cat <<EOF > /etc/modules-load.d/containerd.conf
overlay
br_netfilter
EOF
Отключение брандмауэра
ufw disable
Загрузка kubernetes компонентов
Загрузите с нашего публичного S3-хранилища дополнительные файлы:
- containerd
- k8s_${Kubernetes_Version}/(deb|rpm)/*
Заметка
Kubernetes_Version - соответствует желаемой версии Kubernetes deb - для Astra и Ubuntu rpm - для RedOS
Установка kubernetes компонентов
Установите зависимости kubernetes
apt install -y socat ebtables ethtool conntrack open-iscsi nfs-common
tar -C / -xvf cri-containerd-cni-*.tar.gz
Установите Kubernetes пакеты
for pkg in cri-tools kubernetes-cni kubectl kubelet kubeadm; do
dpkg --install $pkg*.deb
done
apt-mark hold cri-tools kubernetes-cni kubectl kubelet kubeadm
Далее примените изменения в sysctl и включите containerd
sysctl --system
systemctl daemon-reload && systemctl enable containerd && systemctl start containerd
Установите зависимости kubernetes
yum install -y socat ebtables ethtool conntrack iscsi-initiator-utils nfs-utils
systemctl enable iscsid
systemctl start iscsid
tar -C / -xvf cri-containerd-cni-*.tar.gz
Установите Kubernetes пакеты
rpm -U *.$(uname -m).rpm
Далее примените изменения в sysctl и включите containerd
sysctl --system
systemctl daemon-reload && systemctl enable containerd && systemctl start containerd
Дополнительные сетевые настройки
Создайте юнит для автозапуска настроек
cat <<EOF > /etc/systemd/system/ethtool-conf.service
[Unit]
After=network.target
[Service]
ExecStart=/usr/local/bin/ethtool-conf.sh
[Install]
WantedBy=default.target
EOF
Заметка
Используйте имя вашего основного интерфейса вместо ${INTERFACE_NAME}
cat <<EOF > /usr/local/bin/ethtool-conf.sh
#!/bin/bash
ethtool -K ${INTERFACE_NAME} tx-udp_tnl-csum-segmentation off
ethtool -K ${INTERFACE_NAME} tx-udp_tnl-segmentation off
EOF
chmod 744 /usr/local/bin/ethtool-conf.sh
chmod 664 /etc/systemd/system/ethtool-conf.service
systemctl daemon-reload
systemctl enable ethtool-conf.service --now
Настройка Cloud-init
Очистите cloud-init и выключите инстанс
cat /dev/null > /etc/machine-id
cloud-init clean --logs
Установите утилиту cloud-utils-growpart
yum install -y cloud-utils-growpart
Добавьте опцию "prefer_fqdn_over_hostname: false"
echo "prefer_fqdn_over_hostname: false" > /etc/cloud/cloud.cfg.tmp
cat /etc/cloud/cloud.cfg >> /etc/cloud/cloud.cfg.tmp
rm -f /etc/cloud/cloud.cfg
mv /etc/cloud/cloud.cfg.tmp /etc/cloud/cloud.cfg
Включите автозапуск cloud-init
systemctl enable cloud-init-local.service
systemctl enable cloud-init.service
systemctl enable cloud-config.service
systemctl enable cloud-final.service
Очистите cloud-init и выключите инстанс
cat /dev/null > /etc/machine-id
cloud-init clean --logs
Поддержка GPU
Для создания образа с поддержкой GPU для baremetal или vsphere инсталяций потребуются дополнительные настройки
Добавьте дополнительную опцию загрузки ядра: в файл /etc/default/grub, в строку GRUB_CMDLINE_LINUX_DEFAULT=
pci=nocrs,realloc
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="parsec.mac=0 parsec.max_ilev=0 quiet net.ifnames=0 pci=nocrs,realloc"
cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-6.1.90-1-generic root=UUID=c3e1f0eb-c6f9-49fe-b726-f28ff6755df4 ro parsec.mac=0 parsec.max_ilev=0 quiet net.ifnames=0 pci=nocrs,realloc
Выключите машину
shutdown now
Для гипервизора vsphere потребеются дополнительные опции машин в Advanced Parameters
Для этого выберете выключенную машину для образа, заходим в Settings > Advanced Parameters
Добавьте дополнительные параметры
pciPassthru.64bitMMIOSizeGB=128
pciPassthru.use64bitMMIO=TRUE
Создание образа
Выключите машину, если не выключили в рамках настройки GPU
shutdown now
После выключения подготовленного инстанса сконвертируйте его образ. В зависимости от использованного облака, воспользуйтесь инструкцией Yandex или инструкцией VK
Когда статус образа перейдет в статус Ready, подготовленный инстанс можно удалять.
Подготовленные образы операционных систем
Yandex Cloud
Для того, чтобы воспользоваться образами, вам понадобится скопировать их к себе в облако.
Для этого выполните команду:
yc compute image create --name IMAGE_NAME --source-image-id SOURCE_IMAGE_ID --cloud-id bpfj5pch0mue9u8c2ivf
IMAGE_NAMEимя образа, с которым он сохранится у вас в облакеSOURCE_IMAGE_IDid образа из таблицы ниже
| OS | k8s version | id |
|---|---|---|
| Astra linux 1.7 | v1.27.6 | fd8gip2ucbk3h325stb5 |
| Astra linux 1.7 | v1.28.4 | fd88h9tug1m9732jd4sp |
| Astra linux 1.7 | v1.29.3 | fd8l1q6h6mt41otreeeo |
| Astra linux 1.7 | v1.30.7 | fd8dins18t68rnqavlco |
| RedOS 7.3 | v1.27.6 | fd83un107v6icbpuv63s |
| RedOS 7.3 | v1.28.4 | fd8gijdrltjl1fmtekad |
| RedOS 7.3 | v1.29.3 | fd82fg1rni14hfoq6er5 |
| RedOS 7.3 | v1.30.7 | fd8mihcdg7b445sj8u72 |
| RedOS 8.0 | v1.27.6 | fd8hvolj70rfb7rr4ta5 |
| RedOS 8.0 | v1.28.4 | fd8ar983ofo7rrhj314l |
| RedOS 8.0 | v1.29.3 | fd8gscp5pfjcjttsn2ud |
| RedOS 8.0 | v1.30.7 | fd80tfbglqtd1qb7n71m |
| Ubuntu 22.04 | v1.27.6 | fd85vjpmfo6m399go0hi |
| Ubuntu 22.04 | v1.28.4 | fd8msmp711le03rhgejm |
| Ubuntu 22.04 | v1.29.3 | fd85ocn6635rgd15fqlu |
| Ubuntu 22.04 | v1.30.7 | fd8l9eofn9e5kknodj1n |
VK Cloud/vSphere/Brest
Чтобы воспользоваться образами, выберите образ, скачайте, распакуйте и импортируйте в интересующую вас среду.
s3-bucket: https://storage-console.bootsman.host/browser/bootsman-public
path: template-os/vk/