Obsah článku
title: "Oprava chýbajúcej 'cgroup' podpory pre K3s na Raspberry Pi OS"
slug: "k3s-raspberry-pi-cgroup-memory-fix"
technologies: ["K3s", "Kubernetes", "Raspberry Pi OS", "Linux Kernel"]
tags: ["k3s", "raspberry-pi", "kubernetes", "troubleshooting", "kernel", "cgroups"]
date_solved: "2025-08-21"
Projekt/Téma: Oprava chýbajúcej cgroup podpory pre K3s na Raspberry Pi OS
-
Cieľ / Problém na vyriešenie: Inštalácia K3s agenta na Raspberry Pi zlyháva, služba
k3s-agent.servicesa nespustí. Inštalačný log hlási chybuFailed to find memory cgroup. Cieľom je správne nakonfigurovať OS, aby K3s mohol fungovať. -
Použité technológie a nástroje:
- Kontajnerová orchestrácia: K3s
- OS: Raspberry Pi OS (novšie verzie)
- Konfigurácia: Bootloader parametre jadra
-
Kľúčové postupy a konfiguračné kroky:
- Pripojiť SD kartu s nainštalovaným OS do hostiteľského PC.
- Pripojiť (mount)
bootpartíciu. - Nájsť a otvoriť na úpravu súbor s parametrami jadra.
- Na koniec jediného riadku v súbore pridať (oddelené medzerou) nasledujúce parametre:
cgroup_enable=memory cgroup_memory=1. - Uložiť súbor, odpojiť kartu a spustiť Raspberry Pi.
-
Výsledné kódy a skripty: Príklad príkazu na pridanie parametrov do správneho súboru (cesta sa môže líšiť podľa mountpointu):
echo " cgroup_enable=memory cgroup_memory=1" | sudo tee -a /media/sido/bootfs/firmware/cmdline.txt -
Zistené problémy a riešenia (Gotchas):
- Problém:
k3s-agentpotrebuje pre svoju funkciu (limitovanie zdrojov kontajnerov) zapnutécgroupspre pamäť, ktoré na defaultnej inštalácii RPi OS nie sú aktívne. - Riešenie: Aktivácia
cgroupspridaním parametrovcgroup_enable=memory cgroup_memory=1do bootovacieho súboru jadra. - Kľúčový Gotcha: Na novších verziách Raspberry Pi OS (vytvorených napr. cez
rpi-imager) sa zmenilo umiestnenie konfiguračného súboru. Úprava/boot/cmdline.txtnemá žiadny efekt. Správny súbor na úpravu je/boot/firmware/cmdline.txt.
- Problém:
-
Finálny výsledok / Záver: Po reštarte s upravenými parametrami jadra systém správne aktivuje
memory cgroups, čo umožní úspešné spustenie službyk3s-agent.servicea pripojenie uzla do Kubernetes klastra.