Задача
Хочу запустить на Android TV-Box HK1 (Amlogic S905X3, 4Gb Ram, 128 Gb MMC) ~ $50 какой-нибудь из kubernetes. Например - легковесный k3s от Rancher.
Сборка Armbian
Я люблю Ubuntu, поэтому - собирать буду её.
При сборке Armbian важно учесть следующее:
- дефолтная корневая файловая система ext4 - довольно небрежно относится к ресурсу накопителя eMMC, а он отвечает ей тем же - часто случается переход системы в ReadOnly, а в журнале можно обнаружить EXT4-fs error. Поэтому - работать надо не на ext4, а, например, на F2FS.
- В дефолтных конфигурациях ядер Armbian выключен модель ядра br_netfilter. То есть - перед сборкой следует его включить. Например, для моего железа, так:
sed -i 's/CONFIG_BRIDGE_NETFILTER=.*$/CONFIG_BRIDGE_NETFILTER=y/' config/kernel/linux-meson-current.config
Я собирал свой образ такой командой:
./compile.sh docker BOARD=odroidc4 BRANCH=current RELEASE=jammy BUILD_MINIMAL=yes BUILD_DESKTOP=no KERNEL_ONLY=no KERNEL_CONFIGURE=no ROOTFS_TYPE=f2fs FIXED_IMAGE_SIZE=32000
Установка k3s
Выполняю локально на самой коробке с Armbian, поэтому в качестве адреса master-хоста указываю 0.0.0.0
apt-get install ansible git sshpass git clone https://github.com/k3s-io/k3s-ansible cd k3s-ansible cp -R inventory/sample inventory/armbian-box cat <<EOF > inventory/armbian-box/hosts.ini [master] 0.0.0.0 [k3s_cluster:children] master EOF sed -i 's/ansible_user:.*/ansible_user: root/' inventory/armbian-box/group_vars/all.yml ansible-playbook site.yml -i inventory/armbian-box/hosts.ini --ask-pass
Discussion